Keep the chat resize handle under the pointer
The chat rail sits on the right of the workspace and is resized from its left edge, but resizeDelta treated a left-edge handle as if moving it right widened the pane. Dragging or pressing ArrowRight widened the chat rail and dragging left narrowed it. A pane resized from its left edge now narrows when the edge moves right, and arrow keys move the separator in the arrow's direction. The unit tests and the shell e2e test pinned the inverted mapping; they now assert the pointer-following direction for both pointer and keyboard input, and a new e2e test drags the chat rail's edge both ways. Fixes #214 Assistant-model: Claude Opus 5.5 Assistant-workflow: inline Assistant-duration: 4m converged, estimated 15m Assistant-verification: bun test unit passed: apps/web/src/resizable-pane.test.ts (5 pass) Assistant-verification: Playwright Chromium E2E passed: bun run e2e e2e/shell.e2e.ts (11 passed) Assistant-verification: Playwright Chromium E2E regression check passed: both chat-rail resize tests fail against the old resizeDelta Assistant-verification: typecheck and lint passed: bun run types, bun run ci Co-authored-by: Alex Lavaee <lavaman131@github.com>
Parentf75d6d6
3 files changed+40-9
StackedSplit