chore(mobile): clear the legacy-list deletion fallout - #13203
Conversation
ApprovabilityVerdict: Approved at Macroscope's review found this PR approvable — This is a contained cleanup that removes unused mobile state, imports, constants, test fixtures, and a stale comment. The existing settings schema and You can add or adjust custom eligibility rules. Learn more. |
Thread transfer impact✅ Thread transfer remains within every enforced ceiling.
Baseline: Scenario and decoded snapshot size10 historical turns, 5 command tools per turn, 878.9 KiB retained MCP result per historical turn, and a 1.05 MiB retained result in the measured turn.
Updated in place by a trusted workflow. PR artifacts are strictly validated and never executed. |
The v1 removal left behind code that only v1 consumed: unused imports and the recency-window constants in homeThreadList.ts (13 no-unused-vars warnings on main), an unused threadSortOrder preference with a setter nobody calls in home-list-options.ts, stale test helpers, an unused test import from the availability work, and a comment still pointing at the legacy list. All of it is dead now that the v2 list is the only list; projectSortOrder and projectGroupingMode are untouched and keep powering v2 scope ordering.
5a88274 to
a348da9
Compare
Dismissing prior approval to re-evaluate a348da9
## What's Changed * chore(mobile): drop dead nitro-markdown tgz override and @expo/metro-runtime by @juliusmarminge in pingdotgg/t3code#13148 * feat(web): show settings scope as a sentence at the top of the page by @juliusmarminge in pingdotgg/t3code#13139 * refactor(web): move settings scope pickers into breadcrumbs by @Yash-Singh1 in pingdotgg/t3code#13165 * feat(auth): share provider sign-in flows and credential bindings by @juliusmarminge in pingdotgg/t3code#12983 * refactor(mobile): git sheets use uniwind platform variants instead of className ternaries by @juliusmarminge in pingdotgg/t3code#13161 * chore(mobile): name the two project favicon caches by their job by @juliusmarminge in pingdotgg/t3code#13160 * revert(mobile): git sheets back to Platform.OS ternaries (un-guarded uniwind variants broke both platforms) by @juliusmarminge in pingdotgg/t3code#13169 * docs(mobile): document the two mobile routes that intentionally skip deep links by @juliusmarminge in pingdotgg/t3code#13164 * refactor(mobile): break module cycles with focused extractions by @juliusmarminge in pingdotgg/t3code#13151 * fix(server): generate PR diffs from branch changes by @Yash-Singh1 in pingdotgg/t3code#13170 * fix(web): preserve nested scroll behavior in chat timeline by @Yash-Singh1 in pingdotgg/t3code#13167 * test(web): cover usage model ordering without static markup by @flamboh in pingdotgg/t3code#13104 * fix(desktop): find linuxbrew node for the WSL backend by @CodyRay in pingdotgg/t3code#7827 * chore(models): use GPT-6 Luna for text generation by @extoci in pingdotgg/t3code#13115 * fix(mobile): keep ordinary offline outbox failures out of console.warn by @juliusmarminge in pingdotgg/t3code#13144 * feat(providers): check remote compatibility ranges by @juliusmarminge in pingdotgg/t3code#13130 * chore(lint): keep mobile theme escape-hatch allowlist honest by @juliusmarminge in pingdotgg/t3code#13146 * fix(web): the pull request badge reads at the meta size again by @juliusmarminge in pingdotgg/t3code#13175 * fix(mobile): uniwind platform variants stay guarded on both platforms by @juliusmarminge in pingdotgg/t3code#13172 * refactor(mobile): git sheets use uniwind platform variants instead of className ternaries by @juliusmarminge in pingdotgg/t3code#13185 * refactor(mobile): remaining className platform ternaries become class variants by @juliusmarminge in pingdotgg/t3code#13188 * fix(web): align provider emails without clipping by @Derpedyea in pingdotgg/t3code#13174 * perf(mobile): recycle the default v2 home list and scope the snooze minute tick by @juliusmarminge in pingdotgg/t3code#13149 * refactor(mobile): retire the legacy grouped thread list by @juliusmarminge in pingdotgg/t3code#13183 * fix(server): background PR checks spend less GitHub quota by @juliusmarminge in pingdotgg/t3code#13189 * fix(server): background PR sync reads summaries in batches by @juliusmarminge in pingdotgg/t3code#13198 * fix(server): GitHub PR lookups stop probing owner-qualified heads by @juliusmarminge in pingdotgg/t3code#13200 * chore(mobile): clear the legacy-list deletion fallout by @juliusmarminge in pingdotgg/t3code#13203 ## New Contributors * @CodyRay made their first contribution in pingdotgg/t3code#7827 **Full Changelog**: pingdotgg/t3code@v0.0.43-nightly.20260922.2123...v0.0.43-nightly.20260923.2135 Upstream release: https://github.com/pingdotgg/t3code/releases/tag/v0.0.43-nightly.20260923.2135
The problem
Retiring the legacy grouped thread list (#13149 / #13183, both merged) left dead deletion fallout on
main, flagged by an audit of the removal head:homeThreadList.tsstill imported eight v1-only helpers and kept the recency-window constants (RECENT_THREAD_WINDOW_MS,RECENT_THREAD_FALLBACK_COUNT) only v1 read — 13no-unused-varswarnings.home-list-options.tsstill stored athreadSortOrderpreference with a setter no screen calls; the mobile UI no longer has any thread sort order (refactor(mobile): retire the legacy grouped thread list #13183's body claimed it was gone — with this PR the claim is finally true end to end).projectSortOrderandprojectGroupingModestay; v2 uses them for scope ordering/grouping.homeThreadList.test.tscarried an unusedthreadSearchMatchKeyimport andNOWfixture constant;threadListV2.test.tsimported the batch availability helper it no longer calls (that coverage lives inthreadOrderAvailability.test.ts).The fix
Also:
DEFAULT_SIDEBAR_THREAD_SORT_ORDERin contracts loses itsexport(mobile was the last consumer of the value; the wire field keeps its internal decoding default), which is whatknipflags once the mobile side is gone.Straight deletion only — no behavior changes. The stored preference is a runtime-state field with no persisted schema; dropping it just stops a value nothing reads from being carried.
Verification:
no-unused-varsclean on all touched files (HomeScreen stays at its pre-existing 13-warning baseline, unchanged),tsc --noEmitclean, full mobile suite 186 files / 1702 tests pass, formatting clean.Done by Apex (Claude Opus 4.1) in pi, per the #13183 audit follow-up.