Conversation
gaelcado
force-pushed
the
sidebar-spacing
branch
from
September 26, 2026 08:13
98b80fa to
5696fb7
Compare
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.
Opening or closing the sidebar, Files explorer, or right pane could shift titlebar controls and leave the composer at an awkward width. A crowded window could also squeeze several panels into unusable slivers, and the composer queue hover wash could spill across its tray. This PR smooths panel transitions, keeps visible panels usable at compact widths, tidies the queue hover, improves sidebar spacing and project icons, and adds configurable smart panel behavior.
What changed
Interaction hardening
Switching between conversations with different panel layouts now uses the composer’s existing fade-through. Its geometry changes while hidden, with no sideways spring or vertical travel; same-layout conversation switches remain undisturbed.
Right-pane expansion preserves the sidebar and Files allocations, including squeezed widths. It no longer widens Files or restores fitted-out columns just because the conversation is covered. Compact-layout and mid-animation reversal tests cover this interaction.
Panel settings use the existing Settings dropdown and switch components, with shorter labels and descriptions.
Expanding the right pane keeps the conversation and composer at their ordinary layout width behind the mask, including after expansion settles. Reversals retain that width; closing during collapse returns space continuously. Returning to an expanded chat reconstructs usable conversation geometry, and compact-width fitting releases the layout if it hides the collapsing pane.
Opening, closing, or resizing Files preserves a right-pane animation already in progress. Partial-open reversals keep both panels’ inner layout stable behind their masks, so their contents do not suddenly rewrap.
Collapsing an expanded surface returns the conversation’s space through the animation instead of immediately applying its 300 px minimum. Departing headers cannot activate takeover on a closed surface. Expansion is remembered with its chat and does not leak into another chat or the new-thread canvas.
Opening content brings its host panel forward when compact-width fitting has hidden it. Smart eviction closes its chosen victim directly instead of invoking a toggle that can bring it forward.
Automatic restoration targets the final available width when the sidebar is still closing. Manual sidebar reopening on a new-thread canvas cancels the old restoration entry. Repeated terminal-open requests preserve the existing transition and restoration history.
Before and after
The same selected-project sidebar fixture, with the same uploaded icon and window size:
Capture details. These native-renderer captures predate the rebase onto main. The panel transitions and compact-width fit were checked in a separate signed preview build and by the tests below.
Validation
The branch includes
origin/mainat433aa148through a merge, preserving its published history and all existing sidebar, project-icon, smart-panel, minimum-width, and queue work.Checked at
fb9e48b0:cargo test -p zeron-ui --lib --quiet -- --test-threads=1— 1,295 passed on macOS.cargo build -p zeron --bin zeron, focused formatting checks, andgit diff --checkpassed. Repository-widecargo fmt --all -- --checkcontinues to report pre-existing formatting differences outside these edits.GitHub checks restart for this commit; Windows validation is pending.