fix(mobile): restore projects in the iPad sidebar - #28
Merged
Merged
Conversation
The iPad sidebar showed connected environments and nothing else: no projects, no threads. Upstream's v2 thread list does not read scopedThreads or scopedPendingTasks, so pingdotgg#10413 short-circuits both to an empty array whenever the v2 list is on. The fork's project sections do read them. Every section was built with no rows, and the section item builder drops a section whose thread count is zero, header included. Seven projects in, nothing out. Reproduced against a copy of a real database: 8 projects and 78 threads produced 7 sections and 0 list items with the short-circuit, and 91 items without it. Only the sidebar had the extra consumer. HomeScreen's copies feed buildHomeThreadGroups, which short-circuits on v2 itself, so they keep the optimization. scopedProjects keeps it for the same reason. Claude Opus 5 (1M context) via T3 Code. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
pseudoseed
force-pushed
the
fix/ipad-sidebar-empty-projects
branch
from
September 9, 2026 04:09
55d63c1 to
19f11e5
Compare
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.
On iPad (and any mobile client with the v2 thread list on), the sidebar rendered
No threads yeteven with a connected environment holding 8 projects and 78 threads.scopedThreadsandscopedPendingTaskswere short-circuited to[]wheneverthreadListV2Enabledwas true, carried over from the upstream sync. In this fork the v2 project sections partition those same two lists, so emptying them left every section with zero rows;buildThreadListV2ProjectSectionItemsthen drops any section whose thread count is 0, including its header. Result: an entirely blank sidebar.The short-circuit is removed from both memos.
scopedProjectskeeps its guard, because only the v1groupsbuilder reads it and that builder already short-circuits on v2.Reproduced and verified in the iOS Simulator (iPad Pro 13-inch M5) against a
VACUUM INTOcopy of real data: 8 projects, 78 threads. Toggling the short-circuit back on reproduces the blank sidebar on the same paired environment.A regression test in
threadListV2.test.tspins the amplifier: a section handed no threads loses its header too.Model: Claude Opus 5. Harness: Claude Code.