Keep Control UI refresh responsive#79126
Conversation
|
Codex review: needs maintainer review before merge. Summary Reproducibility: no. live browser repro was established in this read-only pass. Source inspection gives a clear current-main path for the reported waits: slow Real behavior proof Next step before merge Security Review detailsBest possible solution: Proceed through normal maintainer review and merge if the responsiveness tradeoffs remain intended, then reassess the linked freeze reports against the landed behavior. Do we have a high-confidence way to reproduce the issue? No live browser repro was established in this read-only pass. Source inspection gives a clear current-main path for the reported waits: slow Is this the best way to solve the issue? Yes, pending maintainer review. The PR narrows the fix to moving slow work off foreground refresh paths while preserving an explicit manual-refresh wait contract, which is safer than a broader virtualization or backend probe redesign in this patch. What I checked:
Likely related people:
Remaining risk / open question:
Codex review notes: model gpt-5.5, reasoning high; reviewed against cde99c3349e9. |
b2a1faf to
f61ff30
Compare
|
Addressed the manual refresh regression called out in the review comment. Summary:
Verification:
|
f61ff30 to
ce1dbe1
Compare
4604fe1 to
fde8745
Compare
|
Performance impact estimate for this PR, based on the changed foreground waits and bounded render work rather than synthetic benchmark numbers:
Net expectation: affected operator actions should feel instant or near-instant when the old blocker was slow history/schema/channel probe work. The largest user-visible wins are in pathological cases: large sessions, slow config schema surfaces, and slow channel status probes. Normal fast paths should be functionally unchanged except for lower render pressure and better diagnostics. Current verification after rebasing onto latest
Re-review progress:
|
Summary
Refs #77060, #45698, #47979, #44107.
Verification
pnpm test ui/src/ui/app-chat.test.ts ui/src/ui/app-settings.refresh-active-tab.node.test.ts ui/src/ui/control-ui-performance.test.ts ui/src/ui/controllers/chat.test.tspnpm exec oxfmt --check --threads=1 ui/src/ui/app-chat.ts ui/src/ui/app-chat.test.ts ui/src/ui/app-settings.ts ui/src/ui/app-settings.refresh-active-tab.node.test.ts ui/src/ui/app-render.ts ui/src/ui/chat/build-chat-items.ts ui/src/ui/chat/history-limits.tsgit diff --check origin/main..HEADNotes
minimumReleaseAgefor@anthropic-ai/sdk.origin/main,OPENCLAW_LOCAL_CHECK=1 pnpm check:changedreaches core typecheck and fails on existing unrelated strictness errors outside this PR (packages/memory-host-sdk,src/agents,src/infra,src/media,src/plugins, etc.). The focused UI tests above pass.