feat(header): session tab tooltips, status dots, cursor context menu

Right-click now opens the session menu under the cursor (the sidebar's
context-menu pattern; the same header-supplied items back both the
"..." dropdown and the context menu via injected menu primitives) and
still never changes the active tab. Hovering a tab shows the sidebar's
session tooltip — title, last-activity time, project, branch and PR
status — after a delay, suppressed while a menu is open or a drag is in
flight. Each tab carries the sidebar's status dot at its end (accent
while the session runs, info-blue for unread), hidden while the hover
controls overlay it. Tab titles fade out instead of ending in "...",
and while the active tab is renaming its hover controls stay hidden so
only the rename controls show.
This commit is contained in:
Bohdan Triapitsyn
2026-08-24 20:02:59 +03:00
parent 338dc73e96
commit c47c7190f4
5 changed files with 366 additions and 139 deletions
+16
View File
@@ -1336,6 +1336,14 @@ html:not(.dark) .chat-scroll {
background: transparent !important;
}
/* The marked renderer uses its own code-body wrapper instead of Streamdown's. */
.markdown-content [data-md-code-body],
.markdown-content [data-md-code-body] pre,
.markdown-content [data-md-code-body] code,
.markdown-content [data-md-code-body] [data-md-code-lines] {
background: transparent !important;
}
.markdown-content [data-md-code-lines] {
display: block;
min-width: 100%;
@@ -1815,3 +1823,11 @@ html.desktop-runtime .markdown-content [data-openchamber-file-link="true"] {
width: 0;
height: 0;
}
/* Session tab titles: fade out instead of "..." — the ellipsis reads as
clutter next to the tab's status dot and hover controls. Short titles
never reach the fade zone (the span spans the tab, not the text). */
.session-tab-title {
-webkit-mask-image: linear-gradient(to right, black calc(100% - 14px), transparent);
mask-image: linear-gradient(to right, black calc(100% - 14px), transparent);
}