openclaw/apps
Peter Steinberger 6b16949e8c
fix(codex): keep catalog actions bound to their source (#151854)
* fix(codex): keep catalog actions on the selected native session

Keep stop and steer on the active client, settle native fork ownership under
the binding lease, and retain canceled resume reservations until cleanup has
settled. Preserve ordered inbound images and confirm native thread absence
through an authoritative read.

Require current source support for node catalog continuation, scope resume
reservations by canonical store and thread, and preserve source identity
through terminal routing. Older nodes retain readable catalogs and unqualified
slash-command bindings; catalog continuation requires the upgraded capability.

Production delta: +95 net lines. Focused proof: 1,200 passing cases across 27
files with one Windows-specific skip. Official P2 review 5 covers the original
67-file snapshot; review 7 covers the exact final five-file follow-up. Both are
scoped-clean. The unchanged CLI test-support core-lint error is recorded in the
handoff; final composed CI, live proof, and screenshot publication remain with
the integration owner.

* fix(codex): keep captured homes stable across alias changes

Capture the physical agent directory and Codex home once per config
generation, including missing home leaves, and carry that prepared path
through native startup and bound CLI resume. A client restart cannot
follow a retargeted alias under an older source-home identity.

Preserve requested home ownership while aligning cache and fence keys,
native config reads, skill isolation, and binding rotation with the
captured path. Configuration reload remains the invalidation boundary.

Validation: four intended original-code failures; 503 focused and
sibling cases pass across ten files. Extension types, changed lint,
formatting, line caps, and independent scoped P2 review pass.

* test(codex): align integration fixtures with runtime contracts

Load Codex metadata through the core manifest owner in the broker
cancellation integration test, preserving the core/plugin boundary.

Match refreshed quota-fixture lifetime to its existing fixed JWT expiry
so the healthy-status assertion respects the CLI warning window.
Resolve the Swift TLS retry endpoint from its updated stored pin.

Preserve behavioral assertions, production thresholds, and timeouts.
Validation: 11 boundary/broker cases, test-root types/lint, formatting,
line caps, and scoped P2 review pass. All three quota UI replay cases
pass on the verified integration runtime; native Swift CI remains the
execution proof for the final candidate.

* fix(plugins): preserve reactivated registries during retirement

Recheck registry liveness after asynchronous command draining before
marking a no-host-cleanup registry retired. A temporary registry can
restore the previous one while displaced cleanup is still pending.

Also collect widget dropdown rows and computed fonts in one browser
evaluation so a removed loading row cannot corrupt the typography
assertion. Keep the existing full-font equality assertion unchanged.

Validation: scoped P2 reviews, physical core production types, targeted
core test graph types, 28 catalog registry/broker cases, 37 registry
owner/sibling cases, 43 original-order QA/prompt/Copilot cases, and
4 normal plus 15 bounded timing browser cases pass.

* refactor(ui): deduplicate catalog key parsing

Normalize catalog URL fields together and keep empty-component rejection in the decoded key validation. Preserve routing and source-home identity while reducing the startup bundle without changing performance limits.
2026-09-19 02:32:25 -07:00
..
.i18n fix(macos): show live status for connected saved gateways (#152638) 2026-09-19 01:29:52 -07:00
android feat: show favicons and social previews on browser cards (#152324) 2026-09-19 02:07:27 -07:00
ios refactor: simplify runtime adapters and remove obsolete code (#152277) 2026-09-18 19:35:45 -07:00
linux feat(rust): add shared gateway client and node host (#116050) 2026-09-16 11:11:17 -07:00
macos fix(codex): keep catalog actions bound to their source (#151854) 2026-09-19 02:32:25 -07:00
macos-mlx-tts chore(deps): refresh dependencies with seven-day cutoff (#149908) 2026-09-16 09:06:40 -07:00
mobile feat(mobile): add dedicated version contract (#136366) 2026-09-03 04:53:27 +08:00
shared fix: recover suggested tasks with an invalid worktree source (#152522) 2026-09-19 00:40:23 -07:00
swabble fix: Swabble rejects executable paths and ignores file options (#140291) 2026-09-06 10:41:20 -07:00