fix(sidebar): drag-release bounce, session-delete terminal cleanup, silent resize

- Sidebar.tsx: useLayoutEffect for the layout-push variables so cleanup+setup
  land in the same pre-paint frame (no full-width flash on drag release);
  applyDrag writes the width only while the panel is open (a closed right
  panel no longer squeezes the conversation when dragging the bottom height);
  flush the final drag frame before stopDragScheduling on all three handles;
  sync centerRect.right on width/corner release so the bottom panel does not
  jump.
- index.ts/pty-manager.ts: close a session's UI terminals immediately on
  session/disposed (they used to linger until reconnectGraceMs expired).
- sidebar.module.css: no highlight on the resize handles while dragging
  (local preference; the corner hover hint stays).
This commit is contained in:
chalei1122-cell
2026-08-16 17:43:29 +08:00
parent 3c196fffc3
commit 165ab03ea6
4 changed files with 77 additions and 16 deletions
+4 -4
View File
@@ -132,7 +132,7 @@
}
.panelResizeActive {
background: var(--dsw-alias-interactive-bg-hover-accent);
/* Drag feedback disabled by local preference: no highlight while resizing. */
}
.panelBody {
@@ -195,7 +195,7 @@
}
.bottomResizeActive {
background: var(--dsw-alias-interactive-bg-hover-accent);
/* Drag feedback disabled by local preference: no highlight while resizing. */
}
/* The bottom panel's close control: the app's icon-button pattern (28px
@@ -274,8 +274,8 @@
touch-action: none;
}
.cornerHandle:hover,
.cornerHandle[data-dragging] {
.cornerHandle:hover {
/* Only hover feedback stays; dragging highlight disabled by local preference. */
background: var(--dsw-alias-interactive-bg-hover-accent);
}