You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Sidebar resize can persist a zero or negative width #2203
setSidebarWidth adds an unbounded delta to the stored width with no clamping, and nothing downstream clamps it either — CollapsibleSidebar passes re-resizable's delta.width straight through on onResizeStop, and no minWidth is set on the resizable. Dragging the handle far enough past the left edge therefore persists a zero or negative sidebar.width into the layout, for both the Graph View and the Schema View.
This surfaced while reviewing whether the layout codec should reject non-positive dimensions. Rejecting at the storage boundary is the wrong layer: it would throw away the user's entire layout over a width the app itself wrote. The fix belongs in the setter.
Environment
OS: any
Browser: any
Graph Explorer Version: main
Graph Database & Version: n/a (UI state only)
Steps to Reproduce
Open the Graph View and open any sidebar panel.
Drag the sidebar resize handle well past the left edge of the sidebar in one motion.
Inspect the persisted layout (graph-view-layout) and observe a width at or below zero.
Expected Behavior
setSidebarWidth clamps to a sensible minimum (and the layout never stores a non-positive width). A maximum is deliberately out of scope — the usable ceiling depends on the viewport, which the state layer cannot know.
Activity
danielvanza commentedon Sep 22, 2026
I'd like to work on this. Draft PR: #2239