$ the-wire · showcase
Telegram delivery after bot swaps, async ocm upgrades, docs go full width
By RepoJournal · Filed · About OpenClaw · Composed from the cited sources · methodology
Two breaking fixes land in the gateway and Telegram ingress path, ocm turns environment upgrades into reconnectable jobs with a binding guard, and docs gets a full-width layout it has to keep aligned.
fix: preserve Telegram delivery after bot identity changes (#158612) openclaw/openclaw
Telegram used to silently drop messages from a replacement bot whose update IDs overlapped retained ingress rows; the offset reset from an earlier fix never cleared the account's durable queue. Same-bot restarts, same-bot token rotations, and legacy bindings still behave as before. This is a breaking change in the sense that broken delivery resumes, so audit any account that switched bots and r...
fix(gateway): reset staged headers on authority errors (#158669) openclaw/openclaw
The gateway now discards abandoned representation headers before sending a complete 401 or operator-denial 403, sharing the existing 500 preparation and terminal response handling so security/CORS headers and cookie policy survive. If you terminate auth at the gateway, staged headers from a partially built response no longer leak into an error reply. Core/plugin TCP cases were extended to carry...
feat: run environment upgrades as reconnectable jobs openclaw/ocm
An environment upgrade used to hold the invoking CLI until preparation, Gateway downtime, validation, and rollback all finished, with no way to reconnect. `ocm upgrade job start <env>` and `ocm upgrade job status <env>` now run the existing packaged-upgrade operation asynchronously on Unix, returning an OCM request ID so a caller can distinguish this result from a later upgrade.
feat: guard upgrade jobs with an observed binding openclaw/ocm
A client could observe a runtime-bound environment, pick a package upgrade, and submit after that environment was rebound to a launcher or another runtime, since the environment-instance check still matched. An optional condition on the background upgrade commands from the earlier job work lets clients copy the runtime binding they actually observed.
fix: retain upgrade exclusion during final verification openclaw/ocm
An upgrade's final Gateway-status process could outlive its OCM parent and write environment state after another mutation was admitted, because the child-lock protection excluded that verification command. On Linux and macOS the exclusion now holds through final verification. The companion fix keeps native package-upgrade children attached to their environment's mutation lock on Linux and macOS...
feat: report source checkout build identity during upgrades openclaw/ocm
Environments launched from an OpenClaw checkout reported only `local-command` during an upgrade, so operators could not tell the checked-out revision from the revision baked into the built artifact after pulling source without rebuilding. Normal, dry-run, and batch upgrade reports now show the checkout path and both revisions for recognizable source launchers.
perf(sessions): skip empty archive recovery after adoption openclaw/openclaw
Adopting an existing session sent a SQLite worker command to prepare archive exports even with nothing pending; canonical and folded-alias adoption now skip that round trip while pending exports still recover and fresh sessions still leave unrelated failed exports alone.
fix(gateway): keep chat subscriptions stable during unrelated approvals openclaw/openclaw
Chat message subscriptions used to repeat approval queries or fail during approval activity in unrelated sessions, because approval replay relied on one global publication revision. Concurrent viewers can now subscribe without unrelated approval changes discarding their shared replay, with no configuration, permission, schema, or migration changes required.