Repository navigation
fix(web): use shared settings scope for archived threads - #247
Conversation
Restore upstream Settings project and environment controls in Archive and remove the superseded custom breadcrumb, model, route validation and tests. Keep connected-environment queries and complete archive deletion ownership inputs. Cover shared navigation, scoped results and archived-only projects. Carry-Group: upstream-bugfixes Carry-Upstream: pingdotgg#10639 merge e22040d Carry-Supersedes: #31 Carry-Supersedes: #45 Carry-Observation: Upstream shared Settings scope replaces the closed archive filtering proposal; offline-query and deletion safety remain. Carry-Evidence: pingdotgg#6780 (comment)
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: a1ae3b1c84
ℹ️ 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".
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".
Keep Archive loading until shared settings scope discovery is ready. Index archived threads by environment and project once before rendering groups. Cover discovery completion and identical project IDs across environments. Carry-Group: upstream-bugfixes Carry-Observation: Preserve archive readiness and linear grouping while adopting shared Settings scope.
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: d010367c5a
ℹ️ 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".
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".
Use connected environments in the selected scope for archive reads independently of config-dependent settings write targets. Cover pending config reads and retained disconnected-environment filtering. Carry-Group: upstream-bugfixes Carry-Observation: Archive reads require a connection but not a hydrated settings config.
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 98e3b05fc0
ℹ️ 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".
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".
Keep config-dependent settings writes gated while allowing Archive reads on a connected scoped environment. Exercise Archive tests through the route boundary and retain reconnect coverage for disconnected Archive and config-pending settings. Carry-Group: upstream-bugfixes Carry-Observation: Shared Settings route gating must distinguish Archive reads from config-dependent settings writes.
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 6e80f3e567
ℹ️ 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".
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".
Show a connection notice when no environment in the selected scope can be queried. Cover all, project and checkout scopes and recovery after reconnecting. Carry-Group: upstream-bugfixes Carry-Observation: A disconnected archive scope is unavailable rather than known empty.
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: bfa4fc16bd
ℹ️ 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".
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".
Use existing shell bootstrap readiness for project-scoped Settings and let Archive show loading before its route declares a saved scope unavailable. Cover both resolved and missing projects after startup. Avoid requiring disconnected environments to become live. Carry-Group: upstream-bugfixes Carry-Observation: Saved archive project scopes need initial shell discovery before unavailable notices.
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: cf71e87600
ℹ️ 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".
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".
Require live project snapshots before rejecting an unresolved saved project or checkout. Show an explicit offline/sync notice when resolution cannot finish, while leaving resolved scopes usable. Cover cached snapshots, disconnected and disabled environments, and resolved scopes. Carry-Group: upstream-bugfixes Carry-Observation: Cached snapshots cannot prove a saved archive project is absent.
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 8973edfbdf
ℹ️ 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".
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".
Match archive projects against the shared physical workspace keys selected by Settings instead of only deduplicated representative IDs. Exercise real grouping and scope resolution for project and checkout selection, including normalized paths and environment isolation. Carry-Group: upstream-bugfixes Carry-Observation: Duplicate project registrations can retain archived threads after shared grouping chooses a newer representative.
|
@codex review |
|
Codex Review: Didn't find any major issues. Can't wait for the next one! 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". |


LastCode’s custom Archive picker from #31 and #45 overrides the shared Settings controls supplied by upstream #10639. Restore the shared project/environment breadcrumb, parent Settings search handling, logical grouping, and Archive filtering. Upstream #7282 is closed as superseded; the discussion decision records the preference.
Remove the custom ProjectScopeBreadcrumb, archiveProjectFiltering model, useArchivedProjectModel, route-local validator, and obsolete tests. Preserve connected-environment queries and full-environment archive snapshots for LastCode’s deletion ownership checks. Shared scope readiness retains Archive’s startup loading state; a single thread index avoids scanning the archive once per project. The upstream replacement is present in the current base; this is a surgical cleanup, not a historical revert or compatibility layer.
Production code: 337 lines removed, 138 added (199 net removed). Including replacement regression coverage: 649 removed, 811 added (162 net added).
Validation: Quick CI passed for 09e89ea against cffb29a; 57 focused Archive/scope/navigation tests and web typecheck passed after the review fixes, including direct project-link discovery and live confirmation of missing scopes, archive reads through the Settings route guard before configs arrive, disconnected-scope notices and reconnection, duplicate workspace registrations under project/checkout scope, and cross-environment project ID isolation. The earlier base-refresh run passed 48 focused tests. Earlier focused coverage also passed for shared Settings search, grouping, archive snapshots, deletion safeguards, and the server catalog retaining archived-only projects. Targeted lint/formatting passed, with existing lint warnings outside changed code.
Browser QA passed in the built-in Browser panel with isolated fixtures: select project, return to All projects, group two repository checkouts, select an archived-only project, select an environment, and retain unavailable selections without widening scope. Before/after screenshots are attached on GitHub. Loading/disconnected states and cross-environment grouping have automated coverage; two live environments were not exercised. Web and the desktop web renderer are affected; no mobile/provider/wire-contract behavior changes.
Merge, installation, restart, and deployment are not authorized by this PR request.
Implemented by GPT-6 in the Codex harness.