fix: v0.10.4 session list scrolls on its own
No cap on sessions existed, but only the whole Panels column scrolled, so many sessions pushed Ops Alerts and Repo/CI far down. The list now has its own scroll area (46vh), keeps its position across polls and brings the current session into view on switch. Closes #53 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WHRLCCdXYm41Qx5kNhehaP
This commit is contained in:
Vendored
+8
@@ -1,3 +1,11 @@
|
||||
devdesk (0.10.4) bookworm; urgency=medium
|
||||
|
||||
* The Sessions panel's list scrolls on its own (#53). There is no cap on
|
||||
sessions; with many of them, Ops Alerts and Repo/CI stay in reach below
|
||||
the list. The current session is scrolled into view when you switch.
|
||||
|
||||
-- Jared Vititoe <jjvititoe1@gmail.com> Thu, 22 Oct 2026 20:53:00 -0400
|
||||
|
||||
devdesk (0.10.3) bookworm; urgency=medium
|
||||
|
||||
* No tmux right-click menus (#52). A stray click on one split a pane, or
|
||||
|
||||
@@ -366,7 +366,15 @@ export class SessionsPanel {
|
||||
}, '×'))));
|
||||
}
|
||||
if (!items.length) items.push(el('li', { class: 'dd-empty' }, 'No sessions yet.'));
|
||||
const scroll = this.list.scrollTop;
|
||||
this.list.replaceChildren(...items);
|
||||
// Keep the scroll position across polls; bring the current session into view
|
||||
// when it changes.
|
||||
this.list.scrollTop = scroll;
|
||||
if (this.current !== this.shownCurrent) {
|
||||
this.shownCurrent = this.current;
|
||||
this.list.querySelector('.is-current')?.scrollIntoView({ block: 'nearest' });
|
||||
}
|
||||
|
||||
this.projectOptions(this.select);
|
||||
}
|
||||
|
||||
@@ -239,6 +239,13 @@ body.dd-sidebar-open .dd-sidebar {
|
||||
flex-direction: column;
|
||||
gap: 2px;
|
||||
margin-bottom: var(--space-sm);
|
||||
/* Any number of sessions: the list scrolls on its own so the panels below stay
|
||||
in reach (devdesk#53). */
|
||||
max-height: 46vh;
|
||||
overflow-y: auto;
|
||||
overscroll-behavior: contain;
|
||||
scrollbar-width: thin;
|
||||
scrollbar-color: var(--bg-tertiary) transparent;
|
||||
}
|
||||
|
||||
.dd-session-item {
|
||||
|
||||
Reference in New Issue
Block a user