Add support for message history pagination, preserve scroll in rendering, and improve draft/message workflows.
CI / check (22) (push) Successful in 9m34s
CI / check (24) (push) Successful in 9m34s

This commit is contained in:
2026-10-06 00:32:18 +02:00
parent 1c0f06716e
commit 387c0ac2e7
40 changed files with 2374 additions and 1314 deletions
+26 -1
View File
@@ -1,5 +1,30 @@
/* Elsewhere design system. */
.history-controls { display: flex; gap: 8px; justify-content: center; flex-wrap: wrap; }
.history-controls:has(button:not([hidden])) { padding: 8px; }
.history-controls [hidden] { display: none; }
.modal-card.conversation-panel { width: min(1180px, 100%); min-width: 0; max-height: 90dvh; overflow-y: auto; }
.conversation-panel .panel-content { display: grid; gap: 16px; min-width: 0; }
.conversation-panel .panel-notice:empty { display: none; }
.conversation-panel textarea { width: 100%; resize: vertical; min-height: 80px; }
.conversation-panel meter { width: 100%; height: 16px; accent-color: var(--brand); }
.memory-fact { padding: 16px; border: 1px solid var(--border); border-radius: var(--radius-sm); }
.panel-actions { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 8px; }
.branch-layout { display: grid; grid-template-columns: minmax(200px, 1fr) minmax(0, 2fr); gap: 20px; }
.branch-sidebar { min-width: 0; max-height: 65dvh; overflow: auto; }
.branch-tree { padding: 0; list-style: none; }
.branch-tree li { margin: 5px 0 5px calc(var(--branch-depth) * 8px); padding-left: 6px; border-left: 2px solid var(--border); }
.branch-tree button { text-align: left; width: 100%; white-space: normal; overflow-wrap: anywhere; }
.branch-tree [aria-current="true"] { border-color: var(--brand); background: var(--brand-soft); }
.answer-comparison { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; align-items: start; }
.comparison-pane { min-width: 0; display: grid; gap: 10px; padding: 14px; background: var(--surface-soft); border: 1px solid var(--border); border-radius: var(--radius-sm); }
.comparison-pane select { width: 100%; min-width: 0; }
.comparison-pane .msg-content { overflow-wrap: anywhere; }
@media (max-width: 760px) {
.branch-layout, .answer-comparison { grid-template-columns: 1fr; }
.branch-sidebar { max-height: 240px; }
}
.msg-reasoning {
margin: 0 0 12px;
padding: 10px 14px;
@@ -398,7 +423,7 @@ input:focus, textarea:focus, select:focus { border-color: var(--brand); }
.chat-header-actions { display: flex; align-items: center; }
.overflow-trigger { min-height: 38px; padding: 8px 12px; border-radius: 999px; font-size: .8rem; }
.messages-wrap { min-height: 0; position: relative; }
.messages-wrap { min-height: 0; position: relative; display: grid; grid-template-rows: auto minmax(0, 1fr); }
.messages-panel {
height: 100%;
min-height: 0;