Repository navigation
Conversation
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
ApprovabilityVerdict: Approved at Macroscope's review found this PR approvable — Working threads can now be dragged into Pinned, with updated previews and destination hints. The change uses existing pin operations and keeps other section drops blocked, limiting its effects to user-directed sidebar organization. You can add or adjust custom eligibility rules. Learn more. |
|
Note Reviews pausedIt looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the Use the following commands to manage reviews:
Use the checkboxes below for quick actions:
No actionable comments were generated in the recent review. Walkthrough
Merge Risk:
|
fcfb2b6 to
068fc3c
Compare
|
Note Written by Takeover update at
|
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
068fc3c to
c1cec4d
Compare
# Conflicts: # apps/web/src/components/Sidebar.tsx
…inned Lifting a Working row opens label space below the pins. Moving up into that space or onto the Active label already read as Pinned, so a drop meant for Active pinned the thread. A Working row now reaches Pinned only above the divider, where the pinned rows end; Active stays refused. AI-assisted; verified with the tests and tools listed above.
The Working-row threshold used the divider's untransformed rect, which the drag preview shifts down by the label height. The lower part of a visible pin, and with no pins the whole Pinned label, refused the drop. Use the live Active label's top instead, so everything above it pins and the label itself stays refused. AI-assisted; verified with the tests and tools listed above.
|
The automated pipeline stopped on this pull request and will not merge it: in the real app the problem is still there, and the rework changed nothing: No code change; the report describes the fix working, and the remaining visual point comes from the sidebar's normal drag behaviour. Per the report, base leaves Running task unpinned in Working, and head shows section labels and a Pin badge, then pins it below Existing pin while the turn keeps running. Releases over Active and Settled return it to Working with no empty-section hints, which is intended because Working rows cannot move there. On the overlap: I reproduced the steps at 0b880d2 in the real web app (isolated scenario server, Chromium 1280x800, a replay turn held running) and logged element positions. With the pointer at Existing pin's lower edge (y=203), the preview slot is below Existing pin (the Active label moved down to 295 to open a card-height slot), matching where the drop lands. The lifted Running task card spans y=162-244 because the dragged row follows the pointer from its grab point (its centre), so it covers Existing pin's title and branch; the frame right after release is the card animating into its slot. On the same build, an ordinary Active thread dragged to the same pointer position gives identical results: card at 162-244 over Existing pin, the same release frame, and the same final slot below Existing pin. That path predates this PR, so the overlap is not something this fix introduced, and changing it would mean changing drag feedback for every sidebar section. It stays open for a person to finish or close. |




Problem
With the Working section expanded, a thread in it cannot be dragged into Pinned. The row stays put, no drop labels appear, and nothing is pinned on release. Thread menu > Pin already allows the same action, so the drag was the only way that failed. Fixes https://git.cafe/pingdotgg/t3code/issues/28117.
Change
Scope and approval
This changes a deliberate rule from https://git.cafe/pingdotgg/t3code/pulls/19697, which stopped all sidebar moves from Working because the section follows live status. Pinning fits that reasoning: pins outrank Working, so a pinned thread stays in Pinned and keeps its Working status. The fix qualifies as a small, focused bug fix: it brings the drag in line with the existing Pin menu action, on web and desktop. Mobile has no drag from this section, so it is not affected.
Verification
Focused tests in
Sidebar.logic.test.tsandSidebar.drag.test.tscover the pin plan, the blocked drops, the label room and the shelf closing.vp run check:changedpasses.I also ran the whole app in headless Chromium against
apps/web/test/fakeEnvironment.ts, with running threads, pointer events and a 500 ms server delay. That throwaway test is not in this PR.thread.pinat the spotNot checked: a live server, the Electron app, or touch input. The test used the Chromium build on my machine, not the one this Playwright version pins.
🤖 Generated with Claude Code
Fixes #28117