Skip to content

Fix Environment/composer overlap and clamp responsive workspace panel widths #126

Description

@redxzeta

Parent: #125
Priority: P0

Problem

The current docked workspace layout allows the Environment panel and right dock to consume/overlay core chat/composer space instead of participating in a safe responsive layout.

This is not only a visual-density complaint. Hands-on Playwright testing reproduced actual overlapping hit regions.

At 1440×900

The docked Environment panel occupied roughly:

x = 1128 → 1440
width ≈ 312px
z-index = 20
position = absolute

Composer controls simultaneously occupied the same region, including approximately:

voice: x = 1143 → 1171
send:  x = 1179 → 1207

The Environment panel can therefore cover/intercept composer controls.

At 1024×768

With left sidebar + right dock open, the layout allowed approximately:

left sidebar   256px
main workspace 176px
right dock     591px

With the Environment panel open, its controls also occupied the same horizontal region as composer model/effort controls.

A developer workspace should not permit persisted panel widths to collapse the primary working surface to ~176px or cover model/send controls.

Goal

Make workspace panel geometry responsive and deterministic so the primary chat/composer surface always retains a usable minimum width and docked panels never overlap interactive composer controls.

Required work

  • Audit the layout ownership of:
    • left thread sidebar
    • main chat/thread surface
    • Environment panel
    • right dock
    • composer footer
  • Replace accidental absolute-overlay behavior where a panel is conceptually docked.
  • Define minimum usable main-workspace width.
  • Clamp persisted right-dock width against current viewport size.
  • Decide explicit breakpoint behavior when all surfaces cannot coexist:
    • automatically collapse a secondary panel,
    • convert Environment to an overlay/drawer that does not cover composer actions,
    • or otherwise preserve the main interaction surface.
  • Preserve user-resizable panels at widths where the layout has sufficient space.
  • Ensure resize persistence cannot restore an impossible geometry after window shrink.

Acceptance criteria

  • At 1440×900, Environment + right dock + sidebar can be opened without any Environment hit target overlapping composer controls.
  • At 1024×768, opening the right dock does not reduce the main workspace to an unusable sliver; the chosen responsive behavior activates instead.
  • Model selector, effort selector, voice control, send control, and composer extras remain pointer- and keyboard-accessible whenever visible.
  • Window resize from a wide persisted layout to 1024px resolves into a valid layout automatically.
  • Browser tests assert bounding-box non-overlap for representative composer controls and panel surfaces.
  • Browser tests cover both 1440×900 and 1024×768 or equivalent representative breakpoints.
  • Existing Terminal/right-dock state continuity is preserved unless a deliberate responsive collapse occurs.

Non-goals

  • Do not redesign Environment contents.
  • Do not remove the right dock.
  • Do not solve this by simply hiding core composer controls.
  • Do not make all panels fixed-width if responsive clamping is sufficient.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementRequested improvement or new capability.

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions