Skip to content

Keep one discard confirmation during board navigation - #2839

Merged
Chris0Jeky merged 1 commit into
mainfrom
issue-2090/single-discard-confirmation
Sep 9, 2026
Merged

Keep one discard confirmation during board navigation#2839
Chris0Jeky merged 1 commit into
mainfrom
issue-2090/single-discard-confirmation

Conversation

@Chris0Jeky

Copy link
Copy Markdown
Owner

A dirty card's close confirmation could overlap the board's route-leave confirmation. Give the parent confirmation ownership while navigation or card switching is pending: suppress the child prompt and Escape handler, preserve the draft when the user cancels, and resolve the intended navigation once on confirmation. Skip focus restoration into the departing board.

Refs #2090. Ordinary card close and the existing save/delete navigation outcomes remain covered.

Validation at d62d5e2, base edf654e:

  • 103 focused component/view tests pass; typecheck, focused ESLint and production build pass.
  • Full frontend Vitest: 393 files, 6,248 passed, 3 skipped, exit 0.
  • Synthetic Mock Chromium: 1 passed. The test opens the card-close prompt, triggers browser Back, asserts one confirmation/focus owner, cancels with Escape while retaining the draft, then confirms a second navigation and checks destination/focus cleanup.
  • Independent Terra high review: SHIP, no HIGH/CRITICAL.
  • Final-test baseline control: the unchanged browser test fails against the original two components at edf654e because it sees two discard dialogs instead of one. The fixed components were restored byte-for-byte afterward; no production or test change followed the green suite or review.

Required hosted CI remains pending. No backend/full-provider/deployment claim. Existing dynamic-import build warning and inactive API console noise are recorded separately from passing results. Canonical STATUS/MASTERPLAN/TESTING_GUIDE and OUTSTANDING_TASKS.md are unchanged. Raw evidence will be preserved before plain worktree removal.

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 9, 2026

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ⚠️ Failed 2026-09-09T17:41:42.491549Z d62d5e2 PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@Chris0Jeky Chris0Jeky moved this from Pending to Review in Taskdeck Execution Sep 9, 2026
@Chris0Jeky

Copy link
Copy Markdown
Owner Author

Final verification and cleanup completed at d62d5e2:

  • Terra high independent review: SHIP, no HIGH/CRITICAL.
  • Raw receipts confirm 103 focused tests; full frontend 6,248 passed/3 skipped; typecheck, lint and build; synthetic Mock browser 1 passed.
  • Root ran the final unchanged browser test against the original two component files: it failed at the intended assertion, expected 1 discard dialog and received 2. The fixed components were restored byte-for-byte and tracked status was clean. Earlier baseline setup/history-assertion failures are not counted as that causal proof.
  • The Luna worker hit its usage limit during this final evidence step. Root verified the prior process was gone and source restored, preserved the interrupted output, and completed the controlled run locally; no extra product fix or review round.
  • All 103 evidence files from owned .tmp directories and test-results were copied and SHA-256 verified under .claude/local/milestone-20260909/preserved-2839/. Ports 5529/5829 and owned runtimes were stopped; plain worktree removal succeeded. Primary unrelated files remain untouched.

Required hosted run34384444663 is pending. This is not yet a merge-ready or full #2090 completion claim.

@Chris0Jeky

Copy link
Copy Markdown
Owner Author

This source head is preserved unchanged in integration PR #2840 (f6a2bc9), together with #2836, #2838 and #2839. Each complete changed subtree matches its reviewed source exactly; composition review is SHIP. Source runs 34382773101 and 34383468694 failed before browser execution because Google's Chrome APT index had a Hash Sum mismatch. The integration's own required hosted gate must pass before merge. This source PR remains open until verified integration delivery; its owning issue is not automatically closed.

@Chris0Jeky

Copy link
Copy Markdown
Owner Author

The failed E2E job stopped before tests because Google's Chrome APT index had a Hash Sum mismatch. At 2026-09-09T18:10:42Z, a fresh read of InRelease and Packages.gz returned matching SHA256 233e56de019b57db89238fa7bcc3647718dbbea3a40c2dc1c633a8c8952aa9e9 (1405 bytes). Evidence is in .claude/local/milestone-20260909/apt-index-probe. This establishes the upstream index is now consistent at the observed endpoint; it is not a passing APT or browser check.

With source head and main unchanged, the coordinator requested one failed-job-only retry of this PR's required run. Normal APT integrity checks remain intact. The combined integration2840 separately has an unresolved transcript-source review finding; this source subtree is independent and its original qualifying gate remains required.

@Chris0Jeky
Chris0Jeky merged commit e363b06 into main Sep 9, 2026
51 of 52 checks passed
@Chris0Jeky
Chris0Jeky deleted the issue-2090/single-discard-confirmation branch September 9, 2026 22:43
@github-project-automation github-project-automation Bot moved this from Review to Done in Taskdeck Execution Sep 9, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

1 participant