fix: reload pending approvals after control ui reconnect#98524
fix: reload pending approvals after control ui reconnect#98524haruaiclone-droid wants to merge 1 commit into
Conversation
|
Codex review: needs real behavior proof before merge. Reviewed July 1, 2026, 6:04 AM ET / 10:04 UTC. Summary PR surface: Source +2, Tests +49. Total +51 across 4 files. Reproducibility: yes. source-reproducible but not live-run: current main's hello path applies the snapshot and handles approval events, while the approval-list RPC handlers exist separately and are not called during reconnect. Review metrics: 1 noteworthy metric.
Root-cause cluster Members:
Proposal only: this assessment does not dispatch repair, suppress jobs, mutate sibling items, close, or merge anything. Merge readiness Overall follows the weaker of proof and patch quality, so missing proof can cap an otherwise strong patch. Rank-up moves:
Proof guidance:
Proof path suggestion Risk before merge
Maintainer options:
Next step before merge
Security Review findings
Review detailsBest possible solution: Keep the existing approval refresh helper as the owner, but invoke it from reconnect with an active-client guard and add redacted real behavior proof for the Control UI reconnect flow. Do we have a high-confidence way to reproduce the issue? Yes, source-reproducible but not live-run: current main's hello path applies the snapshot and handles approval events, while the approval-list RPC handlers exist separately and are not called during reconnect. Is this the best way to solve the issue? No as submitted. Calling the existing approval refresh helper on hello is the right boundary, but the PR needs an active-client guard before applying refreshed state. Full review comments:
Overall correctness: patch is incorrect AGENTS.md: found and applied where relevant. Codex review notes: model internal, reasoning high; reviewed against aa91c9d4a950. Label changesLabel justifications:
Evidence reviewedPR surface: Source +2, Tests +49. Total +51 across 4 files. View PR surface stats
What I checked:
Likely related people:
What the crustacean ranks mean
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. How this review workflow works
|
|
Superseded by #102745 in deb7faf. The old Thanks @haruaiclone-droid for identifying the missing reconnect hydration and contributing the initial fix. Closing as superseded. |
Fixes #98523
Summary
Tests
node scripts/run-with-env.mjs OPENCLAW_VITEST_MAX_WORKERS=1 OPENCLAW_VITEST_NO_OUTPUT_TIMEOUT_MS=300000 -- node scripts/run-vitest.mjs run --config test/vitest/vitest.ui.config.ts ui/src/ui/app-gateway.node.test.ts ui/src/ui/app-gateway-chat-load.node.test.ts ui/src/ui/app-gateway.sessions.node.test.ts --testTimeout=30000 --reporter=dotgit diff --check