fix(ui): bind stale run state to run identity#100527
Merged
Merged
Conversation
Co-authored-by: Tiffany Chum <[email protected]>
Contributor
|
ClawSweeper status: review started. I am starting a fresh review of this pull request: fix(ui): bind stale run state to run identity This is item 1/1 in the current shard. Shard 0/1. This placeholder means the worker is alive and reading the current context. I will edit this same comment with the actual review when the claws are done clicking. Crustacean status: shell secured, claws on keyboard, evidence pebbles being sorted. |
Contributor
Author
|
Land-ready maintainer pass complete on Verification:
No known proof gaps for the touched Gateway and Control UI run-lifecycle surface. |
Contributor
Author
|
Merged via squash.
|
24 tasks
github-actions Bot
pushed a commit
to Desicool/openclaw
that referenced
this pull request
Jul 6, 2026
Co-authored-by: Tiffany Chum <[email protected]>
giodl73-repo
pushed a commit
to giodl73-repo/openclaw
that referenced
this pull request
Jul 8, 2026
Co-authored-by: Tiffany Chum <[email protected]>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What Problem This Solves
The Control UI could switch the composer back to Stop after a run had completed when delayed session publications repeated stale active state. The original timer-based proposal could also hide a genuinely newer run.
Fixes #88033. Supersedes #91680 after its contributor fork could not retain clean rebased ancestry; contributor credit is preserved through co-authorship and the maintainer release-note batch.
Why This Change Was Made
Gateway session list, history, mutation, transcript, and lifecycle projections now carry deterministic visible active-run IDs. The Control UI records the exact locally completed run ID and suppresses only a stale publication for that same run. Newer, missing, ambiguous, and terminal session states remain conservative.
This removes timestamp-ordering and timeout guesses. The Gateway owns run identity; the UI consumes that fact instead of inferring freshness from clocks.
User Impact
After a reply completes, the composer remains on Send even if delayed session state repeats that completed run. A real follow-up run still switches the composer to Stop immediately.
Evidence
tbx_01kwt3gy25f6vrxsven71k22mz: 284 focused Gateway test executions, 248 focused Control UI tests, and Chromium E2E 1/1 passed.pnpm check:changedandpnpm buildpassed on Testbox.git diff --checkpassed.One focused maintainer commit; original contributor preserved with
Co-authored-by: Tiffany Chum <[email protected]>.AI-assisted: Yes (Codex).