Repository navigation
Conversation
ApprovabilityVerdict: Approved at Macroscope's review found this PR approvable — This is a focused web UI bug fix that records which completed run was offered and prevents dismissed or declined diffs from reopening after navigation or reload. The additive local persistence and panel-priority changes are contained within the existing right-panel store and covered by lifecycle tests. You can add or adjust custom eligibility rules. Learn more. |
Dismissing prior approval to re-evaluate 43179b6
43179b6 to
410c41d
Compare
Dismissing prior approval to re-evaluate 410c41d
410c41d to
5625739
Compare
Dismissing prior approval to re-evaluate 5625739
5625739 to
68db8d9
Compare
Dismissing prior approval to re-evaluate 68db8d9
68db8d9 to
ed76c75
Compare
|
Still reproduces on the macOS desktop app, nightly |
ed76c75 to
654298b
Compare
Dismissing prior approval to re-evaluate 654298b
Proactive panels reopened a completed turn's diff on every thread visit because the user-choice revision is re-read on entry and never persisted. Remember the last offered turn in the persisted panel state, keep it when other panel actions rebuild the state, and refuse a turn already offered.
654298b to
a3abf64
Compare
Dismissing prior approval to re-evaluate a3abf64
|
Taking over this one as maintainer for batch worktree-git-07. Keeping contributor commits, merging current main, then focused tests and independent reviews. No merge planned. |
Dismissing prior approval to re-evaluate 71ee529
Completed-turn diffs reopen when you return to a thread, even after you dismiss them. Persist the completed run whose diff was offered in the existing thread-scoped panel state, so dismissal survives navigation and reload while the next qualifying run can still open Diff.
A qualifying offer is also consumed when a manual choice or an active Diff/PR panel prevents opening. Eligibility remains in the existing resolver; panel priority stays in the store. A refused offer returns before resetting Diff scope or invoking the open callback. Manual opening, environment/thread isolation, checkpoint readiness, size thresholds, and the Proactive panels setting retain their existing behavior. Removed the original copy-forward helper because current panel actions already preserve thread state.
Maintainer takeover of @ilyaliao's #14705, preserving their commits and merging main without rewriting the fork branch. Web and Electron share this renderer; mobile has separate navigation and is unchanged.
Verification at 71ee529:
After: dismissed Diff stays closed after returning and reloading (current head).
Dismiss, switch threads, return, and reload recording · Active-Diff completion dismissal recording · Fixture observations and limits.
Limits: no matching base screenshot/recording was captured; before/after regression tests provide the baseline proof under the requested test-level fallback. Initial browser captures lost text and one tab disappeared; the replacement tab produced the usable current-head captures above. Clearing the fixture snapshot cache reset Diff scope during hydration, so exact scope preservation during a real provider completion remains test-level proof. Single-PR priority, migration/pruning, and cross-environment cases were verified by focused tests. macOS, Windows, Electron desktop, iOS, Android, relay/tunnel connections, and a real provider-completion flow were not run here.
Current-head CI: lint, build/typecheck, all eight server shards, package tests, web tests, aggregate Check, fingerprint checks, and configured bot reviews passed. The initial web run hit an unchanged ACP Registry debounce/Enter timing race; the rerun passed. No unresolved review threads.
Implementation: GPT-6.1 Sol through Codex; tests: GPT-6 Astra through Codex; independent reviews: Claude Opus 5.5 through Claude Code and GPT-6 Sol through Codex, delegated by T3 Code.