Align channel management panel with profile#1066
Merged
Merged
Conversation
da47110 to
016d246
Compare
91b9cf5 to
767614f
Compare
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Collaborator
Author
Resolve AppTopChrome.tsx conflict by taking main's relative in-flow top-chrome bar wholesale. Drop obsolete TOP_CHROME_RIGHT_PANEL_SAFE_AREA_PX (the 420px fixed-overlay safe-area, no longer needed under main's non-overlapping layout) and the already-unreferenced TOP_CHROME_WHEEL_GUARD_HEIGHT. Co-authored-by: Thomas Petersen <thomasp@squareup.com> Signed-off-by: Thomas Petersen <thomasp@squareup.com>
The channel-management side pane hand-rolled its split-layout header instead of using the shared AuxiliaryPanelHeader, drifting from the user-profile pane and the channel header to its left: a stray bottom hairline border, tighter px-4 py-1.5 + gap-0.5 spacing, and a custom -ml-2 h-7 w-7 back button. Reuse <AuxiliaryPanelHeader> the way UserProfilePanel does so the header matches by construction — no border, default px-5 py-2 / h-9 row, plain size=icon buttons. DialogPrimitive.Title/Description accessibility wiring is preserved; the non-split overlay branch is untouched. Co-authored-by: Taylor Ho <taylorkmho@gmail.com> Signed-off-by: Taylor Ho <taylorkmho@gmail.com>
Channel management was the only auxiliary side pane backed by a plain React.useState boolean in ChannelScreen instead of a URL search param, so it ignored back/forward/reload and switched one-way: with it open, clicking a thread/profile/agent ingress set that pane's state but channel management still won the ChannelPane render slot, forcing a manual close before the new pane appeared. Promote it into useChannelPanelHistoryState as a channelManagement search key (sentinel "1", since it's open/closed only) driven through the same applyPatch path as thread/profile/agentSession. Replace the useState boolean with the hook's channelManagementOpen value and setChannelManagementOpen setter, and clear it from the sibling openers (thread, profile, agent session) so each user action coalesces into a single history entry. Mutual exclusion and back/forward/reload now fall out by construction, matching the other panes. The global/overlay channel-management state in AppShell and HomeView is a separate concern and is untouched. Co-authored-by: Taylor Ho <taylorkmho@gmail.com> Signed-off-by: Taylor Ho <taylorkmho@gmail.com>
Co-authored-by: Taylor Ho <taylorkmho@gmail.com> Signed-off-by: Taylor Ho <taylorkmho@gmail.com>
8b514b5 to
d0658b0
Compare
Resolve AppShell.tsx import conflict: drop isWindowDragHandleEvent, shouldBounceForChannelNotification, and toSearchHit imports. Their behavior was relocated by main's a9ce477 into the extracted useAppShellDesktopNotifications and useTauriWindowDrag hooks; AppShell now only uses deriveShellRoute. Co-authored-by: Taylor Ho <taylorkmho@gmail.com> Signed-off-by: Taylor Ho <taylorkmho@gmail.com>
Collaborator
|
@thomaspblock quick rundown of things resolved to get this merged:
|
Removes the branch-only useTauriWindowDrag hook and restores main's inline pointerdown/dblclick drag effect in AppShell. The hook was an unrelated refactor that snuck onto this branch via an earlier evil merge; it does not exist in main. Drag logic is byte-identical to main, so behavior is preserved. Keeps PR #1066 scoped to the channel-management work. Co-authored-by: Taylor Ho <taylorkmho@gmail.com> Signed-off-by: Taylor Ho <taylorkmho@gmail.com>
Reverts the strip commit c1ae92e. Restores the branch-local useTauriWindowDrag hook and AppShell's call to it, removing the re-inlined drag effect. tho reviewed the hook and prefers keeping the clean refactor, so PR #1066 carries it as-is. Window-drag behavior is unchanged. Co-authored-by: Taylor Ho <taylorkmho@gmail.com> Signed-off-by: Taylor Ho <taylorkmho@gmail.com>
tellaho
approved these changes
Jun 25, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.




Summary
maininto the PR branch and preserve the new Home thread/reminder navigation updates alongside the channel-management panel behavior.Test plan
pnpm --dir desktop exec biome check src/app/AppTopChrome.tsx src/features/channels/ui/ChannelManagementSheet.tsx src/shared/hooks/useScrollBoundaryLock.tspnpm --dir desktop exec tsc --noEmitpnpm --dir desktop check:file-sizespnpm --dir desktop run buildpnpm --dir desktop exec playwright test tests/e2e/channels.spec.ts -g "manage channel keeps canvas near the top of the sheet|home inbox channel label opens management without leaving home"