[codex] Group project scopes in mobile thread lists#4314
Conversation
|
Important Review skippedAuto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
ApprovabilityVerdict: Needs human review This PR introduces new project grouping functionality that merges projects across environments by repository identity, changing how thread lists are filtered and displayed. The scope of new logic and runtime behavior changes warrants human review. You can customize Macroscope's approvability policy. Learn more. |
Co-authored-by: codex <codex@users.noreply.github.com>
Co-authored-by: codex <codex@users.noreply.github.com>
6a06232 to
d089f8f
Compare
Co-authored-by: codex <codex@users.noreply.github.com>
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using high effort and found 1 potential issue.
Bugbot Autofix is ON, but a cloud agent failed to start.
Reviewed by Cursor Bugbot for commit 7e09d54. Configure here.
Co-authored-by: codex <codex@users.noreply.github.com>

Why
Mobile thread lists treat copies of the same repository in different environments as unrelated projects. Selecting one project can therefore hide threads from the other copy.
Root cause
Mobile list filtering accepts one physical project reference, while project presentation is expected to operate on logical repository groups.
Fix
Settings placement and startup preference behavior are intentionally excluded from this PR.
Verification
vp run --filter @t3tools/mobile typecheckNote
Group project scopes by repository identity in mobile thread lists
buildHomeProjectScopesandsortHomeProjectScopesin homeThreadList.ts to consolidate duplicate projects across environments into logical groups, sorted by recent thread/task activity.buildThreadListV2Itemsin threadListV2.ts to accept an array ofprojectRefsinstead of a single ref, enabling multi-environment project filtering.projectRefwithin the selected logical scope, so selecting a project may include threads from multiple environments.Macroscope summarized c71bc86.
Note
Medium Risk
Changes core list filtering and grouping logic for home/sidebar/v2 paths; behavior is well covered by new tests but wrong scope resolution could hide or mis-attribute threads.
Overview
Mobile home and sidebar thread lists now treat logical project groups (same repo across environments, including stale duplicate project IDs) as one filter scope instead of a single physical project ref.
buildHomeProjectScopesandsortHomeProjectScopesinhomeThreadList.tsderive grouped scopes with mergedprojectRefs, reuse them inbuildHomeThreadGroups, and improve new-thread target resolution when threads still point at stale project IDs.HomeScreenandThreadNavigationSidebarbuild project filter options from scopes, match selection by scope key or any member ref, and scope v1/v2 threads and pending tasks across all refs. Empty states use the group title.Thread List v2 takes
projectRefs(array) instead of oneprojectRef, so filtering includes every environment copy in the group.Reviewed by Cursor Bugbot for commit c71bc86. Bugbot is set up for automated code reviews on this repo. Configure here.