Skip to content

fix(web): the fork's sidebar rows live in upstream's row files again - #464

Merged
adampeterhiggins merged 1 commit into
mainfrom
t3code/sidebar-upstream-row-files
Oct 22, 2026
Merged

adampeterhiggins merged 1 commit into
mainfrom
t3code/sidebar-upstream-row-files

Conversation

@adampeterhiggins

Copy link
Copy Markdown
Owner

Problem

Upstream moved the sidebar's thread row, draft rows and list markers out of Sidebar.tsx into sidebar/SidebarThreadRow.tsx, SidebarDraftBlock.tsx and SidebarListMarkers.tsx (pingdotgg#22696, pingdotgg#22729). The fork kept its own versions inline, so those three files became dead code that nothing imported (knip's unused-files finding on #460). Upstream fixes made to them merged without conflicts and never reached the fork, which is how these two were missed:

Fix

  • The fork's row, draft rows and markers move into upstream's files with no behaviour change. Apart from the two ports below, every line moved unchanged; I checked this by comparing line counts before and after. Tab lists, group headers and the main component stay in Sidebar.tsx and import from the new files. Future upstream edits to these files now merge into fork code or conflict visibly.
  • SortableThreadRow and SidebarSearchResultRow read the live thread shell, as upstream's do. The fork's row also reads the live shell for the tab it displays.
  • Thread titles, tab titles and the rename field use textDirection / dir="auto".

Upstream row changes that were intentionally not ported:

Verification

  • vp run check:changed: format, lint, typecheck (2 packages) and tests (3 files, 240 tests) pass. Knip's unused-files pass is now clean. The unused-exports pass still fails on 117 existing exports outside the sidebar, the same finding noted on chore: merge upstream/main into fork #460.
  • No test renders the sidebar component, and I did not run the app or a browser, so this hasn't been checked in a running client.

🤖 Generated with Claude Code (Claude Opus 5.5, in T3 Code)

The fork kept its thread row, draft rows and list markers inline in
Sidebar.tsx after upstream moved them to sidebar/SidebarThreadRow.tsx,
SidebarDraftBlock.tsx and SidebarListMarkers.tsx. Those files went unused, so
upstream fixes to them merged cleanly into dead code and never reached the fork.

Move the fork's versions into those files, unchanged, and port the two upstream
fixes that had landed only there:
- Rows read their live thread shell over the sidebar's quiet list, so a
  streaming thread re-renders only its own row (pingdotgg#22730).
- Thread titles, tab titles and the rename field read right to left for
  Arabic and Hebrew (pingdotgg#22777).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant