Conversation
ApprovabilityVerdict: Not approved Macroscope's review found this PR not approvable — This PR adds a persisted, user-facing active-thread sorting mode and changes when active drag reordering is available. The default behavior remains configured order, but the production sidebar and shared settings contract now carry new capability and state, warranting human review. You can add or adjust custom eligibility rules. Learn more. |
|
Understand this PR’s impact Explore downstream dependencies and potential security impact with Blast Radius. No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository: pingdotgg/t3code/.coderabbit.yaml Review profile: CHILL Plan: Advanced Run ID: 📒 Files selected for processing (22)
🚧 Files skipped from review as they are similar to previous changes (1)
Included review availability: Your plan provides up to 10 included reviews per hour; 9 remain after this review. 📝 WalkthroughWalkthroughThe change adds a server-backed active-thread sort preference with ChangesActive thread sorting
Priority: ➖ Normal Estimated code review effort: 4 (Complex) | ~60 minutes Change: Bug fix Sequence Diagram(s)sequenceDiagram
participant User
participant Sidebar
participant useActiveThreadSort
participant ServerSettings
participant sortActiveThreads
User->>Sidebar: select active-thread sort
Sidebar->>useActiveThreadSort: setOrder
useActiveThreadSort->>ServerSettings: update activeThreadSortOrder
ServerSettings-->>useActiveThreadSort: shared setting update
Sidebar->>sortActiveThreads: sort active threads
sortActiveThreads-->>Sidebar: return ordered threads
Suggested reviewers: Merge Risk: ⚪ Minimal · up to No actionable merge-blocking risk remains; differing environments can be aligned by selecting the preferred option. 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
Full details: Docstring CoverageExplanation Docstring coverage is 52.17% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 23 functions across 23 files. (1 skipped: 1 unsupported.)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
The new sidebar removed the choice to sort active threads by recent messages. This restores that choice while keeping the configured arrangement as the default.
Adds Configured order / Last message to the web/desktop sidebar and the iOS/Android thread list options, including the tablet sidebar and older iOS toolbar. Last message uses the latest user message, with creation time as the fallback. The environment persists and broadcasts the choice to its clients. Changes fan out to connected environments that advertise support, and older servers are gated by a capability. Switching back restores saved arrangement keys; dragging into active positions is disabled while message sorting is selected. Pinned, snoozed, settled, and legacy-list ordering stay unchanged. Active move actions are disabled while sorting by message; switching back preserves the saved arrangement.
Validation: 491 focused sorting/settings tests passed, including persistence and broadcasts to two subscribers; web, mobile, contracts, and client-runtime typechecks passed; targeted lint completed with existing warnings. Browser verification on isolated fixture data confirmed message sorting, persistence, and live updates between two clients in both directions. All clients use shared sorting logic and existing thread summaries. The server settings stream carries the preference across local and remote clients. Native iPhone 16 Pro (iOS 18.5) and Pixel 9 Pro (Android 16) builds and verification passed. Android changes were observed live on iOS and web; iOS changes were observed on web. The tablet sidebar and newer iOS toolbar were typechecked but not separately exercised on a device. Desktop packaging and remote/relay paths were not separately exercised.
Configured order restored
Native recordings (2x playback): iOS · Android.
Model: GPT-6. Harness: Codex.