Skip to content

[Frontend][Inbox] Let stalled history detail close - #2426

Merged
Chris0Jeky merged 2 commits into
mainfrom
issue-1999/paper-history-loading-close
Sep 3, 2026
Merged

[Frontend][Inbox] Let stalled history detail close#2426
Chris0Jeky merged 2 commits into
mainfrom
issue-1999/paper-history-loading-close

Conversation

@Chris0Jeky

@Chris0Jeky Chris0Jeky commented Sep 3, 2026

Copy link
Copy Markdown
Owner

Summary

  • add an explicit archived-history action while a retained-capture detail read is still loading
  • collapse through the existing same-row disclosure contract and restore focus to that row's opener
  • leave the read non-destructively in flight while the existing item-id guard rejects its late payload

This advances only the stalled-detail residual on #1999. The broader triaged-edit and filter-draft decisions remain open.

Tests

  • red first: the controlled unresolved-detail regression failed because capture-history-loading-close did not exist
  • npm test -- src/tests/views/paper/PaperInboxView.spec.ts src/tests/views/paper/inbox/PaperTriageTable.spec.ts src/tests/views/paper/inbox/PaperTriageTable.degraded.spec.ts: 127/127 passed on the current-base head
  • npx eslint src/views/paper/inbox/PaperTriageTable.vue src/tests/views/paper/PaperInboxView.spec.ts --max-warnings=0: passed
  • npm run build: typecheck and production build passed over 810 modules, with the existing ineffective dynamic-import warning for toastStore.ts
  • git diff --check origin/main...HEAD: passed

Review and gaps

  • exact head: 35a190267d52bc23fb640b7bc1cb392e90cfad5e
  • base: 6837bf107c7aa3544beb9554c0249055b900cec6
  • current main, including the deps(npm): bump @humanfs/node from 0.16.7 to 0.16.8 in /frontend/taskdeck-web #2406 package-lock update, was merged once before the checks above
  • the attached-DOM controlled-promise regression proves the real focus target and late-result suppression deterministically
  • no existing Playwright fixture can hold this archived-detail read unresolved; a new route-interception harness is disproportionate for this two-file slice
  • no manual browser or screen-reader run was performed
  • npm ci reported existing engine warnings and one moderate audit finding; this branch's product commit changes no dependency file
  • canonical docs were not changed

Refs #1999

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 3, 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 Completed 2026-09-03T09:02:59.295687Z 35a1902 New commits
ℹ️ 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 3, 2026
@Chris0Jeky

Copy link
Copy Markdown
Owner Author

Independent exact-diff review at d1d786b4987af6240caafabede904f5c881229ca: no CRITICAL/HIGH finding.

The Close action uses the existing same-row toggle, leaves peekDetail in flight, restores focus to the connected native row button, and the parent rejects a late result while the row remains closed. The 127 focused tests, scoped ESLint, typecheck/build, and diff check passed.

P2 tracked on #1999 and declined in this bounded slice: close A, reopen A, then resolve the older A request can satisfy the existing item-id-only freshness guard and clear the newer loading state. The row opener already permits this same sequence, archived detail is read-only, and it does not break the claimed close-and-stay-closed acceptance. A future request-generation guard can harden same-item reopen ordering.

@Chris0Jeky

Copy link
Copy Markdown
Owner Author

Fresh current-base review at 35a190267d52bc23fb640b7bc1cb392e90cfad5e: no CRITICAL/HIGH finding.

The loading action uses the existing same-row toggle, restores focus after the disclosure closes, and the controlled late response stays suppressed while closed. The current-base @humanfs/node lockfile update resolves cleanly and does not interact with the product files.

Current-base proof: 127/127 focused tests, scoped ESLint, typecheck/build over 810 modules, and diff check passed. Manual browser, screen-reader, and live archived-history API validation were not run.

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