Skip to content

Session review panel resize handle broken when window is small — chat collapses to minimal width #30560

@geelia7777

Description

@geelia7777

Bug Report

Describe the bug

When the OpenCode desktop window is not maximized, dragging the vertical divider between chat area and review panel causes abnormal layout: the chat panel collapses into an extremely narrow width while the review panel takes nearly all available window space. After dragging to balanced layout in fullscreen mode, the chat panel shrinks again once switching back to small window size.

To Reproduce

Steps to reproduce the behavior:

1. Resize OpenCode desktop window to narrow width (less than ~1200px)
2. Drag the vertical divider separating chat area and review panel
3. Observe chat panel collapses to tiny width, review panel expands to fill most viewport
4. Adjust divider to balanced size under fullscreen; revert to small window, chat panel shrinks automatically again

Expected behavior

The divider drag should respect configured min/max width constraints consistently regardless of window size, two panels keep reasonable proportional width after dragging and window resizing.

Screenshots

N/A

Environment

  • OpenCode Desktop Version: v1.15.13
  • OS: macOS

Root Cause Analysis (Optional extra detail)

1. Divider limit config in  session-BypYf9p3.js:30677 :

js

min: 450,
max: window.innerWidth * 0.45
 

When window width < 1000px, calculated  max  value becomes smaller than fixed  min(450) . The width constraint formula  Math.min(max, Math.max(min, current))  runs into invalid boundary conflict, producing undefined layout value. Saved historic  session.width  won’t be recalculated and clamped against updated max value on window resize.

2. Parent container  _tmpl$3  of divider is plain div without  position: relative . Divider uses  position: absolute  and positions against outer ancestor instead of its direct parent, worsening layout offset on narrow window.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions