Skip to content

[codex] Fix Control UI terminal run status recovery#84112

Merged
clawsweeper[bot] merged 2 commits into
mainfrom
clawsweeper/automerge-openclaw-openclaw-84057
May 19, 2026
Merged

[codex] Fix Control UI terminal run status recovery#84112
clawsweeper[bot] merged 2 commits into
mainfrom
clawsweeper/automerge-openclaw-openclaw-84057

Conversation

@clawsweeper

@clawsweeper clawsweeper Bot commented May 19, 2026

Copy link
Copy Markdown
Contributor

Makes #84057 merge-ready for the ClawSweeper automerge loop.
The edit pass should inspect the live PR diff, review comments, and failing checks; rebase if needed; keep the contributor branch credited; and stop only when validation is green or an external blocker is proven.

ClawSweeper 🐠 replacement reef notes:

  • Repair fallback: GitHub rejected the repair branch push because it updates workflow files and the ClawSweeper app token does not have workflows permission

Inherited issue-closing references from the source PR:
Closes #84041

Co-author credit kept:

fish notes: model gpt-5.5, reasoning high; reviewed against f9f503a.

@clawsweeper clawsweeper Bot added app: web-ui App: web-ui size: S clawsweeper:automerge Maintainer opted this PR into bounded ClawSweeper-reviewed automerge proof: supplied External PR includes structured after-fix real behavior proof. proof: sufficient ClawSweeper judged the real behavior proof convincing. P2 Normal backlog priority with limited blast radius. rating: 🐚 platinum hermit Good normal PR readiness with ordinary maintainer review expected. status: 👀 ready for maintainer look ClawSweeper has no concrete contributor-facing blocker left for this PR. clawsweeper Tracked by ClawSweeper automation labels May 19, 2026
@openclaw-barnacle openclaw-barnacle Bot removed the proof: supplied External PR includes structured after-fix real behavior proof. label May 19, 2026
@clawsweeper

clawsweeper Bot commented May 19, 2026

Copy link
Copy Markdown
Contributor Author

Codex review: passed.

Workflow note: Future ClawSweeper reviews update this same comment in place.

How this review workflow works
  • ClawSweeper keeps one durable marker-backed review comment per issue or PR.
  • Re-runs edit this comment so the latest verdict, findings, and automation markers stay together instead of adding duplicate bot comments.
  • A fresh review can be triggered by eligible @clawsweeper re-review comments, exact-item GitHub events, scheduled/background review runs, or manual workflow dispatch.
  • PR/issue authors and users with repository write access can comment @clawsweeper re-review or @clawsweeper re-run on an open PR or issue to request a fresh review only.
  • Maintainers can also comment @clawsweeper review to request a fresh review only.
  • Fresh-review commands do not start repair, autofix, rebase, CI repair, or automerge.
  • Maintainer-only repair and merge flows require explicit commands such as @clawsweeper autofix, @clawsweeper automerge, @clawsweeper fix ci, or @clawsweeper address review.
  • Maintainers can comment @clawsweeper explain to ask for more context, or @clawsweeper stop to stop active automation.

Summary
Adds shared Control UI session-run active-state handling, applies terminal-status precedence in chat/session rendering and lifecycle recovery, and adds focused regressions plus a changelog entry.

Reproducibility: yes. Current main has a source-visible path where status: "done" plus stale hasActiveRun: true keeps abort/in-progress UI alive, and the linked proof exercises the fixed stale-terminal state in Chromium.

PR rating
Overall: 🐚 platinum hermit
Proof: 🐚 platinum hermit
Patch quality: 🐚 platinum hermit
Summary: Focused UI bug fix with sufficient live DOM proof, targeted regressions, and no blocking findings.

Rank-up moves:

  • none
What the crustacean ranks mean
  • 🦀 challenger crab: rare, exceptional readiness with strong proof, clean implementation, and convincing validation.
  • 🦞 diamond lobster: very strong readiness with only minor maintainer review expected.
  • 🐚 platinum hermit: good normal PR, likely mergeable with ordinary maintainer review.
  • 🦐 gold shrimp: useful signal, but proof or patch confidence is still limited.
  • 🦪 silver shellfish: thin signal; proof, validation, or implementation needs work.
  • 🧂 unranked krab: not merge-ready because proof is missing/unusable or there are serious correctness or safety concerns.
  • 🌊 off-meta tidepool: rating does not apply to this item.

Shiny media proof means a screenshot, video, or linked artifact directly shows the changed behavior. Runtime, network, CSP, and security claims still need visible diagnostics.

PR egg
✨ Hatched: 🥚 common Cosmic Clawlet

       /\  .---.  /\         
      /  \/     \/  \        
     /   ( -   - )   \       
    |       ._.       |      
    |   /|  ===  |\   |      
     \  \|______/|/  /       
      '._  `--'  _.'         
         '-.__.-'            
       _/|_|  |_|\_          
      /__|      |__\         
       .-----------.         
      '-------------'        

Rarity: 🥚 common.
Trait: polishes edge cases.
Share on X: post this hatch
Copy: My PR egg hatched a 🥚 common Cosmic Clawlet in ClawSweeper.

What is this egg doing here?
  • Eggs appear after the PR passes real-behavior proof. It is here for vibes, not verdicts: it does not change labels, ratings, merge decisions, or automation.
  • The shell reacts to review momentum: open follow-up work warms it up, re-review makes it wobble, and a clean final review lets it hatch.
  • How to hatch it: reach status: 👀 ready for maintainer look or status: 🚀 automerge armed; that usually means sufficient real-behavior proof, no blocking P0/P1/P2 findings, no security attention needed, and clean correctness.
  • The hatch is seeded from this repository and PR number, so the same PR keeps the same creature; the reviewed head SHA can only change safe visual details.
  • Rarity is just collectible sparkle: 🥚 common, 🌱 uncommon, 💎 rare, ✨ glimmer, and 🌈 legendary.

Real behavior proof
Sufficient (live_output): The linked source PR supplies after-fix Chromium render/live DOM output showing the stale terminal state returns to Done and hides stale active UI.

Mantis proof suggestion
A short visible Control UI capture would be useful supplementary proof for the Done, Stop, reading, and Compact state transition. A maintainer can ask Mantis to capture proof by posting a new PR comment that starts with the OpenClaw Mantis account mention, followed by:

visual task: verify Control UI renders Done, hides Stop/reading UI, and enables Compact for a completed run with stale hasActiveRun true.

Risk before merge
Why this matters: - The proof is a real Chromium render of the stale terminal state, not a live round-trip through the reporter's custom local provider.

Maintainer options:

  1. Decide the mitigation before merge
    Merge this focused UI status-precedence fix after exact-head checks and maintainer/automerge gates, then close the linked stuck-status bug when it lands.
  2. Pause or close
    Do not merge this PR until maintainers decide whether the risk is worth taking.

Next step before merge
No repair lane is needed; the PR has no actionable review findings and is already opted into exact-head automerge.

Security
Cleared: The diff is limited to Control UI TypeScript, tests, and changelog text with no dependency, workflow, secret, install, or supply-chain surface changed.

Review details

Best possible solution:

Merge this focused UI status-precedence fix after exact-head checks and maintainer/automerge gates, then close the linked stuck-status bug when it lands.

Do we have a high-confidence way to reproduce the issue?

Yes. Current main has a source-visible path where status: "done" plus stale hasActiveRun: true keeps abort/in-progress UI alive, and the linked proof exercises the fixed stale-terminal state in Chromium.

Is this the best way to solve the issue?

Yes. A shared helper that treats status: "running" as the only active status is a narrow maintainable fix for the affected chat lifecycle and session badge paths.

Label justifications:

  • P2: This is a normal-priority Control UI bug fix for stale run/session state with limited blast radius and no core runtime outage.

What I checked:

  • Linked bug and replacement context: The linked bug report describes webchat remaining in thinking/in-progress after completion, and this PR body identifies itself as the writable replacement for [codex] Fix Control UI terminal run status recovery #84057, which was closed after this credited replacement opened. (f9f503add0ab)
  • Current main abortability source path: Current main treats a session as abortable from raw hasActiveRun === true once chatRunId is absent, which matches the stale active-run failure mode. (ui/src/ui/app-chat.ts:101, 4e60ad721209)
  • Current main chat UI source path: Current main converts any abortable state into an in-progress composer status and disables compaction from props.canAbort, so stale abortability can mask terminal status and keep context UI busy. (ui/src/ui/views/chat.ts:982, 4e60ad721209)
  • Current main lifecycle recovery source path: Current main returns early from terminal run reconciliation when hasActiveRun === true, even if the same row has a terminal status such as done. (ui/src/ui/chat/run-lifecycle.ts:197, 4e60ad721209)
  • PR implementation: The PR adds isSessionRunActive so a present status is authoritative and only status: "running" is active, then uses it in chat abortability, lifecycle recovery, and session status/filtering paths. (ui/src/ui/session-run-state.ts:8, f9f503add0ab)
  • PR regression coverage: The diff adds tests for stale active flags with terminal status in abortability, chat rendering, session badges, filtering, and session refresh recovery. (ui/src/ui/views/chat.test.ts:559, f9f503add0ab)

Likely related people:

  • Firas Alswihry: Local blame for the affected chat abortability, lifecycle recovery, and session badge lines points to a9eaf0c, a recent Control UI no-fake-progress commit touching these files. (role: recent current-main contributor; confidence: medium; commits: a9eaf0c99381; files: ui/src/ui/app-chat.ts, ui/src/ui/chat/run-lifecycle.ts, ui/src/ui/views/chat.ts)
  • steipete: The prior ClawSweeper review of the source PR identified recent blame and heavy work in the affected chat/session run-status paths. (role: recent adjacent Control UI contributor; confidence: medium; commits: 8aff1807fa65, 50a2481652b6; files: ui/src/ui/app-chat.ts, ui/src/ui/chat/run-lifecycle.ts, ui/src/ui/views/chat.ts)
  • Val Alexander: The source PR review history tied Val to major Control UI and multi-session rendering work adjacent to the files changed here. (role: adjacent UI feature owner; confidence: medium; commits: f76a3c5225bb, 36c6d44eca05; files: ui/src/ui/app-chat.ts, ui/src/ui/views/chat.ts, ui/src/ui/views/sessions.ts)

Codex review notes: model gpt-5.5, reasoning high; reviewed against 4e60ad721209.

@clawsweeper

clawsweeper Bot commented May 19, 2026

Copy link
Copy Markdown
Contributor Author

🦞✅
ClawSweeper merged this PR after the passing review.

Source: clawsweeper[bot]
Feedback: structured ClawSweeper verdict: pass (sha=f9f503add0abb2a07e47224e863cd5f612658aec)
Merge status: merged by ClawSweeper automerge
Merged at: 2026-05-19T11:56:10Z
Merge commit: 03d774d6d8be

What merged:

  • Adds shared Control UI session-run active-state handling, applies terminal-status precedence in chat/session rendering and lifecycle recovery, and adds focused regressions plus a changelog entry.
  • Reproducibility: yes. Current main has a source-visible path where status: "done" plus stale `hasActiveRun ... eeps abort/in-progress UI alive, and the linked proof exercises the fixed stale-terminal state in Chromium.

Automerge notes:

  • PR branch already contained follow-up commit before automerge: [codex] Fix Control UI terminal run status recovery

The automerge loop is complete.

Automerge progress:

  • 2026-05-19 11:48:55 UTC review queued f9f503add0ab (queued)
  • 2026-05-19 11:55:58 UTC review passed f9f503add0ab (structured ClawSweeper verdict: pass (sha=f9f503add0abb2a07e47224e863cd5f612658...)
  • 2026-05-19 11:56:12 UTC merged f9f503add0ab (merged by ClawSweeper automerge)

@clawsweeper clawsweeper Bot added status: 🚀 automerge armed This PR is in ClawSweeper's automerge lane. and removed status: 👀 ready for maintainer look ClawSweeper has no concrete contributor-facing blocker left for this PR. labels May 19, 2026
@clawsweeper clawsweeper Bot merged commit 03d774d into main May 19, 2026
146 of 158 checks passed
@clawsweeper clawsweeper Bot deleted the clawsweeper/automerge-openclaw-openclaw-84057 branch May 19, 2026 11:56
markfietje pushed a commit to markfietje/openclaw that referenced this pull request May 20, 2026
Summary:
- Adds shared Control UI session-run active-state handling, applies terminal-status precedence in chat/session rendering and lifecycle recovery, and adds focused regressions plus a changelog entry.
- Reproducibility: yes. Current main has a source-visible path where `status: "done"` plus stale `hasActiveRun ... eeps abort/in-progress UI alive, and the linked proof exercises the fixed stale-terminal state in Chromium.

Automerge notes:
- PR branch already contained follow-up commit before automerge: [codex] Fix Control UI terminal run status recovery

Validation:
- ClawSweeper review passed for head f9f503add0abb2a07e47224e863cd5f612658aec.
- Required merge gates passed before the squash merge.

Prepared head SHA: f9f503add0abb2a07e47224e863cd5f612658aec
Review: openclaw/openclaw#84112 (comment)

Co-authored-by: NianJiuZst <3235467914@qq.com>
Co-authored-by: clawsweeper <274271284+clawsweeper[bot]@users.noreply.github.com>
Co-authored-by: clawsweeper[bot] <274271284+clawsweeper[bot]@users.noreply.github.com>
Approved-by: takhoffman
Co-authored-by: takhoffman <781889+takhoffman@users.noreply.github.com>
markfietje pushed a commit to markfietje/openclaw that referenced this pull request May 20, 2026
Summary:
- Adds shared Control UI session-run active-state handling, applies terminal-status precedence in chat/session rendering and lifecycle recovery, and adds focused regressions plus a changelog entry.
- Reproducibility: yes. Current main has a source-visible path where `status: "done"` plus stale `hasActiveRun ... eeps abort/in-progress UI alive, and the linked proof exercises the fixed stale-terminal state in Chromium.

Automerge notes:
- PR branch already contained follow-up commit before automerge: [codex] Fix Control UI terminal run status recovery

Validation:
- ClawSweeper review passed for head f9f503add0abb2a07e47224e863cd5f612658aec.
- Required merge gates passed before the squash merge.

Prepared head SHA: f9f503add0abb2a07e47224e863cd5f612658aec
Review: openclaw/openclaw#84112 (comment)

Co-authored-by: NianJiuZst <3235467914@qq.com>
Co-authored-by: clawsweeper <274271284+clawsweeper[bot]@users.noreply.github.com>
Co-authored-by: clawsweeper[bot] <274271284+clawsweeper[bot]@users.noreply.github.com>
Approved-by: takhoffman
Co-authored-by: takhoffman <781889+takhoffman@users.noreply.github.com>
SebTardif pushed a commit to SebTardif/openclaw that referenced this pull request May 24, 2026
Summary:
- Adds shared Control UI session-run active-state handling, applies terminal-status precedence in chat/session rendering and lifecycle recovery, and adds focused regressions plus a changelog entry.
- Reproducibility: yes. Current main has a source-visible path where `status: "done"` plus stale `hasActiveRun ... eeps abort/in-progress UI alive, and the linked proof exercises the fixed stale-terminal state in Chromium.

Automerge notes:
- PR branch already contained follow-up commit before automerge: [codex] Fix Control UI terminal run status recovery

Validation:
- ClawSweeper review passed for head f9f503a.
- Required merge gates passed before the squash merge.

Prepared head SHA: f9f503a
Review: openclaw#84112 (comment)

Co-authored-by: NianJiuZst <3235467914@qq.com>
Co-authored-by: clawsweeper <274271284+clawsweeper[bot]@users.noreply.github.com>
Co-authored-by: clawsweeper[bot] <274271284+clawsweeper[bot]@users.noreply.github.com>
Approved-by: takhoffman
Co-authored-by: takhoffman <781889+takhoffman@users.noreply.github.com>
SebTardif pushed a commit to SebTardif/openclaw that referenced this pull request May 24, 2026
Summary:
- Adds shared Control UI session-run active-state handling, applies terminal-status precedence in chat/session rendering and lifecycle recovery, and adds focused regressions plus a changelog entry.
- Reproducibility: yes. Current main has a source-visible path where `status: "done"` plus stale `hasActiveRun ... eeps abort/in-progress UI alive, and the linked proof exercises the fixed stale-terminal state in Chromium.

Automerge notes:
- PR branch already contained follow-up commit before automerge: [codex] Fix Control UI terminal run status recovery

Validation:
- ClawSweeper review passed for head f9f503a.
- Required merge gates passed before the squash merge.

Prepared head SHA: f9f503a
Review: openclaw#84112 (comment)

Co-authored-by: NianJiuZst <3235467914@qq.com>
Co-authored-by: clawsweeper <274271284+clawsweeper[bot]@users.noreply.github.com>
Co-authored-by: clawsweeper[bot] <274271284+clawsweeper[bot]@users.noreply.github.com>
Approved-by: takhoffman
Co-authored-by: takhoffman <781889+takhoffman@users.noreply.github.com>
SebTardif pushed a commit to SebTardif/openclaw that referenced this pull request May 24, 2026
Summary:
- Adds shared Control UI session-run active-state handling, applies terminal-status precedence in chat/session rendering and lifecycle recovery, and adds focused regressions plus a changelog entry.
- Reproducibility: yes. Current main has a source-visible path where `status: "done"` plus stale `hasActiveRun ... eeps abort/in-progress UI alive, and the linked proof exercises the fixed stale-terminal state in Chromium.

Automerge notes:
- PR branch already contained follow-up commit before automerge: [codex] Fix Control UI terminal run status recovery

Validation:
- ClawSweeper review passed for head f9f503a.
- Required merge gates passed before the squash merge.

Prepared head SHA: f9f503a
Review: openclaw#84112 (comment)

Co-authored-by: NianJiuZst <3235467914@qq.com>
Co-authored-by: clawsweeper <274271284+clawsweeper[bot]@users.noreply.github.com>
Co-authored-by: clawsweeper[bot] <274271284+clawsweeper[bot]@users.noreply.github.com>
Approved-by: takhoffman
Co-authored-by: takhoffman <781889+takhoffman@users.noreply.github.com>
github-actions Bot pushed a commit to Desicool/openclaw that referenced this pull request May 24, 2026
Summary:
- Adds shared Control UI session-run active-state handling, applies terminal-status precedence in chat/session rendering and lifecycle recovery, and adds focused regressions plus a changelog entry.
- Reproducibility: yes. Current main has a source-visible path where `status: "done"` plus stale `hasActiveRun ... eeps abort/in-progress UI alive, and the linked proof exercises the fixed stale-terminal state in Chromium.

Automerge notes:
- PR branch already contained follow-up commit before automerge: [codex] Fix Control UI terminal run status recovery

Validation:
- ClawSweeper review passed for head f9f503a.
- Required merge gates passed before the squash merge.

Prepared head SHA: f9f503a
Review: openclaw#84112 (comment)

Co-authored-by: NianJiuZst <3235467914@qq.com>
Co-authored-by: clawsweeper <274271284+clawsweeper[bot]@users.noreply.github.com>
Co-authored-by: clawsweeper[bot] <274271284+clawsweeper[bot]@users.noreply.github.com>
Approved-by: takhoffman
Co-authored-by: takhoffman <781889+takhoffman@users.noreply.github.com>
galiniliev pushed a commit to galiniliev/openclaw that referenced this pull request May 25, 2026
Summary:
- Adds shared Control UI session-run active-state handling, applies terminal-status precedence in chat/session rendering and lifecycle recovery, and adds focused regressions plus a changelog entry.
- Reproducibility: yes. Current main has a source-visible path where `status: "done"` plus stale `hasActiveRun ... eeps abort/in-progress UI alive, and the linked proof exercises the fixed stale-terminal state in Chromium.

Automerge notes:
- PR branch already contained follow-up commit before automerge: [codex] Fix Control UI terminal run status recovery

Validation:
- ClawSweeper review passed for head f9f503a.
- Required merge gates passed before the squash merge.

Prepared head SHA: f9f503a
Review: openclaw#84112 (comment)

Co-authored-by: NianJiuZst <3235467914@qq.com>
Co-authored-by: clawsweeper <274271284+clawsweeper[bot]@users.noreply.github.com>
Co-authored-by: clawsweeper[bot] <274271284+clawsweeper[bot]@users.noreply.github.com>
Approved-by: takhoffman
Co-authored-by: takhoffman <781889+takhoffman@users.noreply.github.com>
SebTardif pushed a commit to SebTardif/openclaw that referenced this pull request May 26, 2026
Summary:
- Adds shared Control UI session-run active-state handling, applies terminal-status precedence in chat/session rendering and lifecycle recovery, and adds focused regressions plus a changelog entry.
- Reproducibility: yes. Current main has a source-visible path where `status: "done"` plus stale `hasActiveRun ... eeps abort/in-progress UI alive, and the linked proof exercises the fixed stale-terminal state in Chromium.

Automerge notes:
- PR branch already contained follow-up commit before automerge: [codex] Fix Control UI terminal run status recovery

Validation:
- ClawSweeper review passed for head f9f503a.
- Required merge gates passed before the squash merge.

Prepared head SHA: f9f503a
Review: openclaw#84112 (comment)

Co-authored-by: NianJiuZst <3235467914@qq.com>
Co-authored-by: clawsweeper <274271284+clawsweeper[bot]@users.noreply.github.com>
Co-authored-by: clawsweeper[bot] <274271284+clawsweeper[bot]@users.noreply.github.com>
Approved-by: takhoffman
Co-authored-by: takhoffman <781889+takhoffman@users.noreply.github.com>
SebTardif pushed a commit to SebTardif/openclaw that referenced this pull request May 26, 2026
Summary:
- Adds shared Control UI session-run active-state handling, applies terminal-status precedence in chat/session rendering and lifecycle recovery, and adds focused regressions plus a changelog entry.
- Reproducibility: yes. Current main has a source-visible path where `status: "done"` plus stale `hasActiveRun ... eeps abort/in-progress UI alive, and the linked proof exercises the fixed stale-terminal state in Chromium.

Automerge notes:
- PR branch already contained follow-up commit before automerge: [codex] Fix Control UI terminal run status recovery

Validation:
- ClawSweeper review passed for head f9f503a.
- Required merge gates passed before the squash merge.

Prepared head SHA: f9f503a
Review: openclaw#84112 (comment)

Co-authored-by: NianJiuZst <3235467914@qq.com>
Co-authored-by: clawsweeper <274271284+clawsweeper[bot]@users.noreply.github.com>
Co-authored-by: clawsweeper[bot] <274271284+clawsweeper[bot]@users.noreply.github.com>
Approved-by: takhoffman
Co-authored-by: takhoffman <781889+takhoffman@users.noreply.github.com>
SebTardif pushed a commit to SebTardif/openclaw that referenced this pull request May 26, 2026
Summary:
- Adds shared Control UI session-run active-state handling, applies terminal-status precedence in chat/session rendering and lifecycle recovery, and adds focused regressions plus a changelog entry.
- Reproducibility: yes. Current main has a source-visible path where `status: "done"` plus stale `hasActiveRun ... eeps abort/in-progress UI alive, and the linked proof exercises the fixed stale-terminal state in Chromium.

Automerge notes:
- PR branch already contained follow-up commit before automerge: [codex] Fix Control UI terminal run status recovery

Validation:
- ClawSweeper review passed for head f9f503a.
- Required merge gates passed before the squash merge.

Prepared head SHA: f9f503a
Review: openclaw#84112 (comment)

Co-authored-by: NianJiuZst <3235467914@qq.com>
Co-authored-by: clawsweeper <274271284+clawsweeper[bot]@users.noreply.github.com>
Co-authored-by: clawsweeper[bot] <274271284+clawsweeper[bot]@users.noreply.github.com>
Approved-by: takhoffman
Co-authored-by: takhoffman <781889+takhoffman@users.noreply.github.com>
jameslcowan pushed a commit to jameslcowan/openclaw that referenced this pull request Jun 2, 2026
Summary:
- Adds shared Control UI session-run active-state handling, applies terminal-status precedence in chat/session rendering and lifecycle recovery, and adds focused regressions plus a changelog entry.
- Reproducibility: yes. Current main has a source-visible path where `status: "done"` plus stale `hasActiveRun ... eeps abort/in-progress UI alive, and the linked proof exercises the fixed stale-terminal state in Chromium.

Automerge notes:
- PR branch already contained follow-up commit before automerge: [codex] Fix Control UI terminal run status recovery

Validation:
- ClawSweeper review passed for head f9f503a.
- Required merge gates passed before the squash merge.

Prepared head SHA: f9f503a
Review: openclaw#84112 (comment)

Co-authored-by: NianJiuZst <3235467914@qq.com>
Co-authored-by: clawsweeper <274271284+clawsweeper[bot]@users.noreply.github.com>
Co-authored-by: clawsweeper[bot] <274271284+clawsweeper[bot]@users.noreply.github.com>
Approved-by: takhoffman
Co-authored-by: takhoffman <781889+takhoffman@users.noreply.github.com>
SYU8384 pushed a commit to SYU8384/openclaw that referenced this pull request Jun 3, 2026
Summary:
- Adds shared Control UI session-run active-state handling, applies terminal-status precedence in chat/session rendering and lifecycle recovery, and adds focused regressions plus a changelog entry.
- Reproducibility: yes. Current main has a source-visible path where `status: "done"` plus stale `hasActiveRun ... eeps abort/in-progress UI alive, and the linked proof exercises the fixed stale-terminal state in Chromium.

Automerge notes:
- PR branch already contained follow-up commit before automerge: [codex] Fix Control UI terminal run status recovery

Validation:
- ClawSweeper review passed for head f9f503a.
- Required merge gates passed before the squash merge.

Prepared head SHA: f9f503a
Review: openclaw#84112 (comment)

Co-authored-by: NianJiuZst <3235467914@qq.com>
Co-authored-by: clawsweeper <274271284+clawsweeper[bot]@users.noreply.github.com>
Co-authored-by: clawsweeper[bot] <274271284+clawsweeper[bot]@users.noreply.github.com>
Approved-by: takhoffman
Co-authored-by: takhoffman <781889+takhoffman@users.noreply.github.com>
sablehead pushed a commit to sablehead/openclaw that referenced this pull request Jun 10, 2026
Summary:
- Adds shared Control UI session-run active-state handling, applies terminal-status precedence in chat/session rendering and lifecycle recovery, and adds focused regressions plus a changelog entry.
- Reproducibility: yes. Current main has a source-visible path where `status: "done"` plus stale `hasActiveRun ... eeps abort/in-progress UI alive, and the linked proof exercises the fixed stale-terminal state in Chromium.

Automerge notes:
- PR branch already contained follow-up commit before automerge: [codex] Fix Control UI terminal run status recovery

Validation:
- ClawSweeper review passed for head f9f503a.
- Required merge gates passed before the squash merge.

Prepared head SHA: f9f503a
Review: openclaw#84112 (comment)

Co-authored-by: NianJiuZst <3235467914@qq.com>
Co-authored-by: clawsweeper <274271284+clawsweeper[bot]@users.noreply.github.com>
Co-authored-by: clawsweeper[bot] <274271284+clawsweeper[bot]@users.noreply.github.com>
Approved-by: takhoffman
Co-authored-by: takhoffman <781889+takhoffman@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

app: web-ui App: web-ui clawsweeper:automerge Maintainer opted this PR into bounded ClawSweeper-reviewed automerge clawsweeper Tracked by ClawSweeper automation P2 Normal backlog priority with limited blast radius. proof: sufficient ClawSweeper judged the real behavior proof convincing. rating: 🐚 platinum hermit Good normal PR readiness with ordinary maintainer review expected. size: S status: 🚀 automerge armed This PR is in ClawSweeper's automerge lane.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Bug]: Webchat UI stuck in "thinking/in progress" state after LLM response completes

1 participant