Merge pull request #6115 from nesquena/stage/css2-batch

Release exp: narrow-screen CSS fixes — popup min-width (#6104) + timestamp foldable layout (#6106)
This commit is contained in:
nesquena-hermes authored and GitHub committed 2026-07-15 17:23:14 -07:00
commit 7a862c9f6d
2 files changed
+9 -3

No files matched your search

+4
View File
@@ -71,6 +71,10 @@
### Fixed
- **Approval and clarify popups no longer collapse to tiny blank windows on very narrow screens.** On very narrow viewports the clarify card could shrink to an unreadable sliver; it now gets a `min-width` and `overflow:visible` matching the approval card. Thanks @webtecnica. (#6104, #6094)
- **Stream event timestamps no longer break the row layout on narrow foldable screens.** On screens under 360px the per-event timestamps could spill out of tool/thinking card headers; the headers now clip overflow so the timestamp layout holds. (Tool names stay visible — an earlier draft hid them at ≤360px, which lost tool identity; the header clip alone prevents the spill.) Thanks @webtecnica. (#6106, #6099)
- **Streaming sidebar polls no longer re-run the expensive CLI/cron projection every few seconds.** The per-stream cache TTL was pinned at 30s while the frontend's streaming sidebar poll cadence could approach it, so the state.db CLI/cron projection (and its ~200 sidecar reads) could be re-paid on nearly every poll during a live turn (the #4842/#4808 high-CPU `get_cli_sessions` case). The streaming TTL is now held strictly above the sidebar poll interval (45s) and paired with the stable streaming cache key, so repeated polls reuse the projection; a new test asserts the TTL stays above the poll cadence so this can't silently regress. Thanks @starship-s. (#6102, #4842)
- **Delegated subagent sessions in the sidebar now show a meaningful title instead of "Subagent Session".** Generic delegated child sessions previously all displayed the placeholder "Subagent Session" in the conversations list, making them indistinguishable. Their sidebar title is now derived (view-only) from the child's first user message during the existing batched sidebar-metadata pass — without mutating the stored session title, so the read-only boundary is preserved. Only generic "Subagent Session" placeholders are affected; custom titles are left untouched. Thanks @rodboev. (#6056, #6033)
+5 -3
View File
@@ -3205,7 +3205,7 @@
.send-btn.visible{animation:none;opacity:1;transform:none;}
/* Approval card */
.approval-card{padding-left:10px;padding-right:10px;bottom:8px;overflow:visible;}
.approval-inner{max-height:min(52vh,360px);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:12px 12px 14px;border-radius:12px;box-shadow:0 -10px 30px rgba(0,0,0,.24);}
.approval-inner{max-height:min(52vh,360px);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:12px 12px 14px;border-radius:12px;box-shadow:0 -10px 30px rgba(0,0,0,.24);min-width:min(100%,280px);}
@supports (height:100dvh){.approval-inner{max-height:min(60dvh,420px);}}
.approval-header{margin-bottom:8px;}
.approval-collapse,.approval-dismiss{width:44px;height:44px;line-height:1;overflow:hidden;}
@@ -3215,10 +3215,10 @@
.approval-btn.yolo{grid-column:1 / -1;}
.approval-kbd{display:none;}
/* Clarify card */
.clarify-card{padding-left:10px;padding-right:10px;max-height:clamp(180px,min(62vh,calc(100vh - 180px)),360px);}
.clarify-card{padding-left:10px;padding-right:10px;overflow:visible;max-height:clamp(180px,min(62vh,calc(100vh - 180px)),360px);}
.clarify-card .clarify-inner{max-height:clamp(180px,min(62vh,calc(100vh - 180px)),360px);}
@supports (height:100dvh){.clarify-card,.clarify-card .clarify-inner{max-height:clamp(180px,min(62dvh,calc(100dvh - 180px)),360px);}}
.clarify-inner{padding:12px 12px 13px;}
.clarify-inner{padding:12px 12px 13px;min-width:min(100%,280px);}
.clarify-response{flex-direction:column;align-items:stretch;}
.clarify-input,.clarify-submit{width:100%;min-height:44px;}
.clarify-choice{min-height:44px;}
@@ -4089,8 +4089,10 @@ body.resizing .sidebar{transition:none!important;}
padding:1px 4px 1px 7px;
margin-left:0;
border-radius:0;
overflow:hidden;
color:var(--muted);
transition:background .18s ease,color .18s ease;
overflow:hidden;
}
.transparent-event-row .tool-card-header:hover,
.transparent-event-row .thinking-card-header:hover{background:var(--hover-bg);color:var(--text);}