fix(web): avoid archive breadcrumb route race - #45
Merged
lastobelus merged 1 commit intoAug 19, 2026
Conversation
(cherry picked from commit a5bed62)
Owner
Author
|
@codex review |
|
Codex Review: Didn't find any major issues. Delightful! Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
lastobelus
added a commit
that referenced
this pull request
Aug 22, 2026
## Problem The project-scoped Archive breadcrumb adopted in #31 can read `/settings/archived` search state while navigation to that route is still pending. At that instant the browser location already names Archive but the route match does not exist yet, so strict route search lookup can fail instead of rendering a safe interim breadcrumb. ## Source provenance - Upstream PR: pingdotgg#7282 (`feat(web): filter archived threads by project`) - New upstream commit: pingdotgg@a5bed62 - Author: Michael Johnston (`lastobelus`) - Observed August 19, 2026 (America/Vancouver): upstream PR open and unmerged; head `a5bed62d299e343646f0a6272d936b875df55cb9`; mergeable but blocked by upstream policy/review state - Pinned upstream base: `949feb61e4bfd96669ba0e8cf3dca7c6d7f885b3` - Prior LastCode adoption: #31 pinned the earlier upstream head `535a7b11358d8f0b4b302e4261b769dbafffc643` - Linked request: pingdotgg#6780 - Upstream context: all 13 review threads remain resolved; the current-head bot checks are terminal and acceptable, but are supporting evidence only ## Import The new one-commit delta was derived from the pinned Git graph and cherry-picked with `-x` onto exact LastCode base `7f9f0ecf7d5cd7865f9453a819390d2852890369`. It applied without textual conflicts or LastCode-specific adaptations. The source and port both have stable patch ID `802299eab4778fd2608662714563aceefacf73eb`. The fix performs a non-throwing archive-route search lookup before selecting the Archive-specific breadcrumb. While the route is pending it renders the ordinary Settings breadcrumb; once matched it renders the selected Archive project. The new tests cover both a deliberately paused navigation and a direct selected-project deep link. ## Validation - dependency installation completed with `vp i` - Node `24.13.1`; pnpm `11.10.0` - 9/9 focused Archive tests passed across `SettingsBreadcrumb.test.tsx` and `archiveProjectFiltering.test.ts` - targeted formatter and linter checks passed for both changed files - web package typecheck passed - committed-range `git diff --check` passed - the guarded push's `lastcode:ci:quick` hook passed formatting, workspace typechecks, and every workspace test group This timing fix does not change the settled Archive UI, so the final-state evidence from #31 remains representative. The pending-route regression is deterministic in the focused router test rather than dependent on recording a transient frame. Implemented by GPT-5.6-sol through the Codex harness.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
The project-scoped Archive breadcrumb adopted in #31 can read
/settings/archivedsearch state while navigation to that route is still pending. At that instant the browser location already names Archive but the route match does not exist yet, so strict route search lookup can fail instead of rendering a safe interim breadcrumb.Source provenance
feat(web): filter archived threads by project)lastobelus)a5bed62d299e343646f0a6272d936b875df55cb9; mergeable but blocked by upstream policy/review state949feb61e4bfd96669ba0e8cf3dca7c6d7f885b3535a7b11358d8f0b4b302e4261b769dbafffc643Import
The new one-commit delta was derived from the pinned Git graph and cherry-picked with
-xonto exact LastCode base7f9f0ecf7d5cd7865f9453a819390d2852890369.It applied without textual conflicts or LastCode-specific adaptations. The source and port both have stable patch ID
802299eab4778fd2608662714563aceefacf73eb.The fix performs a non-throwing archive-route search lookup before selecting the Archive-specific breadcrumb. While the route is pending it renders the ordinary Settings breadcrumb; once matched it renders the selected Archive project. The new tests cover both a deliberately paused navigation and a direct selected-project deep link.
Validation
vp i24.13.1; pnpm11.10.0SettingsBreadcrumb.test.tsxandarchiveProjectFiltering.test.tsgit diff --checkpassedlastcode:ci:quickhook passed formatting, workspace typechecks, and every workspace test groupThis timing fix does not change the settled Archive UI, so the final-state evidence from #31 remains representative. The pending-route regression is deterministic in the focused router test rather than dependent on recording a transient frame.
Implemented by GPT-5.6-sol through the Codex harness.