Conversation
…n toggle Cancel key (`x`) now adjusts cursor to the next visible job when hide-addressed is active, matching the behavior of the addressed key. Addressed toggle (`a`) now optimistically updates jobStats so the status bar reflects changes immediately without waiting for the next poll cycle. Both queue-view and review-view paths are covered. Fixes #262, fixes #265. Co-Authored-By: Claude Opus 4.6 <[email protected]>
roborev: Combined ReviewVerdict: Medium
Synthesized from 4 reviews (agents: codex, gemini | types: security, default) |
The rollback handler restored the per-job addressed state but not the status bar counters, leaving them drifted until the next poll. Now reverses the stats delta on error alongside the job state rollback. Co-Authored-By: Claude Opus 4.6 <[email protected]>
roborev: Combined ReviewVerdict: One Medium issue found; no Critical/High findings, and security reviews reported no issues. Medium
Synthesized from 4 reviews (agents: codex, gemini | types: security, default) |
When a jobs poll resets m.jobStats to server truth, pending optimistic deltas were lost, causing subsequent error rollbacks to over-correct (and potentially go negative). Now re-applies all pending addressed deltas on top of server stats so rollback math stays consistent. Co-Authored-By: Claude Opus 4.6 <[email protected]>
roborev: Combined ReviewVerdict: Medium-severity correctness issues were found in optimistic stats reconciliation; fix before merge. Medium
Synthesized from 4 reviews (agents: gemini, codex | types: security, default) |
Pending reconciliation now runs before stats delta re-application so confirmed entries are cleared first. Also extracts applyStatsDelta helper to deduplicate the 4 inline increment/decrement blocks. Co-Authored-By: Claude Opus 4.6 <[email protected]>
roborev: Combined ReviewVerdict: Changes are not clean; there is 1 merged High severity stats-synchronization bug that can miscount addressed/unaddressed totals. High
Synthesized from 4 reviews (agents: codex, gemini | types: security, default) |
## Summary - Cancel key (`x`) now adjusts cursor to next visible job when hide-addressed is active, preventing the cursor from landing on a hidden row (roborev-dev#265) - Addressed toggle (`a`) now optimistically updates the status bar stats (addressed/unaddressed counts) immediately instead of waiting for the next poll cycle (roborev-dev#262) - Both queue-view and review-view addressed paths update stats ## Test plan - [x] Enable hide-addressed (`h`), cancel a running job (`x`) — cursor should move to next visible job - [x] Toggle addressed (`a`) on a job — status bar counts should update immediately - [x] Toggle addressed from review view (`a`) — status bar counts should update on return to queue Fixes roborev-dev#262, fixes roborev-dev#265. 🤖 Generated with [Claude Code](https://claude.com/claude-code) --------- Co-authored-by: Claude Opus 4.6 <[email protected]>
Summary
x) now adjusts cursor to next visible job when hide-addressed is active, preventing the cursor from landing on a hidden row (Canceling job (x) in tui causes cursor to disappear until you press arrow keys when hide-addressed is active #265)a) now optimistically updates the status bar stats (addressed/unaddressed counts) immediately instead of waiting for the next poll cycle (Addressing review does not update the addressed/unaddressed metrics in the top right of the tui right away #262)Test plan
h), cancel a running job (x) — cursor should move to next visible joba) on a job — status bar counts should update immediatelya) — status bar counts should update on return to queueFixes #262, fixes #265.
🤖 Generated with Claude Code