Skip to content

feat(app): flexible split — remove 60% cap, add Chat collapse + maximize toggle - #1548

Open
jacktrnr wants to merge 2 commits into
mainfrom
feat/flexible-split-preview
Open

jacktrnr wants to merge 2 commits into
mainfrom
feat/flexible-split-preview

Conversation

@jacktrnr

Copy link
Copy Markdown
Contributor

Closes #1434. Part of #1430 (Overleaf parity phase 2). Part of #1252.

What

The Work Column was capped at 60% of the window width. Editing .tex alongside a compiled PDF was cramped. This makes Chat and the Work Column fully flexible peers.

Changes

Cap removal

The 60% cap in workColumnWidthMax is replaced with 100%. The Work Column can now fill the entire window.

Chat collapse

When the Work Column is expanded so wide that the Chat panel would be narrower than 200px (CHAT_COLLAPSE_THRESHOLD), the Chat collapses entirely. A restore chevron appears on the left edge. Clicking it or pressing Cmd+Shift+M restores the previous layout.

Maximize toggle button

An expand/collapse icon button at the top-right of the Work Column. Tooltip shows the hotkey. Clicking toggles between full-width Preview and the previous split.

Keyboard shortcut

Cmd+Shift+M (Ctrl+Shift+M on Linux/Windows) toggles maximize from anywhere.

Double-click snap

Double-clicking the resize handle cycles through three positions:

  1. 50/50 split — equal Chat and Preview
  2. Full Preview — Chat collapsed
  3. Default — Preview at minimum width (330px)

Drag-to-collapse

Dragging the resize handle past the Chat threshold auto-collapses; dragging back restores.

Files

File Change
session-panel-width.ts Remove 0.6 cap → 1.0; add CHAT_COLLAPSE_THRESHOLD (200px)
session.tsx Chat collapse state, maximize toggle, Cmd+Shift+M, double-click snap, restore chevron, drag-to-collapse
manifest.json Refresh hashes

Testing

  • 3685 tests pass locally, 0 fail
  • Overlay typecheck gate: clean across all 7 packages
  • Drift gate: PASS

…ize toggle (#1434)

The Work Column was capped at 60% of the window width, cramping the
Preview editor when editing .tex alongside a compiled PDF. This removes
the cap and makes Chat and the Work Column fully flexible peers:

- Remove the 60% width cap in workColumnWidthMax (now 100%)
- Chat collapses when squeezed below 200px (CHAT_COLLAPSE_THRESHOLD)
- Maximize toggle button (expand/collapse icon) at top-right of the
  Work Column, with tooltip showing the hotkey
- Cmd+Shift+M (Ctrl+Shift+M) keyboard shortcut to toggle
- Double-click on the resize handle cycles: 50/50 → full → default
- Restore chevron on the collapsed Chat edge
- Drag-to-collapse: dragging the handle past the Chat threshold
  auto-collapses; dragging back restores

All Work Column surfaces benefit (Preview, Files Changed, Context,
Pulse Inspector), not just .tex editing.
@jacktrnr jacktrnr self-assigned this Sep 24, 2026
@coderabbitai

coderabbitai Bot commented Sep 24, 2026 •

Copy link
Copy Markdown

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Advanced

Run ID: c9beac4b-4d41-49ca-aa8e-9e836b463dd5


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

The Icon import from @opencode-ai/ui/icon created a circular dependency
in the Vite bundle, causing 'Cannot access Se before initialization' at
runtime. Replace with inline SVG chevrons — same visual, no import.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat(app): Fullscreen / maximized Preview for .tex + .pdf side-by-side editing

1 participant