fix(panels): proportional absorber pins, stale-pin cleanup, double-click to reset#2
Open
nishasdk wants to merge 1 commit into
Open
fix(panels): proportional absorber pins, stale-pin cleanup, double-click to reset#2nishasdk wants to merge 1 commit into
nishasdk wants to merge 1 commit into
Conversation
…ick to reset ResizablePanel: - Switch wrapperRefs from an index-keyed array to an ID-keyed Map so drag measurement survives dynamic children changes (e.g. plan tab appearing). - Add flexGrow prop to PanelChild for weighted absorbers (notes-files gets a smaller weight so the AI terminal absorbs ~2/3 of remaining space). - Store absorber pins as flex-grow ratios instead of pixel values so pinned panels scale proportionally when the window is resized. - Detect and clear asymmetric absorber pins (one absorber pinned while siblings are not) — these are stale pixel values that would starve siblings. TilingLayout: - Double-click on a tiling resize handle calls deletePanelUserSize to unpin both neighbours, snapping them back to the default equal split. TaskNotesBody: - Remove 40vh max-height cap; notes-files is now a weighted absorber so its height is layout-driven, not content-driven. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
3f48704 to
01029dd
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.
What
ResizablePanel reliability fixes
wrapperRefsfrom an index-keyed array to an ID-keyedMap— drag measurement now survives dynamic children changes (e.g. the plan tab appearing mid-drag)flexGrowprop toPanelChildso absorbers can be weighted (notes-files gets a smaller weight, leaving the AI terminal ~2/3 of the remaining space)Double-click on tiling resize handles to unpin
Layout cleanup
40vhmax-heightfromTaskNotesBody— it was a workaround for content-size bubbling up the flex chain;notes-filesis now a proper weighted absorber so height is layout-driven, not content-drivenWhy
Pinned panels previously stored pixel values, which go stale when the window is resized or when an absorber configuration changes. Storing ratios instead keeps the layout self-healing. The double-click reset gives users a quick escape hatch without needing to drag.
Testing
PS. just cosmetic fixes! just wanted to test what submitting a PR on parallel code would look like :)