Repository navigation
fix(web): tagging a thread by drag no longer scrolls the sidebar - #31924
Conversation
ApprovabilityVerdict: Approved at Macroscope's review found this PR approvable — This preserves the sidebar’s starting scroll position when dragging a thread out of the list for tagging. The change is limited to transient UI state and leaves tagging and persistence behavior unchanged. No code changes detected at You can add or adjust custom eligibility rules. Learn more. |
|
No actionable comments were generated in the recent review. Walkthrough
Merge Risk:
|
Dragging a sidebar thread into the composer crosses dnd-kit's autoscroll edge zone on the way out, so the sidebar scrolled, often to the bottom. Remember the sidebar scroll position at drag start and restore it once the drag leaves the list. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
d604a91 to
eed671f
Compare
**v0.1.8-nightly.20261106.4275** · 12 changes from 6 contributors **8 bug fixes and performance improvements.** <details> <summary>Full changelog</summary> ## What's Changed * fix(desktop): arm64 macOS builds no longer ship x64-only objc-js binary by @joshuarossi in pingdotgg/t3code#31285 * fix(web): keep task updates static in the timeline by @Yash-Singh1 in pingdotgg/t3code#31888 * fix(devices): keep devices listed when simulator discovery fails by @shivamhwp in pingdotgg/t3code#25971 * fix(web): dragging a sidebar thread no longer scrolls the list to the bottom by @juliusmarminge in pingdotgg/t3code#27691 * fix(web): tagging a thread by drag no longer scrolls the sidebar by @t3dotgg in pingdotgg/t3code#31924 * ci: stacked PRs stop evicting the shared pnpm cache by @t3dotgg in pingdotgg/t3code#31937 * fix(web): remote subagents no longer split from the lineage list by @t3dotgg in pingdotgg/t3code#29285 * perf(ci): release uploads stop recompressing installers and CLI archives by @t3dotgg in pingdotgg/t3code#31942 * feat(antigravity): identify as T3 Code to agy acp 1.5.1+ by @patrick-toulme in pingdotgg/t3code#31158 * ci(release): JS bundle jobs stop building an unused Linux helper by @t3dotgg in pingdotgg/t3code#31941 * feat(marketing): help search engines tell t3.codes apart from copycat sites by @t3dotgg in pingdotgg/t3code#31142 * perf(server): background service launcher uses 75% less memory by @t3dotgg in pingdotgg/t3code#29284 ## New Contributors * @joshuarossi made their first contribution in pingdotgg/t3code#31285 * @patrick-toulme made their first contribution in pingdotgg/t3code#31158 **Full Changelog**: pingdotgg/t3code@v0.1.8-nightly.20261106.4262...v0.1.8-nightly.20261106.4275 </details> Upstream release: https://github.com/pingdotgg/t3code/releases/tag/v0.1.8-nightly.20261106.4275
Dragging a thread from the sidebar into the composer to tag it scrolled the sidebar, often all the way to the bottom.
The path out of the list usually crosses dnd-kit's autoscroll edge zone at the bottom of the sidebar. At that point the drag is still a reorder drag, so dnd-kit autoscrolls fast. Autoscroll turns off once the pointer leaves the list, but the scroll has already happened.
The sidebar now saves its scroll position when a drag starts. It restores that position when the drag leaves the list to become a tag drag, and again on drop. Reordering inside the list still autoscrolls as before.
This works with #27691, which tunes reorder autoscroll (smaller edge zone, slower). That makes tag-drag scroll rarer, but leaving through the edge zone still scrolls. This PR removes the leftover scroll for tag drags. The two PRs change different lines.
Sidebar text is pixelated because the test data is real.
Proof: in the web dev app (1280×800, about 500 seeded threads), a slow drag from a low sidebar row to the composer. Measured sidebar
scrollTopwhile hovering the composer: 217px before, 0 after. The tag still lands in the composer.vp run check:changedpasses. No automated test was added: no existing harness renders the full sidebar with a long list and drags from it.Reviewed with sol-loop: 1 pass with GPT-6.1 Sol. Sol verdict: approved
Created with Claude Opus 5.5 in T3 Code (Claude Code harness).
🤖 Generated with Claude Code