From 064d14c85bc9ec62a617d9c13df892b48f93ce2f Mon Sep 17 00:00:00 2001 From: Sanjay Santhanam <51058514+Sanjays2402@users.noreply.github.com> Date: Wed, 6 May 2026 21:22:19 -0700 Subject: [PATCH 001/298] fix(config): custom provider + :free/:beta/:thinking suffix mis-resolution (#1776) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit PR #1762 fixed the rsplit grammar collision for plain @openrouter:model:free qualifiers, but skipped the fallback whenever the provider hint started with 'custom:' on the assumption that custom providers route directly. That left '@custom:my-key:some-model:free' broken: rsplit yields provider='custom:my-key:some-model', bare='free' → custom guard skips the split-fallback → returns provider='custom:my-key:some-model', model='free'. Detect the over-split structurally instead of using a known-suffix allowlist: custom hints carry exactly one segment after 'custom:' (constructed at api/config.py:1363 as 'custom:' + entry_name). So any rsplit result of 'custom::' with bare model '' has eaten one model segment — peel it back with a second rsplit and prepend it to the bare model. This is robust for :free / :beta / :thinking / :preview / any future OpenRouter suffix without an allowlist to maintain. Adds 5 regression tests covering the matrix (free/beta/thinking/preview/ slashed-model). All 7 existing #1744 tests still pass; #1228 tests unaffected. Co-authored-by: Cake <51058514+Sanjays2402@users.noreply.github.com> --- api/config.py | 13 ++++- ...test_resolve_model_provider_free_suffix.py | 57 +++++++++++++++++++ 2 files changed, 69 insertions(+), 1 deletion(-) diff --git a/api/config.py b/api/config.py index c01f20e124..6e67800f97 100644 --- a/api/config.py +++ b/api/config.py @@ -1373,10 +1373,21 @@ def resolve_model_provider(model_id: str) -> tuple: # into provider="openrouter:tencent/hy3-preview", model="free"). Guard # against that by falling back to split(":") when the rsplit result is not # a recognised provider (#1744). + # + # Edge case (#1776): for custom providers with the same suffix + # ("@custom:my-key:some-model:free"), rsplit yields + # provider_hint="custom:my-key:some-model", bare_model="free", and the + # custom-prefix guard below skips the split-fallback. Detect the + # over-split structurally — custom hints carry exactly one segment after + # "custom:", so any provider_hint with 2+ colons that starts with + # "custom:" has eaten part of the model name. Peel one segment back. if model_id.startswith("@") and ":" in model_id: inner = model_id[1:] provider_hint, bare_model = inner.rsplit(":", 1) - if (provider_hint not in _PROVIDER_MODELS + if provider_hint.startswith("custom:") and provider_hint.count(":") >= 2: + provider_hint, extra = provider_hint.rsplit(":", 1) + bare_model = f"{extra}:{bare_model}" + elif (provider_hint not in _PROVIDER_MODELS and provider_hint not in _PROVIDER_DISPLAY and not provider_hint.startswith("custom:")): provider_hint, bare_model = inner.split(":", 1) diff --git a/tests/test_resolve_model_provider_free_suffix.py b/tests/test_resolve_model_provider_free_suffix.py index af9b0cdb82..9d9d0760ad 100644 --- a/tests/test_resolve_model_provider_free_suffix.py +++ b/tests/test_resolve_model_provider_free_suffix.py @@ -113,3 +113,60 @@ def test_known_provider_anthropic(): model, provider, _ = resolve_model_provider(qualified) assert provider == "anthropic" assert model == "claude-sonnet-4.6" + + +# --------------------------------------------------------------------------- +# Issue #1776 — custom provider + :free / :beta / :thinking suffix +# +# The PR #1762 fix for #1744 skipped the rsplit-fallback when the provider +# hint started with "custom:", on the assumption that custom-provider model +# IDs route directly without further heuristics. But "@custom:my-key:model:free" +# trips the same rsplit grammar collision: rsplit yields +# provider="custom:my-key:model", bare="free" +# and the custom-prefix guard skips the fallback → wrong routing. +# +# The fix detects the over-split structurally: custom hints carry exactly +# one segment after "custom:" (see api/config.py:1363 where the slug is +# constructed as "custom:" + entry_name), so any rsplit result of the form +# "custom::" with bare model "" has eaten one model segment. Peel +# it back so the model becomes ":". +# --------------------------------------------------------------------------- + +def test_custom_provider_free_suffix_1776(): + """@custom:my-key:some-model:free → custom:my-key + some-model:free (#1776).""" + qualified = "@custom:my-key:some-model:free" + model, provider, _ = resolve_model_provider(qualified) + assert provider == "custom:my-key", f"expected provider='custom:my-key', got '{provider}'" + assert model == "some-model:free", f"expected model='some-model:free', got '{model}'" + + +def test_custom_provider_beta_suffix_1776(): + """@custom:my-key:some-model:beta — same bug class as :free.""" + qualified = "@custom:my-key:some-model:beta" + model, provider, _ = resolve_model_provider(qualified) + assert provider == "custom:my-key" + assert model == "some-model:beta" + + +def test_custom_provider_thinking_suffix_1776(): + """@custom:my-key:some-model:thinking — same bug class as :free.""" + qualified = "@custom:my-key:some-model:thinking" + model, provider, _ = resolve_model_provider(qualified) + assert provider == "custom:my-key" + assert model == "some-model:thinking" + + +def test_custom_provider_preview_suffix_1776(): + """@custom:my-key:some-model:preview — same bug class, no allowlist needed.""" + qualified = "@custom:my-key:some-model:preview" + model, provider, _ = resolve_model_provider(qualified) + assert provider == "custom:my-key" + assert model == "some-model:preview" + + +def test_custom_provider_slashed_model_with_free_suffix_1776(): + """@custom:my-key:org/model:free — custom hint + slashed model + suffix.""" + qualified = "@custom:my-key:org/model:free" + model, provider, _ = resolve_model_provider(qualified) + assert provider == "custom:my-key" + assert model == "org/model:free" From 048f1fa24e371dac413ad76ce98963e532055bc9 Mon Sep 17 00:00:00 2001 From: Michael Lam Date: Wed, 6 May 2026 22:32:29 -0700 Subject: [PATCH 002/298] fix: keep assistant-only stream deltas on current turn --- api/streaming.py | 27 ++++++++++++++++++ .../1787/issue-1787-transcript-order.png | Bin 0 -> 48530 bytes tests/test_session_save_mode.py | 27 ++++++++++++++++++ 3 files changed, 54 insertions(+) create mode 100644 docs/pr-media/1787/issue-1787-transcript-order.png diff --git a/api/streaming.py b/api/streaming.py index ae8ebe9f2e..90c2a68c19 100644 --- a/api/streaming.py +++ b/api/streaming.py @@ -1516,6 +1516,33 @@ def _merge_display_messages_after_agent_result(previous_display, previous_contex merged = previous_display[:] seen = {_message_identity(m) for m in merged} current_user_key = _message_identity({'role': 'user', 'content': msg_text}) + current_user_in_candidates = any( + _message_identity(m) == current_user_key for m in candidates + ) + current_user_already_checkpointed = bool( + merged and _message_identity(merged[-1]) == current_user_key + ) + if ( + current_user_key is not None + and not current_user_in_candidates + and not current_user_already_checkpointed + and any( + isinstance(m, dict) and m.get('role') in ('assistant', 'tool') + for m in candidates + ) + ): + # Some provider retry/fallback paths can return an assistant/tool delta + # without echoing the current user turn. In deferred session-save mode + # the prompt exists only in pending_user_message, so appending that delta + # directly would make the assistant bubble appear attached to the prior + # exchange and then clear the pending prompt. Materialize the current + # turn at the transcript boundary before the assistant/tool response. + current_user_msg = {'role': 'user', 'content': msg_text} + insert_at = 0 + while insert_at < len(candidates) and _is_context_compression_marker(candidates[insert_at]): + insert_at += 1 + candidates = candidates[:insert_at] + [current_user_msg] + candidates[insert_at:] + for msg in candidates: key = _message_identity(msg) if ( diff --git a/docs/pr-media/1787/issue-1787-transcript-order.png b/docs/pr-media/1787/issue-1787-transcript-order.png new file mode 100644 index 0000000000000000000000000000000000000000..b08a2a3e53bd2165acaffcd7506ca0afbba34d47 GIT binary patch literal 48530 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
    |KndP%F)kwJ7(oRqoLf+QyU2mjeufbLH^!zR) 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

    >5Gbt++Sioobc@iB&#TEh8=-_;rJ3X=0Y_ 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 L>WU>#%s%`N*}jil literal 0 HcmV?d00001 diff --git a/tests/test_session_save_mode.py b/tests/test_session_save_mode.py index 32759574bf..66c3fe3d01 100644 --- a/tests/test_session_save_mode.py +++ b/tests/test_session_save_mode.py @@ -130,3 +130,30 @@ def test_eager_checkpointed_user_is_not_duplicated_after_agent_result(): msg_text="repeat me", ) assert [m["role"] for m in merged] == ["user", "assistant"] + + +def test_deferred_turn_is_materialized_when_agent_returns_assistant_only_delta(): + merged = streaming._merge_display_messages_after_agent_result( + previous_display=[ + {"role": "user", "content": "older prompt"}, + {"role": "assistant", "content": "older answer"}, + ], + previous_context=[ + {"role": "user", "content": "older prompt"}, + {"role": "assistant", "content": "older answer"}, + ], + result_messages=[ + {"role": "user", "content": "older prompt"}, + {"role": "assistant", "content": "older answer"}, + {"role": "assistant", "content": "current answer"}, + ], + msg_text="latest prompt", + ) + + assert [m["role"] for m in merged] == [ + "user", + "assistant", + "user", + "assistant", + ] + assert [m["content"] for m in merged[-2:]] == ["latest prompt", "current answer"] From ee5600e46c83ccaa273a49e834a3d397e5a83c3f Mon Sep 17 00:00:00 2001 From: Michael Lam Date: Wed, 6 May 2026 22:14:47 -0700 Subject: [PATCH 003/298] fix: keep workspace open from preview breadcrumb --- .../1785/workspace-root-breadcrumb-fixed.png | Bin 0 -> 128276 bytes static/boot.js | 6 +- static/workspace.js | 8 +-- ..._issue1785_workspace_preview_breadcrumb.py | 59 ++++++++++++++++++ 4 files changed, 67 insertions(+), 6 deletions(-) create mode 100644 docs/pr-media/1785/workspace-root-breadcrumb-fixed.png create mode 100644 tests/test_issue1785_workspace_preview_breadcrumb.py diff --git a/docs/pr-media/1785/workspace-root-breadcrumb-fixed.png b/docs/pr-media/1785/workspace-root-breadcrumb-fixed.png new file mode 100644 index 0000000000000000000000000000000000000000..6167e6ee779b7a2c77e1e13a24dde60c96eda015 GIT binary patch literal 128276 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%0AKrvk12o*#cE$Q^*z)6U2X(h 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 literal 0 HcmV?d00001 diff --git a/static/boot.js b/static/boot.js index 7c4a66f98f..3fa54c9402 100644 --- a/static/boot.js +++ b/static/boot.js @@ -820,10 +820,11 @@ $('importFileInput').onchange=async(e)=>{ } }; // btnRefreshFiles is now panel-icon-btn in header (see HTML) -function clearPreview(){ +function clearPreview(opts={}){ + const keepPanelOpen=!!(opts&&opts.keepPanelOpen); // Restore directory breadcrumb after closing file preview if(typeof renderBreadcrumb==='function') renderBreadcrumb(); - const closePanelAfter=_workspacePanelMode==='preview'; + const closePanelAfter=_workspacePanelMode==='preview'&&!keepPanelOpen; const pa=$('previewArea');if(pa)pa.classList.remove('visible'); const pi=$('previewImg');if(pi){pi.onerror=null;pi.src='';} const pdf=$('previewPdfFrame');if(pdf)pdf.src=''; @@ -834,6 +835,7 @@ function clearPreview(){ const ft=$('fileTree');if(ft)ft.style.display=''; _previewCurrentPath='';_previewCurrentMode='';_previewDirty=false; if(closePanelAfter)closeWorkspacePanel(); + else if(keepPanelOpen&&_workspacePanelMode==='preview')openWorkspacePanel('browse'); else syncWorkspacePanelUI(); } $('btnClearPreview').onclick=handleWorkspaceClose; diff --git a/static/workspace.js b/static/workspace.js index bf26f1e471..1511a70a44 100644 --- a/static/workspace.js +++ b/static/workspace.js @@ -85,9 +85,9 @@ async function loadDir(path){ } if(typeof clearPreview==='function'){ if(typeof _previewDirty!=='undefined'&&_previewDirty){ - showConfirmDialog({title:t('unsaved_confirm'),message:'',confirmLabel:'Discard',danger:true,focusCancel:true}).then(ok=>{if(ok)clearPreview();}); + showConfirmDialog({title:t('unsaved_confirm'),message:'',confirmLabel:'Discard',danger:true,focusCancel:true}).then(ok=>{if(ok)clearPreview({keepPanelOpen:true});}); }else{ - clearPreview(); + clearPreview({keepPanelOpen:true}); } } // Fetch git info for workspace root (non-blocking) @@ -337,7 +337,7 @@ function renderFileBreadcrumb(filePath) { const root = document.createElement('span'); root.className = 'breadcrumb-seg breadcrumb-link'; root.textContent = '~'; - root.onclick = () => { clearPreview(); loadDir('.'); }; + root.onclick = () => { loadDir('.'); }; bar.appendChild(root); const parts = filePath.split('/'); @@ -354,7 +354,7 @@ function renderFileBreadcrumb(filePath) { if (i < parts.length - 1) { seg.className = 'breadcrumb-seg breadcrumb-link'; const target = accumulated; - seg.onclick = () => { clearPreview(); loadDir(target); }; + seg.onclick = () => { loadDir(target); }; } else { seg.className = 'breadcrumb-seg breadcrumb-current'; } diff --git a/tests/test_issue1785_workspace_preview_breadcrumb.py b/tests/test_issue1785_workspace_preview_breadcrumb.py new file mode 100644 index 0000000000..8c75b2549a --- /dev/null +++ b/tests/test_issue1785_workspace_preview_breadcrumb.py @@ -0,0 +1,59 @@ +from pathlib import Path + + +BOOT_JS = Path("static/boot.js").read_text(encoding="utf-8") +WORKSPACE_JS = Path("static/workspace.js").read_text(encoding="utf-8") + + +def _function_block(src: str, name: str) -> str: + marker = f"function {name}(" + start = src.find(marker) + assert start != -1, f"{name}() not found" + params_end = src.find("){", start) + assert params_end != -1, f"{name}() body not found" + brace = params_end + 1 + depth = 0 + for idx in range(brace, len(src)): + ch = src[idx] + if ch == "{": + depth += 1 + elif ch == "}": + depth -= 1 + if depth == 0: + return src[start : idx + 1] + raise AssertionError(f"{name}() body did not close") + + +def test_clear_preview_can_keep_preview_only_panel_open_for_directory_navigation(): + """#1785: leaving preview via a directory breadcrumb should switch to browse mode, not close.""" + block = _function_block(BOOT_JS, "clearPreview") + assert "keepPanelOpen" in block, ( + "clearPreview() needs an explicit keep-open option so breadcrumb/directory " + "navigation can leave preview-only mode without closing the workspace panel." + ) + assert "_workspacePanelMode==='preview'&&!keepPanelOpen" in block.replace(" ", ""), ( + "Preview-only close behavior should remain for the X button, but must be gated " + "off when directory navigation requests keepPanelOpen." + ) + assert "openWorkspacePanel('browse')" in block or '_setWorkspacePanelMode("browse")' in block, ( + "When keepPanelOpen is requested from preview-only mode, clearPreview() should " + "transition the workspace panel to browse mode so the root listing remains visible." + ) + + +def test_load_dir_keeps_workspace_panel_open_when_clearing_preview(): + """#1785: loadDir('.') from the ~ breadcrumb should reveal the listing, not collapse the panel.""" + block = _function_block(WORKSPACE_JS, "loadDir") + assert "clearPreview({keepPanelOpen:true})" in block.replace(" ", ""), ( + "Directory navigation clears previews as part of showing the file tree; that clear " + "must keep the workspace panel open for breadcrumb navigation from preview mode." + ) + + +def test_file_preview_breadcrumb_uses_directory_navigation_for_root(): + block = _function_block(WORKSPACE_JS, "renderFileBreadcrumb") + assert "loadDir('.')" in block, "The preview root breadcrumb should navigate to the workspace root." + assert "clearPreview(); loadDir('.')" not in block, ( + "The preview root breadcrumb should not do a close-style preview clear before " + "directory navigation; loadDir() owns the keep-open preview clear." + ) From f90f283b7302308678760e18113451454d16f7a0 Mon Sep 17 00:00:00 2001 From: Michael Lam Date: Wed, 6 May 2026 22:15:45 -0700 Subject: [PATCH 004/298] docs: add workspace breadcrumb before screenshot --- .../workspace-preview-breadcrumb-before.png | Bin 0 -> 133688 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 docs/pr-media/1785/workspace-preview-breadcrumb-before.png diff --git a/docs/pr-media/1785/workspace-preview-breadcrumb-before.png b/docs/pr-media/1785/workspace-preview-breadcrumb-before.png new file mode 100644 index 0000000000000000000000000000000000000000..12d18944b1979143f2aece5222c3f69c91410790 GIT binary patch literal 133688 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

    HybAR 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�DK8$KTC9HodTu!U$PHWqyKpOm38A3WR$)$_4R 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

    w~Qa=g*zG4t26JrEER@5||y;V1bSS2r$_UYp7Z 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 Date: Wed, 6 May 2026 22:15:23 -0700 Subject: [PATCH 005/298] fix: preserve sidebar scrolling while streaming --- docs/pr-media/1784/sidebar-scroll-fixture.png | Bin 0 -> 59891 bytes docs/pr-media/1784/sidebar-scroll-qa.json | 25 ++++++++++ static/style.css | 2 +- static/ui.js | 20 ++++++++ tests/test_streaming_sidebar_scroll.py | 47 ++++++++++++++++++ 5 files changed, 93 insertions(+), 1 deletion(-) create mode 100644 docs/pr-media/1784/sidebar-scroll-fixture.png create mode 100644 docs/pr-media/1784/sidebar-scroll-qa.json create mode 100644 tests/test_streaming_sidebar_scroll.py diff --git a/docs/pr-media/1784/sidebar-scroll-fixture.png b/docs/pr-media/1784/sidebar-scroll-fixture.png new file mode 100644 index 0000000000000000000000000000000000000000..3f90334da89a2d7ef76e3b60982d3ddb98ea56e7 GIT binary patch literal 59891 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 mlK=l7YR?G*GT1khLFNQI}XpUXO@geCxHuc5;L literal 0 HcmV?d00001 diff --git a/docs/pr-media/1784/sidebar-scroll-qa.json b/docs/pr-media/1784/sidebar-scroll-qa.json new file mode 100644 index 0000000000..75d2cc2aed --- /dev/null +++ b/docs/pr-media/1784/sidebar-scroll-qa.json @@ -0,0 +1,25 @@ +{ + "issue": 1784, + "commit_under_test": "9875967", + "fixture": "Synthetic 180-row session sidebar with active sid_0 streaming and long chat pane content.", + "pre_fix_observation": { + "steps": [ + "Set _scrollPinned=true with #messages at scrollTop 0 in a long chat fixture.", + "Dispatch a wheel gesture on the active sidebar session row.", + "Call scrollIfPinned() to mimic the next streaming token render." + ], + "result": "#messages jumped from scrollTop 0 to 3073 immediately after the sidebar wheel gesture, showing the chat auto-scroll path fought non-chat scroll intent." + }, + "post_fix_observation": { + "steps": [ + "Repeat the same fixture and sidebar wheel gesture after the fix.", + "Call scrollIfPinned() immediately, then again after the 350ms non-chat intent guard expires." + ], + "result": { + "afterSidebarWheel": 0, + "afterIntentExpires": 2992, + "sessionListCss": "overscroll-behavior-y: contain; touch-action: pan-y" + }, + "meaning": "A sidebar wheel/touch scroll intent now suppresses only the immediate chat-pane auto-scroll write, leaving the sidebar gesture free while streaming continues." + } +} diff --git a/static/style.css b/static/style.css index 21be7ff67a..9f413a3493 100644 --- a/static/style.css +++ b/static/style.css @@ -321,7 +321,7 @@ .sidebar-section{padding:14px 14px 8px;} .new-chat-btn{width:100%;padding:9px 12px;border-radius:9px;background:var(--accent-bg);border:1px solid var(--accent-bg-strong);color:var(--accent-text);font-size:13px;cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .15s;margin-bottom:8px;font-weight:500;} .new-chat-btn:hover{background:var(--accent-bg-strong);border-color:var(--accent);} - .session-list{flex:1;overflow-y:auto;padding:0 8px 8px;min-height:0;} + .session-list{flex:1;overflow-y:auto;padding:0 8px 8px;min-height:0;overscroll-behavior-y:contain;touch-action:pan-y;} .sidebar-search{position:relative;padding:8px 12px;flex-shrink:0;} .sidebar-search input{width:100%;background:var(--bg);border:1px solid var(--border);border-radius:8px;color:var(--text);padding:7px 10px 7px 32px;font-size:13px;outline:none;transition:border-color .15s,box-shadow .15s,background .15s;box-sizing:border-box;} .sidebar-search input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-bg);} diff --git a/static/ui.js b/static/ui.js index 7cf75ed06d..bc49854270 100644 --- a/static/ui.js +++ b/static/ui.js @@ -1472,6 +1472,25 @@ let _scrollPinned=true; let _programmaticScroll=false; let _nearBottomCount=0; let _lastScrollTop=null; +let _lastNonMessageScrollIntentMs=0; +const NON_MESSAGE_SCROLL_INTENT_SUPPRESS_MS=350; +function _recordNonMessageScrollIntent(e){ + const el=document.getElementById('messages'); + const target=e&&e.target; + if(!el||!target) return; + // Streaming token renders should keep pinning the chat only while the user is + // actually interacting with the chat pane. A wheel/touch gesture over the + // session sidebar (or another independent pane) must not be immediately fought + // by scrollIfPinned() writing #messages.scrollTop on the next token (#1784). + if(!el.contains(target)) _lastNonMessageScrollIntentMs=performance.now(); +} +function _recentNonMessageScrollIntent(){ + return performance.now()-_lastNonMessageScrollIntentMs{_programmaticScroll=false;},0);} } diff --git a/tests/test_streaming_sidebar_scroll.py b/tests/test_streaming_sidebar_scroll.py new file mode 100644 index 0000000000..60aa933938 --- /dev/null +++ b/tests/test_streaming_sidebar_scroll.py @@ -0,0 +1,47 @@ +"""Regression tests for #1784: sidebar scroll remains independent while streaming.""" +from pathlib import Path + +ROOT = Path(__file__).resolve().parents[1] +UI_JS = (ROOT / "static" / "ui.js").read_text(encoding="utf-8") +STYLE_CSS = (ROOT / "static" / "style.css").read_text(encoding="utf-8") + + +def _extract_fn(src: str, name: str) -> str: + marker = f"function {name}" + start = src.find(marker) + assert start >= 0, f"{name} not found" + brace = src.find("{", start) + assert brace >= 0, f"{name} body not found" + depth = 0 + for i in range(brace, len(src)): + ch = src[i] + if ch == "{": + depth += 1 + elif ch == "}": + depth -= 1 + if depth == 0: + return src[start : i + 1] + raise AssertionError(f"{name} body did not close") + + +def test_sidebar_wheel_intent_is_recorded_passively(): + """A sidebar wheel gesture must not be swallowed or ignored during streaming.""" + assert "_recordNonMessageScrollIntent" in UI_JS + assert "document.addEventListener('wheel',_recordNonMessageScrollIntent" in UI_JS + assert "{capture:true,passive:true}" in UI_JS + assert "!el.contains(target)" in UI_JS + assert "_lastNonMessageScrollIntentMs=performance.now()" in UI_JS + + +def test_scroll_if_pinned_skips_during_recent_non_message_scroll(): + """Token rendering must not force-scroll #messages while the sidebar is being scrolled.""" + fn = _extract_fn(UI_JS, "scrollIfPinned") + assert "_recentNonMessageScrollIntent()" in fn + guard_index = fn.find("_recentNonMessageScrollIntent()") + write_index = fn.find("scrollTop=el.scrollHeight") + assert guard_index >= 0 and write_index >= 0 and guard_index < write_index + + +def test_session_list_has_its_own_scroll_boundary(): + """The session list is its own scroll surface, not chained to the chat/body scroller.""" + assert ".session-list{flex:1;overflow-y:auto;padding:0 8px 8px;min-height:0;overscroll-behavior-y:contain;touch-action:pan-y;}" in STYLE_CSS From b49c3cbd433367339b9e2c1629afa040b2b2a0c6 Mon Sep 17 00:00:00 2001 From: nesquena-hermes Date: Thu, 7 May 2026 06:14:03 +0000 Subject: [PATCH 006/298] fix(ux): rail tooltips, +new-conversation clipping, context-menu hover, rename pre-fill MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Four small UX bugs Nathan caught while dogfooding the v0.51.17 release on desktop. All independently reproduced with browser_console + browser_vision on a fresh worktree before fixing. (1) **Left-rail icon tooltips never appeared.** The rail was migrated to the new `.has-tooltip` system in #1782, but the legacy suppression rule `.rail .nav-tab:hover::after { content: none }` survived the migration. Its specificity (0,3,1) outweighs `.has-tooltip:hover::after` (0,2,1), and `content: none` removes the pseudo-element entirely on hover — so the new tooltip system silently no-op'd on every rail icon. Fix: drop the suppression rule and scope the legacy `data-label` tooltip to `.sidebar-nav .nav-tab` (mobile) only, so it doesn't fire on rail buttons that carry no `data-label` (which would render an empty styled box). (2) **`+ New conversation` tooltip clipped at panel right edge.** The button sits flush with the chat panel's right edge but used `--bottom` which centers the tooltip on `left:50%` — half the label overflowed past the panel edge ("New convers..."). New `.has-tooltip--bottom-right` variant anchors the tooltip's RIGHT edge to the trigger so the label extends inward. Reusable for any future right-edge panel-head button. (3) **Workspace right-click menu items had no hover state.** The five sites in `_showFileContextMenu` (Rename / Reveal / Copy path / Delete) and two in `_showProjectContextMenu` set `style.background = 'var(--hover)'`. The custom property `--hover` is undefined anywhere in the codebase. An undefined `var()` falls back to the property's initial value (`transparent` for `background`) → no visible hover feedback. The defined variable is `--hover-bg` (`rgba(255,255,255,.06)`), already used by every other hover state in the app. One-letter typo, seven sites. (4) **Rename dialog didn't pre-fill the current filename.** The caller (`_inlineRenameFileItem`) passed `defaultValue: item.name` to `showPromptDialog`, but the dialog's input setter reads `opts.value` only — the param name was silently dropped, leaving only the placeholder visible (Nathan called it the "ghost name"). Fixed two ways for defense-in-depth: - Caller switched to canonical `value: item.name`. - Dialog now also accepts `defaultValue` as an alias for `value`, so future typos using the standard `HTMLInputElement.defaultValue` param name don't repeat the bug. Plus: added `selectStem:true` opt that selects the stem before the last `.` on focus (Finder-style: `report.txt` → selects `report`, extension preserved). Edge cases verified live: directories full-select, `.gitignore` full-selects (dot at index 0), `noextension` full-selects, `a.b.c.d` selects `a.b.c`. ## Tests +12 new regression tests, +5 net (existing test_css_tooltips suite gained 5 class-based tests; new tests/test_workspace_context_menu_and_rename.py file adds 7 more). Total: 4728 passed (was 4723 in v0.51.17), 4 skipped, 3 xpassed, 0 failed in 141s. - `RailTooltipCascadeTests` — pins the killer rule's absence (with comment stripping so the explanatory note doesn't false-positive), pins the scoped `.sidebar-nav .nav-tab` form, walks every rail button to confirm `has-tooltip` + non-empty `data-tooltip`. - `BottomRightTooltipVariantTests` — pins variant existence, mechanics (`right:0`, `left:auto`, `transform:none`), and `#btnNewChat` adoption (with mutual-exclusion check that it doesn't carry both `--bottom` and `--bottom-right`). - `ContextMenuHoverBackgroundTests` — `var(--hover)` may not appear in ui.js or sessions.js (the bug shape); affirmative pin that `_showFileContextMenu` sets ≥4 items to `var(--hover-bg)` and `_showProjectContextMenu` ≥2. - `ShowPromptDialogPrefillTests` — pins both `opts.value` and `opts.defaultValue` references; pins the `selectStem` mechanic (`lastIndexOf('.')` + `setSelectionRange(0, dot)`); pins the caller's use of `value:item.name` and `selectStem`. ## Verification Live in browser at port 8789 (worktree-served): - Rail Tasks tooltip renders 8px right of the icon at the same vertical level (math: btn at y=87-123, tooltip at left=44px = 36px width + 8px gap). - New-conversation tooltip renders below + button with right edge aligned to button's right edge, extending leftward, fully visible. - Right-click → Reveal in File Manager shows `rgba(255, 255, 255, 0.035)` background on hover (the `--hover-bg` value); was `rgba(0, 0, 0, 0)` (transparent) before. - Right-click → Rename on `report.txt`: input shows `report.txt`, selectionStart=0, selectionEnd=6, selected text = "report". Edge cases: directory `docs` → full-select; `.gitignore` → full-select; `noextension` → full-select; `a.b.c.d` → selects `a.b.c`. `node -c` syntax check passes on both modified JS files. Reported by: Nathan via screenshots (rail tooltips missing, + button clipped tooltip, Workspace right-click no hover, rename dialog blank). --- static/index.html | 2 +- static/sessions.js | 4 +- static/style.css | 24 +- static/ui.js | 49 +++- tests/test_css_tooltips.py | 168 +++++++++++ .../test_workspace_context_menu_and_rename.py | 263 ++++++++++++++++++ 6 files changed, 498 insertions(+), 12 deletions(-) create mode 100644 tests/test_workspace_context_menu_and_rename.py diff --git a/static/index.html b/static/index.html index dd97d70d31..2eb061ad5b 100644 --- a/static/index.html +++ b/static/index.html @@ -122,7 +122,7 @@

    Chat
    -
    diff --git a/static/sessions.js b/static/sessions.js index e7892a0f0f..a925b1c8a5 100644 --- a/static/sessions.js +++ b/static/sessions.js @@ -2884,7 +2884,7 @@ function _showProjectContextMenu(e, proj, chip){ const renameItem=document.createElement('div'); renameItem.textContent='Rename'; renameItem.style.cssText='padding:7px 14px;cursor:pointer;font-size:13px;color:var(--text);'; - renameItem.onmouseenter=()=>renameItem.style.background='var(--hover)'; + renameItem.onmouseenter=()=>renameItem.style.background='var(--hover-bg)'; renameItem.onmouseleave=()=>renameItem.style.background=''; renameItem.onclick=()=>{menu.remove();_startProjectRename(proj,chip);}; menu.appendChild(renameItem); @@ -2913,7 +2913,7 @@ function _showProjectContextMenu(e, proj, chip){ const delItem=document.createElement('div'); delItem.textContent='Delete'; delItem.style.cssText='padding:7px 14px;cursor:pointer;font-size:13px;color:var(--error,#e94560);'; - delItem.onmouseenter=()=>delItem.style.background='var(--hover)'; + delItem.onmouseenter=()=>delItem.style.background='var(--hover-bg)'; delItem.onmouseleave=()=>delItem.style.background=''; delItem.onclick=()=>{menu.remove();_confirmDeleteProject(proj);}; menu.appendChild(delItem); diff --git a/static/style.css b/static/style.css index 9f413a3493..d8d2892271 100644 --- a/static/style.css +++ b/static/style.css @@ -660,13 +660,27 @@ .has-tooltip:hover::after,.has-tooltip:focus-visible::after{opacity:1;transition-delay:.15s;} /* For bottom-positioned tooltips (panel header buttons, non-rail elements) */ .has-tooltip--bottom::after{left:50%;top:auto;bottom:auto;transform:translateX(-50%);top:calc(100% + 8px);} + /* For bottom-positioned tooltips on a trigger that sits flush with its + container's right edge — anchors the tooltip's RIGHT edge to the trigger + so the label extends inward (to the left) instead of overflowing past the + panel edge. Used for the `+` New conversation button at the right of the + chat panel header. Pairs with `--bottom`; do not apply both. */ + .has-tooltip--bottom-right::after{left:auto;right:0;top:calc(100% + 8px);bottom:auto;transform:none;} /* For right-edge elements (e.g. send button) — tooltip flips to the LEFT of the trigger so it doesn't extend past the viewport edge. */ .has-tooltip--left::after{left:auto;right:calc(100% + 8px);top:50%;transform:translateY(-50%);} @media(prefers-reduced-motion:reduce){.has-tooltip::after{transition:none;transition-delay:0s;}} .rail-spacer{flex:1;min-height:8px;} .rail .nav-tab{flex:0 0 auto;padding:0;font-size:inherit;border-bottom:none;overflow:visible;} -.rail .nav-tab:hover::after{content:none;} +/* Note: previously this block had `.rail .nav-tab:hover::after { content: none }` + to suppress the legacy `.nav-tab:hover::after { content: attr(data-label) }` + tooltip (line ~681 below) on the desktop rail. After v0.51.17 migrated the + rail to the custom `.has-tooltip` system, that suppression rule survived and + blocked the new tooltips because `.rail .nav-tab:hover::after` (specificity + 0,3,1) outweighs `.has-tooltip:hover::after` (0,2,1) and `content:none` + removes the pseudo-element entirely. Solution: scope the legacy + `.nav-tab:hover::after` data-label tooltip to `.sidebar-nav` (mobile) only + (see line ~681). The rail rule is no longer needed. */ .rail .nav-tab.active::before{content:'';position:absolute;left:-6px;top:50%;bottom:auto;transform:translateY(-50%);width:3px;height:16px;background:var(--accent);border-radius:0 2px 2px 0;} .dashboard-link{position:relative;} .dashboard-link-visible{display:flex!important;} @@ -678,7 +692,13 @@ .sidebar-nav{display:flex;border-bottom:1px solid var(--border);flex-shrink:0;padding:6px 8px 0;gap:2px;} .nav-tab{flex:1;padding:10px 4px 8px;font-size:20px;text-align:center;cursor:pointer;color:var(--muted);border:none;background:none;transition:color .15s;border-bottom:2px solid transparent;white-space:nowrap;overflow:hidden;position:relative;display:flex;align-items:center;justify-content:center;} .nav-tab:hover{color:var(--text);} - .nav-tab:hover::after{content:attr(data-label);position:absolute;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%);background:var(--surface);border:1px solid var(--accent-bg-strong);color:var(--accent-text);font-size:12px;font-weight:700;letter-spacing:.02em;padding:6px 12px;border-radius:8px;white-space:nowrap;pointer-events:none;z-index:50;box-shadow:0 4px 12px rgba(0,0,0,.3);} + /* Legacy hover-tooltip — kept for the mobile `.sidebar-nav` only, where it + positions ABOVE the trigger (the bar is at the top of the sidebar so a + bottom-positioned tooltip would sink into the panel content). The desktop + `.rail` buttons opt out of this rule so the `.has-tooltip` system can run + unobstructed; rail buttons carry no `data-label`, so an unscoped rule + would render an empty styled box on hover. */ + .sidebar-nav .nav-tab:hover::after{content:attr(data-label);position:absolute;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%);background:var(--surface);border:1px solid var(--accent-bg-strong);color:var(--accent-text);font-size:12px;font-weight:700;letter-spacing:.02em;padding:6px 12px;border-radius:8px;white-space:nowrap;pointer-events:none;z-index:50;box-shadow:0 4px 12px rgba(0,0,0,.3);} .nav-tab.active{color:var(--accent-text);} .nav-tab.active::before{content:'';position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:20px;height:2px;background:var(--accent);border-radius:2px 2px 0 0;} /* Panel content areas (swapped by tab) */ diff --git a/static/ui.js b/static/ui.js index bc49854270..ff66688390 100644 --- a/static/ui.js +++ b/static/ui.js @@ -3045,7 +3045,11 @@ function showPromptDialog(opts={}){ if(desc) desc.textContent=opts.message||''; if(input){ input.type=opts.inputType||'text';input.style.display=''; - input.value=opts.value||'';input.placeholder=opts.placeholder||''; + // Pre-fill: prefer `value`, accept `defaultValue` as alias for callers that + // mirror the standard HTMLInputElement.defaultValue naming. Both empty → + // blank field (the default rename-from-scratch flow stays unchanged). + const prefill=(opts.value!=null?opts.value:(opts.defaultValue!=null?opts.defaultValue:'')); + input.value=prefill;input.placeholder=opts.placeholder||''; input.autocomplete='off';input.spellcheck=false; } if(cancelBtn) cancelBtn.textContent=opts.cancelLabel||t('cancel'); @@ -3054,7 +3058,27 @@ function showPromptDialog(opts={}){ if(overlay){overlay.style.display='flex';overlay.setAttribute('aria-hidden','false');} return new Promise(resolve=>{ APP_DIALOG.resolve=resolve; - setTimeout(()=>{if(input&&input.style.display!=='none')input.focus();else if(confirmBtn)confirmBtn.focus();},0); + setTimeout(()=>{ + if(input&&input.style.display!=='none'){ + input.focus(); + // Selection behavior on focus: + // selectStem:true → select everything before the LAST '.' (e.g. for + // 'report.txt' selects 'report' so a user can retype the basename + // without losing the extension; matches macOS Finder rename UX). + // Falls back to selecting the full value when there's no '.' or + // the dot is at index 0 ('.gitignore' → full select). + // selectAll:true → select the entire prefilled value. + // default → caret at end (current behavior). + const v=input.value||''; + if(opts.selectStem && v){ + const dot=v.lastIndexOf('.'); + if(dot>0) input.setSelectionRange(0,dot); + else input.select(); + } else if(opts.selectAll && v){ + input.select(); + } + } else if(confirmBtn) confirmBtn.focus(); + },0); }); } @@ -6225,7 +6249,7 @@ function _showFileContextMenu(e, item){ const renameItem=document.createElement('div'); renameItem.textContent=t('rename_title'); renameItem.style.cssText='padding:7px 14px;cursor:pointer;font-size:13px;color:var(--text);'; - renameItem.onmouseenter=()=>renameItem.style.background='var(--hover)'; + renameItem.onmouseenter=()=>renameItem.style.background='var(--hover-bg)'; renameItem.onmouseleave=()=>renameItem.style.background=''; renameItem.onclick=()=>{menu.remove();_inlineRenameFileItem(item);}; menu.appendChild(renameItem); @@ -6234,7 +6258,7 @@ function _showFileContextMenu(e, item){ const revealItem=document.createElement('div'); revealItem.textContent=t('reveal_in_finder'); revealItem.style.cssText='padding:7px 14px;cursor:pointer;font-size:13px;color:var(--text);'; - revealItem.onmouseenter=()=>revealItem.style.background='var(--hover)'; + revealItem.onmouseenter=()=>revealItem.style.background='var(--hover-bg)'; revealItem.onmouseleave=()=>revealItem.style.background=''; revealItem.onclick=async()=>{menu.remove();try{await api('/api/file/reveal',{method:'POST',body:JSON.stringify({session_id:S.session.session_id,path:item.path})});}catch(err){showToast(t('reveal_failed')+(err.message||err));}}; menu.appendChild(revealItem); @@ -6247,7 +6271,7 @@ function _showFileContextMenu(e, item){ const copyPathItem=document.createElement('div'); copyPathItem.textContent=t('copy_file_path'); copyPathItem.style.cssText='padding:7px 14px;cursor:pointer;font-size:13px;color:var(--text);'; - copyPathItem.onmouseenter=()=>copyPathItem.style.background='var(--hover)'; + copyPathItem.onmouseenter=()=>copyPathItem.style.background='var(--hover-bg)'; copyPathItem.onmouseleave=()=>copyPathItem.style.background=''; copyPathItem.onclick=async()=>{ menu.remove(); @@ -6286,7 +6310,7 @@ function _showFileContextMenu(e, item){ const delItem=document.createElement('div'); delItem.textContent=t('delete_title'); delItem.style.cssText='padding:7px 14px;cursor:pointer;font-size:13px;color:var(--error,#e94560);'; - delItem.onmouseenter=()=>delItem.style.background='var(--hover)'; + delItem.onmouseenter=()=>delItem.style.background='var(--hover-bg)'; delItem.onmouseleave=()=>delItem.style.background=''; delItem.onclick=()=>{menu.remove();if(item.type==='dir')deleteWorkspaceDir(item.path,item.name);else deleteWorkspaceFile(item.path,item.name);}; menu.appendChild(delItem); @@ -6298,7 +6322,18 @@ function _showFileContextMenu(e, item){ async function _inlineRenameFileItem(item){ if(!S.session)return; - const newName=await showPromptDialog({message:t('rename_prompt'),defaultValue:item.name,placeholder:item.name,confirmLabel:t('rename_title')}); + // Pre-fill the input with the current name and select just the stem + // (everything before the last '.') so the user can immediately retype the + // basename while preserving the extension — matches macOS Finder. For + // directories or names with no '.', the helper selects the full value. + // `selectStem` also handles dotfiles ('.gitignore') by full-selecting. + const newName=await showPromptDialog({ + message:t('rename_prompt'), + value:item.name, + confirmLabel:t('rename_title'), + selectStem:item.type!=='dir', + selectAll:item.type==='dir' + }); if(!newName||newName===item.name)return; try{ await api('/api/file/rename',{method:'POST',body:JSON.stringify({session_id:S.session.session_id,path:item.path,new_name:newName})}); diff --git a/tests/test_css_tooltips.py b/tests/test_css_tooltips.py index 125faed080..2e31cc254d 100644 --- a/tests/test_css_tooltips.py +++ b/tests/test_css_tooltips.py @@ -350,5 +350,173 @@ def test_native_title_path_preserved_for_non_tooltip_elements(self): ) +# --------------------------------------------------------------------------- +# Rail tooltip cascade regression (post-v0.51.17 follow-up) +# --------------------------------------------------------------------------- +class RailTooltipCascadeTests(unittest.TestCase): + """Pin the cascade fix that lets `.has-tooltip` work on `.rail .nav-tab`. + + Background: the legacy `.nav-tab:hover::after { content: attr(data-label) }` + rule was paired with a `.rail .nav-tab:hover::after { content: none }` rule + that suppressed it on the desktop rail. After v0.51.17 migrated rail icons + to `.has-tooltip`, the suppression rule's specificity (0,3,1) outweighed + `.has-tooltip:hover::after` (0,2,1), and `content: none` removes the + pseudo-element entirely — so rail tooltips never appeared. Fix: scope the + legacy `data-label` tooltip to `.sidebar-nav .nav-tab` only and drop the + rail suppression rule. + """ + + def setUp(self): + self.css = _read(STYLE_CSS) + + def test_rail_nav_tab_hover_after_killer_is_gone(self): + """The `.rail .nav-tab:hover::after { content: none }` rule MUST NOT + exist — it kills the `.has-tooltip` pseudo-element on rail buttons.""" + # Strip CSS comments first so the test doesn't false-positive on the + # explanatory note left in place after the rule's removal. + css_no_comments = re.sub(r"/\*.*?\*/", "", self.css, flags=re.DOTALL) + pattern = re.compile( + r"\.rail\s+\.nav-tab:hover:{1,2}after\s*\{[^}]*content\s*:\s*none\s*[;}]", + re.DOTALL, + ) + match = pattern.search(css_no_comments) + self.assertIsNone( + match, + f"Found re-added killer rule that nukes rail tooltips: {match.group(0)[:120] if match else ''}", + ) + + def test_legacy_data_label_hover_is_scoped_to_sidebar_nav(self): + """The legacy `data-label` hover tooltip must be scoped to + `.sidebar-nav .nav-tab` — otherwise it fires on rail buttons (which + carry no data-label) and renders an empty styled box on hover.""" + css_no_comments = re.sub(r"/\*.*?\*/", "", self.css, flags=re.DOTALL) + # The unscoped bug form: `.nav-tab:hover::after { content: attr(data-label) }` + # at the START of a selector (i.e. after `}` or whitespace+nothing-else). + # Walk every rule whose selector ends with `.nav-tab:hover::after` and + # check the prefix that comes before `.nav-tab`. If the prefix is empty + # or pure whitespace, the rule is unscoped. + for m in re.finditer( + r"([^{}]*?)\.nav-tab:hover:{1,2}after\s*\{([^}]*content\s*:\s*attr\(data-label\)[^}]*)\}", + css_no_comments, + re.DOTALL, + ): + prefix = m.group(1) + # If the prefix (back to the previous `}` or `;`) is empty or pure + # whitespace, this is the unscoped bug form. + # Trim to the part after the last selector-list separator. + last_sep = max(prefix.rfind("}"), prefix.rfind("\n"), prefix.rfind(",")) + scope_text = prefix[last_sep + 1:].strip() if last_sep >= 0 else prefix.strip() + self.assertTrue( + scope_text, + "Found unscoped `.nav-tab:hover::after { content: attr(data-label) }` " + "rule. Must be `.sidebar-nav .nav-tab:hover::after` so it does not " + "fire on rail buttons that carry no data-label.", + ) + + # Affirmative: the scoped form must exist. + good_pattern = re.compile( + r"\.sidebar-nav\s+\.nav-tab:hover:{1,2}after\s*\{[^}]*content\s*:\s*attr\(data-label\)", + re.DOTALL, + ) + self.assertIsNotNone( + good_pattern.search(css_no_comments), + "Expected `.sidebar-nav .nav-tab:hover::after { content: attr(data-label); ... }` " + "rule (mobile sidebar fallback tooltip). It went missing.", + ) + + def test_all_rail_buttons_carry_has_tooltip(self): + """Every `.rail-btn.nav-tab` button must carry `class="has-tooltip"` and + a non-empty `data-tooltip` attribute. Otherwise the rail tooltip is + invisible regardless of the cascade fix above.""" + html = _read(INDEX_HTML) + # Find the rail block: + rail_match = re.search( + r'', + html, + re.DOTALL, + ) + self.assertIsNotNone(rail_match, "Could not locate
    `; } - let bodyHtml = isUser ? _renderUserFencedBlocks(content) : renderMd(_stripXmlToolCallsDisplay(String(content))); + let bodyHtml = isUser ? _renderUserFencedBlocks(displayContent) : renderMd(_stripXmlToolCallsDisplay(String(displayContent))); if(!isUser&&m.provider_details){ bodyHtml += `
    Provider details
    ${esc(String(m.provider_details))}
    `; } @@ -4631,7 +4631,7 @@ function renderMessages(options){ row.className='msg-row'; row.dataset.msgIdx=rawIdx; row.dataset.role='user'; - row.dataset.rawText=String(content).trim(); + row.dataset.rawText=String(displayContent).trim(); row.innerHTML=`${filesHtml}
    ${bodyHtml}
    ${footHtml}`; inner.appendChild(row); userRows.set(rawIdx, row); diff --git a/tests/test_workspace_display_prefix.py b/tests/test_workspace_display_prefix.py new file mode 100644 index 0000000000..98528011e8 --- /dev/null +++ b/tests/test_workspace_display_prefix.py @@ -0,0 +1,39 @@ +from pathlib import Path + + +ROOT = Path(__file__).resolve().parents[1] + + +def _read(relpath: str) -> str: + return (ROOT / relpath).read_text(encoding="utf-8") + + +def test_workspace_display_prefix_helper_strips_leading_metadata_only(): + src = _read("static/ui.js") + start = src.find("function _stripWorkspaceDisplayPrefix") + assert start != -1, "workspace display prefix stripper not found" + end = src.find("function _renderUserFencedBlocks", start) + assert end != -1, "user fenced block renderer not found after prefix stripper" + helper = src[start:end] + + assert r"^\s*\[Workspace:[^\]]+\]\s*" in helper + assert ".trim()" in helper + + +def test_user_render_uses_stripped_display_content_without_preempting_context_cards(): + src = _read("static/ui.js") + loop_start = src.find("for(let vi=0;vi Date: Thu, 7 May 2026 17:20:38 +0200 Subject: [PATCH 025/298] chore: rerun ci for workspace prefix fix From f704fb52e857747fff1fc6f90b99166a63259963 Mon Sep 17 00:00:00 2001 From: Michael Lam Date: Thu, 7 May 2026 00:02:22 -0700 Subject: [PATCH 026/298] fix: make error toasts copy-friendly --- docs/pr-media/1796/error-toast-after.png | Bin 0 -> 136910 bytes docs/pr-media/1796/error-toast-before.png | Bin 0 -> 137023 bytes docs/pr-media/1796/error-toast-copy.png | Bin 0 -> 137108 bytes static/style.css | 5 ++- static/ui.js | 26 ++++++++++++++- tests/test_issue1796_error_toasts.py | 38 ++++++++++++++++++++++ 6 files changed, 67 insertions(+), 2 deletions(-) create mode 100644 docs/pr-media/1796/error-toast-after.png create mode 100644 docs/pr-media/1796/error-toast-before.png create mode 100644 docs/pr-media/1796/error-toast-copy.png create mode 100644 tests/test_issue1796_error_toasts.py diff --git a/docs/pr-media/1796/error-toast-after.png b/docs/pr-media/1796/error-toast-after.png new file mode 100644 index 0000000000000000000000000000000000000000..ec1425a74138c93cf092d52a8821e8e46931d717 GIT binary patch literal 136910 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

    =YX|wx0wb!tA3E>G`+NP-MBdx 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

    }kvRHA=33VvUSD0eTQBbG2c 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

    K(J_RaCr!l%4Vv7M{AdU~jBnmUawc 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 literal 0 HcmV?d00001 diff --git a/docs/pr-media/1796/error-toast-before.png b/docs/pr-media/1796/error-toast-before.png new file mode 100644 index 0000000000000000000000000000000000000000..f9dd04870a8dfe225b283d79b0342ec03310223d GIT binary patch literal 137023 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

    ykqb~Gn3}{P3*vi;ty#KS z)_Fn*)HA&ivgp8U-xty^E8X%k^$xWXcowwEv9GmN9d%|Ogfq0!#fCEYP#ooI@pkK9!Tk5I zKOoMaFr;(HLJFYf;)S%tD>MLFYB|lJrAk@Q{cuG3SAN@&Au=i?GC8=y~+W5#PFS$3?bqljoI?u$h(p)a|-ejWS@O z{zLa8v1yYAV_KZ(Pyw)VY{RI}WV*xK%VKu8Wtjit=_{k!+`4XYDO%j6P$=$JTneRF zDems>E(J<)io3fPNg!x}65KVx-QE4>ocDb9XGTUcvUm1)_F8jI@pCUn#<`Q{|AZ)< zX{*~+Z;zhQ>$$(GU7B7Fq%dSr#iGxYo#B^yJagX_NUiBX_<=~kXkR74s&j@f|?3=@@#Se z(qQp0ihwAN5}Qh-N=uOpT8zn40x&I^%UCl?wH}y_*&urub;xcdXH_Y^^VwLNB7c4{ zh7S4{82F^DaSFf(a8LaTe=!W7kiyNhm zg(XV}|Gh<#mW7EiIR~ZTU?VT6R^ASl2p0Q)kMVCwESzwQSZZ=`Wa~OEf+K6;(YaQL z0Z>YOx-TbkUQOKv@;`b5%}9SD{wWnUF?eSkdMvu&AMth#&18-K9?bpASvowsO4ZE8 z%mls%{j<2ibev*!4xYPte_9ie)gD}e4vvgxo69T{8YsY>ahi$d2}9{H3NVe-w77UH zd)U0-dFm$S@8HnoQk_vor{)`;t;5EdY0CB{F^+97`!H>=mv8K5STUNNY%X;qrBAo| z*xk-bgrS~G!dI)eKWV)^sW>pkj{~u1Qc>T9)Mb+rKjiwDXfi#J>e0bs&Lv&GtHgdj znVo)Aw0JU(rU%8?#t-LZ>x)pAd3IHnkcwv*#vpy(lhCbRc#`!RqY+b*kB&v)Fgj12-?S<958MCL_{#m zjpz&t-|U&4nTYPOH9`Cd@vW6UcbpqtT1x|}`zOKA4BMsa!R842=_w?_x$rT#?nzBs z9!x&0me9AQu=RiLY2CWEP`cQK|7ZO-30i3-g&GwgA7g_tVij5ybQToxqveA;#Yrccleu^IqmQ+LdF=Bp+ z$P(CgGAlAa(G;D0nsQ>5zWb!)hC@z?^a~Z8*BQGCUy{7Zi8Tv9x|sI!-gjkQPfR@c z?{T4<*)or*N`%~*iHT~ZLP%Mi!RrN`F+ek2mz%Y*a~O^t?qoL|2=HJWdBEgkQH?k1 zZY|xA$1JZQrwewcLXAzEtCQt6SY*=}4Ye7>{_IFJ2)5D1eq5p@!LiH0EyFM)MEgx2 z@9AI7WKc%N;5-m40@vWS%{9a1@|XmWbRPE6rdNq6Z`X`bxKM*om9;2F;yfd*i!*b+kD9D-zZ?=PIX z6};&BD~{30j(!T@5Gb!;TYSD1GEYNKS(Z8^FF{mt(IGh8H2f2$0C+=D72YS169vo< zb*UWueK+-2-SC666d1|=7#Cm2>|h!$UGA+pnWSERL0BN6#FP^aA_-1aSZcdz5Y@d^ zEO}0UPF5k(xSf8}&l$vBcmcWo>Hn2I>Tl`= z+(+;w%G*P*FssksQz3%U7wI*PU7XYZdRj+|Ah~^4_wt2#MRb2IP`4%2Op%lb2^jWN z)ICRYNj%ac3PaU`*S=*7g=?(g#DXLWKnnGx76>F-+-Fj;&i@{;^c1(cWs*nZd=z{A zEYmw*fE5+XElv8x47t8QxRKw%A6K4YXA_a$rU~o*EYY2j58Dn&x)E65qKj{=G(@A( z1r7OC%+?LE74%;wb-vT@mnHv2Z<94g&Xxr4$|KQG803ODGygq@PVw?_@Y_LW+MPK) zL*yb7HQdocPs{>B_(Yw^bF|zq z@BZsknPg5>WWS^nz`KQ+VHqExN!Y&qAjY|g5(R$Uiy&{oD2ylw>lo@o&;Q7|^GAkn z%=|N%-zCjpr$rQriv zXNVJ1^tUE(F1GPGx-#XuFo)9^5pP3-H=Ew%0wMFHnv_bY@_&^JUSta^5VVrckQDO{xI zrmOs9?R?|h>VMUHn|*v%S6(PFAyN&GPXi9G3s?cNB>$r@WCXHX0Mu ziClKO0)$|`H-FJ4_nS;Bpm1{o--Hzvib<5jQ)Fo+c~*h#sCt0!ODhRzXH=V0H*5+T z_}FzR<@|WGdy<+TzRWfqbBQfIrutCsyD~_BsLKi(4#26=Z`j*<^Escxd2eiQE<5$@ zE9Bvg>5xeh(d$+&OBrS_3o^dg)Z*j{bZ#;WnL$>O6NONCYL-6MgZca;0Fbby;6#o6 zMF_VKQ0L0m% zPUjankHSzWwAHY`%uZo=C2i;PZ=SDZcCDOgwe;~72w}e|sel-&dWGvWNPWc><@<*d zyiJ}F43n!n#V{b#PzB{F7SU$qMsZ}K8H2tw|D6GWc?e_Z1A)Q}fw2)~1@_cj5`4OE z10ez}N&3#4YxleVo@cypcw@ov*j67alxHMDwvS%JgW8%g}aASy=jE&g>lTYm2s{(i~mSx=VOHeoph9lM=0Q` zKSph_0@Q}=%Hry*@0HX%N0P%Uksc6!p7ijq3UMMt17g2oT3$)F1b!qC3||tSJPk6n){0Cpw&2>uM?%5y)3mK!?;UYKSXx)hO+1ATbjUj)PfXB z!h4WHWujvRn>B4(Z{Ed!_Hgg>|4{Lg#N>xd17qp80tjD`Dv;5+th*zNNpPLDM&v+& zQ97Q0g2@Q_UlQv-VFytTfWg_>JNUQ6{*IbP0%pUoCMcEk(_+=tR0(qZgQIfDVjv?G zb&fBN9AtgaVxlK-!ttUH;WT@Jl*Lz3t7@Q3Oaspuy;zsq^Q;?PuiESM#X3w6mz!%A zpc$W3jV=FfHSQ?pP5f#j^8Kg>tbMtU0^h7W{g^E?@R=4_Xz6S-0T(A#=2tl!(haB9 z+8x)3+$UzS*Dbpr^5HaDV)QaoyRF1(#W)x~7(?2J8F%pR6w<0&3G(fxDPhAX#QVP` zfiEe!ihtorbfJ0asj)E9XY`kOll5><^)(l}u{jIrS@ddnbL6 z>1>d@xsri7vs_-M^GZzp^(^7DfrC=ke6=n>$ji`jVSyB5XH?L~Ttmk&(C!45Q8jns zZ*l21zrzS1RTd67ics_#-r-}>bU1KGZ(OS$Ec$8jF{sND(r_)@*7#NEyg`q>Vx_&b z!}GxgYZelBOs>hUx2P++-R{G~Fr#$?6agIM5~>h_)eM86I*nzq4&^n2gQiZ0J1Mu- z&{pwRX_L;0mQI$kiieQWIo3xVWwjp(S}`Ke?VsE(`u%QRI$i9p+Dq;42J?ih#*$sG z`R=<^_H1;#<|$bMR~>Xde9E2g>p`9d$FhDlK7?+w%n5i&`z%+p)Mje{*XOdd05?*l zzEgekhWe|nr&zc4V{siva|(8u&F=FtRdQBdEpHq=l-$VOyZqaFOb{(VEAimtjPQ^HxnLi{)^2zF|MXVmQzGbd)Xf zAjv8>D{UmA(44C65SaJcnPvI&O+OgKSL=fqnXCO>_psc-mwYRMm%7jY6XbjV73)X$ zTZ*{2$Y-9-UJZjxkKrsqI3;*FqGLNRALV&2Ys`>3W@<}jQH|P4 zvR3c&J`aze>mH1@K$uk6we&SoMe*sdi|Tsy^?3s)(AmlBR`OqBbr;;ml<0+XyE9%s z=8y#3Fd%Lz(zKF#AHXF@Li?mAXHrNw9?>T$N|gC-$eY%GwIa}O*PB4WrhNh4u?Uv| z3;RKX7$5s12}Q&K^Lk0KQdkKF`=8`VBQ0GQL1gVFBjaAOQvN>}EQSk<(8Z<8?Fuuy zz*}>%pOxiVJ})}glq{!D4|Bkk$_E#$*=0zzx~i7t!r*0>%l%d^R`Y68B?!aj_u1y- zaKUk;1cv(iyK&=JwrS|DL-Cp z_{`RTXn9X+M&9#Zg4HdW|7zP9)@S@9vm@790o-}j)M0qPhW)vKpY@@M(PxoWOrLo; zyEtVHxZkVa)o)qr@i{&Qz3r68a@ZT(HE6rzU1&Y1wa9vz;CU*JEE?v?(6{D$$YvoP zXLT~X@2KPRq!c*ZP#_NQ)9&+Vu61CEsPjFFNy>6#+D_8IR}l}G+<-C}Kx%ies zN7A`=dji0zVL5mnjVoTF*A*LZ>aqJC8EM<5uh+Z?13o=5xdxpgtJTOs61j zfm}KsLdeebt=Pm8ldafChq3HWX>3pWU4OyqQzND3hWMpC!St(=o#TQ%1 z^9EwTMwjbjh0Kq`ox7&Rgi;f11(AL2Fp>QX*7Vp5zSe&E0-`3qo3$5lBVv%(t z7+zap;cP6Yod^egH!J=NdkBzE z%V5IuyvC?PC+Ir%@M5^A-DI*xE8D!fqQNAIqr-D@0Lb_1zj-`rFuQ3vlHs?Vwhmqt zaE}#p>psfNQE+Ot^Fzg~aw1WiU5qDc<@Imq!yb&1ebKqa{EGp3(m^w*A~nR!RQ7ZT`*2X|s|{ldbp^jwPsygWQ01q`9ZDUBao15lcU>eE z#8SLhxW}y|a!1g%-uCus*Yk~EuI~XX#^d}FgE%+GZpm{|w4XxF<#JRj7N+0%m&_GJ zN?_3^C`}|NK!lD9S7IN0k`Mx9OYdg7(}h}cvqyp5ty4d{M0Ce~HKrh-iP%Gsmqz(R zD>0G!XC^gz8D?u6hWODE9&a{D`t46aZF7kb>>ucJ0mGbVkExQq$>9juQ1J%KqnU(f zVSYa9fg9j+ZAF#kP}tiaw-y#dRm=?r97py(ptk0!4x7yfEa6tVdW{)HUH9v4{8p;Y zV<4xBY&xE=mxDIIa(XPStxY&fK)l^w$#3>A)Ajax)5Bt}Ht4~tCMV}uk6LeaMnl6$ zE#>=4>Z-_Wf^ZFc-ka`;a3-v6$}Sdy?|j2dQddX%K8uNub7G*t?T%soqtTfeEvp!& zH+wdQU8c)(H)GFj{56n?#2QjHwcM)H*_a$&yv(_3?XHfZHn-g*9Fe7__%~VG$a`Zo zELtMEIOK2MQJ<~9T-B=8UeyuZH@hcxCww??TKs*nK3Y?E#9>|8 zR#{tGskk-tM`+t!4B+24-FD-3;(gIMt7Pyity83-o!N>vXLPjY(a-Ou`SqpZnq1G1 z@*6TqYLdjK!-JBlT-&kzLXS)7d-!aA0FZ)a@nvQTHIunizu_*bj?H?&(a`X2_(!mB zre^J(hMJt?h)S(CWJXWe$8f)F_cnf@xs zV*7&8)APpC&ti0|!b6l?i{PlZt>}Ib^~4F!tTeV}Oh&UPt(B-pPi3)U|Rmu5!`Er3nK;KyOo+Bd-C=PHmJ3P!MvJMNL^iF$I9Rxg5nft~y z+M8}TaHdWG$E1?^^5$OKEU4k6>idJ<4%isRU$xljp})nJKOF3#HTg&}I(nH(^I;d} zmWcTSD@^f~Vg-K|kPah65Svum)e}d3I^#8FE~(TvcM`bPvd>2B?`DD}nP}{N3+D!%%&IB_N-4p5q zJbarB@gpbtmr|Vzb8TLiH)BkB>AJUn$GtjNW;-q9#^<}ddvC?&W|pR)?GD4KIgg=l zOg=3i)$y8pu|AI-t9V{r4xHBIxbH0KB!Ocn3{@#S#&0V1ACgXy8#;1wL?x##E!nq6 zX4KPmak|<8^$y^p3ak_*y1wf^@EuF; zH35{{`qA$VT{6VptG2B2A_~*I$`)3Nm(;M3NIS{dS*ak>>4#eRee`rU-~UXH2n0eb-O6Pg z0E#%@t^oDN(#0>Y$Hr=NS2`RF`h+@Dv)Eva9ga9gfsmVyPg_gct-gK@$B%x|czzyE zUcl=1_FtG(LQRfCOG0HTBd=U;swf72mt9v1B^6H^PB&LKyL>5jLB@Z7D{3jI`8jdD z-?xQ8SNQmGZY;enQ;AxxF7&ztN-9cfI(!aGYigFCJ$-hD+5mhS8g%UUWrS%oax>E! z8n_ysucd@6;1%zCM%kl)ja1lyt@>M8)(HCzs;19%o=u*T0d89~`u~Roc#MTZQ*PpG zYionYz&m56r;w#TP`@25E$W=_FYQ#fvc4j%t);D|f351CAy)Mq_Eoh5qRsC(7=(7vb*t-py`T1`JqJ|SfZy+39rf7BR* zJdj!`?jJo(2i(@gVZYpu2gN}_TRweJKb1wVlc!Z)x1@1InM>vi{!yuK7B4p=#YVY1 zN(c7<@^PpBod{C8kb}*!r>!mz=rNRW$B!mA zKz(DU|BjGD{PKBD-m6&r^fcrGVdiyqE7Butp5S#(tG6!u_ue6KoV_9FXeTFVVe#I# zueeWu4Q|GPU5BeQMPck?X0COH+e@+wALX{%LB7MM>CS2~lN5kuff3W2h*6~1x9cv> zY?NP=Ep~j5$1NMT(8L(?Y*BX9L?+_r__Q}>IFn-L>~Z^Vt!9}|PDe3V@z=^Pqiu|N zUTPL38>L@jL-Js zx)RS{Sy`-Z1=vBZr(uKmMSOzK>8Ti;NU2ldlF@ss3hzbB>%$YJ9Fz z0U8AwrRF3rmGqFj(P+u%uYct-@zm8odGADTwtr6C3;^au^1CqEIR&;7K8ShH_HBYp zuDrxtrc)HM{H_P>^)F&W%nwvDId5YiZeG>x_m6gZzUP1@wlf;{+8SR{*RQ<^59V+q z!xJ#T9-5bZ#WK_r!t|$_QCeLExC>5~6HLcAfdLBk_e@jK`k4r6r4gOMbkR5Gq6X7~ zg3e#{E~VDSnnbavN?s6;gxtg)LE}n6Cm@HD>0Fw|}Qmfp1(*NsMoF0s2Q-S36 zxbR36%a2K$YZ16b@ad8f?L>4}2#dZ_5TJ6NcBlH^{jnUTiE(n34gKoyy$AmX zx@x*UTw^Dy9v&BbAJQ!LpR@Td$cfCi%J!U4H2fUHjoZ{=Ipqw&_DfJu=V57<0-1`Ky<}`$I)KttYhQk80Ts2WOv9a$m9HI za+@LW{;c&ap@9;)fKyOGQJa9DxzcmQh4G9aH&1N6TYq?IF4V?qES;NsvAw?Hak!K1o9-)DhMzi?*-E|jq1zCemRug#@p1rQ3suoVMX9_ImDsSHT&QK#|kRZ;y zQg-V#E<5Z`kN26>2v1vGO;K~Dr@NAn7>`!h@zQ)2scO(tLLXhmP?v4_kh_PwrA;Rp zZ?~dVn8k@8=mS+9iKbT4{=(HvDdjN-^}x_jCR9pD1FbbGa-`9K!^@JzRyL4E?Wn4~ zwYF5`;quo0ws!PTi(SvPmoWNtDRH!D?c1m)(ETcPUZuP)CQ!9#6!USf9oejr z{N!o9_2@4$1_Rb`m~MDfW$W9NK2=H`9W`;0B#tb(JJ9C6t9R)`aeFrrSU>j_<2iS1 z?1Ys{y0dB}E|tB!)=7{Z7PEUrpt9~plx}Aw?1ub0^bkLr8mil}4ju7qwl}=})6iDi zwZZbL{cFT|#v;uAVviR0g2Z-KdQW4fy*yt@1A zfx;H{IT(MNyw92@0zGWS@?GBtGsyzViG~l7aDFjTMevQetcB6nS>m?DGWo}Dh>M*T z{DTtdeO&--m?+-gNrwzx!TFB!L~oAE>`Ft(@?hbhmhF(=(GmLcxbzBidVQXYJrp=$ zqvi>)zebfC7YUlP!RmD_nNqYkzI(W^PkS(Q0d~0^UI?G8XbL^D$O2jOy^Ic5aw{L| z0o(7?Ae@_1mnv1*FTgZ03Am!=WoS!BS>Qo(f~ZogaBJxPjhDxb<;6aU_7P)P1OuwB zw(?`Z-d<)b?&~nmCuo#QVz3=XgtJ*MDcrgj9BGD`Mom&L|}$bGme9 z`&L{lK8LGDIUt3Ml`clHXyRn0v$MX)7g~rR?&j*CvHe?>I)}^7)&X?%^8A2xyj{j7 z@_IGd%WMZ8Z8@u+oM;M^)~nOhNLB5?xW~#Dlc6kop}hlG1=+~~eeDgDkSTm(g8^W4ici``nkUz|;O z751u9Z_Apmb>hftI!kn8n8#unH?Nda5xQ(A#Y(wP3s5oq?X3S=x?PnAc{*!gYz60b z?KN$3uj^NW$8fyVz_%I^_nLCa`06p!1-i~!Zu7YYk7e!? z8~W~qL5CD|d`1`ccVU>hR-pOzU!L(SK2U8XO-2%UHu;wLJ>oWF4u8$ujx{K*5H#=GmGad&=B`tP3ijcj8K=g;T;mPD zFu0mr3Y(;a-vvtYVT|Qx$r^Bd1?dYosJ(LkkPd!uIxp$4-_#HIUjO`qjieI#W&Z`P zt^Mg)j*`#(^+iVb*X`-6+NV!GCr<(^dx$V@tB>z^(q(}Vh z1F4)rif^53LYo)bp+Ra)lCv+<#P2ohHtP=`<{Act457W`r7=}UOHF_p)IpKO$*Z}I_-m7mp@6M8+hpWPhM5yn-%z{lpYp?`7_QPrrt zV`+y>wzxxFqQ^k4gYAk8i<2#Z(!a-Jg$JLoLF*LKSprF zEFCmEVB=;v_UO9aRGaD{ZlHQMY+I#nq4Ee_bUe-wce*LGv(!r7&W&zJpA%lL5yGKLlVOZWYc_)j&RX7~6HdD_Hfvw-aty%Q0;l_epqCuh}9LA6&)Ag6vP zmP8_lVOdO|U)E{YdFmMQrKRE1vzuG!A#@%BxwzYT^88+zFugk_(tM}5KAYMf*lMc4 zPDGSZ`M@+Sp0$6!tTt)@`TO#9*WLLu1Y6~sHRCdlJ@uC(J(8nPhV=Egjqk_b=2pBY z&uDrTy;mp8te*zzw!?ILJIRl7X_Yt6L5?4X&)rGnG08Rao{kzCMnrG@Pw#hMFXhA^ zto;246Hj;UEYbqVsoS3}Fka_h$pZFEv@9E)82(a=`EPXwIKWVqvgSxvJLlUI%C!ph zDV}UR+#crv-&f@bjY%={U0v-vjr|T;^$|q z)mhWiJ(BMzge3T^>39|{_q}hM`{0Rc^YAv{9EG_C@t=E;OOExh4>0j2I=2xrW8Q6{ zp~i^osEL$2{iHCxWwR6f6g2_2(it#}ke!9;Y6q_+Bzq^>76VbW6fp$nNGa(FOs5Lq|K>5%lT#nK|S8CVKRWft9?nPdf+&}vB{~ENrj!mN7Kf&Cm?ax0)cL#6NGY~5L$!rfC_6H zoYe8#U%zD~YE<&ZMlru4*hE?5ws8om;F_tb1EEpI#H3wAzIxOx56rb3 z4X%hyXWrg#uHoK!_AuQtDr9{K-7HwefO-ct%sg=(YV{W2itEF03N1M?3U9?eWUzXh zN1}~plBX2bM_BUYdcoTFU*Sx#!T?W!pGZ3F1{NgKyMs;`F!!0Cm`uVCdr@1v#J9|$ z|DM=B+($Tr()%_eoBnk(vF=bL@zS0I|5}T}J{p?1hxe{v962SV3L<8SCXF0{3L* zXe>kaFfpqT|Kix1TQ0!=isR zkEjdgqC`$T!{0QHJ7)3hHsUkJDY#w~%TtS9j*Q!{Jc;~kVqk=61Nyn~>zyo)spN!9 zdR7;u+B=GTio^o0G8we=Xp#|{v*F7poXF04%#aAUeowHMa0Wb~GY_;YSj524}eBc!_zbKF7&&(NTO|9aLXJV=0_~`%_&z(J@3@DnvuK zBw@-H+;^n6)8kAtsF@x`NV7T=FkCzej*hbPMRLYs1SzvUXqb2|aPUwJ&(KN|RJmM} z{JrpoSrn-MYR968^m5L^qw4bOl(F+<$3-=v|B8)Gfz$7#8?gm0)yZ_c90Ui~EbG5T zqHZxvr^+C#)Z_{?L{Je7yr3wJ5z!8gH!gP`OvIk-*-Yq<_GBRTS<^t^m47x2qXY1t z4}MGh`Qbn{bqw@8_%^d(H5p1jt|p;}B2voBNk@^(dh8@B1pa51ib=yPtX4GxKG zpE-V&qCENyOK{ncC+Z-(MF~-8mPKA;@Jb;YAB@CRguXvfK9*Ip zdnRdFrxwHvnBBeHYL1^O84~h6@4MN}dmYbm>O3gTsx`;o>AKHqU8)1Uir&JCBcKci z+~vP1(`4w*$W(B@)^g=?WfcgszW6%F!F!4S|~IlD*9M4oBAmP%01x>3-2Xj$9gNVPNT>w2-Qpv9}&W0NCs{6 zSxQO()v7-#LDFVCl&G10OHUVS-;!i+){9!w78N?=BCZDR;!`p3q?u8eB1m(+Te~8eTq@{wT4(%wRoqNqstgVm%&n3=tD9g$YRY)aI|W^ zr9j6kPkoY!<6H4TN1XLn-41mVN&2LLM82=a$1rnKX=ush$j7Z10f) zL?9~SZhc1X@#S8rK@I)w1X-%rf9SN(48<1uIgm|-{7Jcd+WetUf_tkw{+*+BqO!1% z*FqL)jjrHtin|-(yojDrkh4CS1L3OO_&fzgj3;ZEnWf;E_R{!{{U%onuw^tl8`1Up zgSLP2?oWF8#VeEnGix#W!%7O(uJ6Weg8oB?Pd%lDWj-&!cK+bqr_E;NrSfN-2%lmBUc-eH3v4XwU zS>|G@QE4bYuX4pDR*Z6*P|5`ZvT`TGk!O^3NFiNwQd)r%5kPFd*`)1R?XW@clGhH)ZE2Kw_U3sKQGi|nckoAOU-py|9GGCt2$zxtaKoX zU{USgE25*BAi;eTmN|u>yNpCHPz!FQtC`A?04Gfd+3HnUZ0sg!WrS}-+}>#E)+z;8 zIJ+yIpC^XO@EX+UG5>6$N1?gY-nyG!-f+Jf-V?2@qfgeK#m4pzCyK#sMs?W=RRW%C z_m5l59~8IzNG~@yxB~zWi`6%qZdsmkECLV~EXwhgD9i=6@Ww{zm5aIF&391Fjyyu$r*wM@pp@=4od{#YZ>FTE`3e`1lgNK| z+?+|R!*kfCaN4@Hb%C^5AKPU*;?w+kl)TZO{8x_i+G^ z9e3v3AB*q>yeJ3s*1YPc1q<<)UAxllU$NS@5|%3Hfp7|#-6kjrGMyQ(I%kp}`e&)Zgd5^$uh_q}t=JhV>1hfPH`Jnn zsdG=+7$MED9;&=R?n3$KFVy{j!2Td{Psa1$9Vse9E8$<1BWbhES?jpTZ?!ep z(T2Dy|_-mC(^x;^;Gi2fbl#G$Xt%1$W+Q#l8t51jbKt7)04u~4GZqu-*@=eS^{>do6w8d2d^=V zh};9$;iv=u%2Xx3TT`>v&}rRN4g+rz$VYo*r^753B?GE>2EO0Jh0!B*YlKvJ5TMd# zz{BSy6L@RWelK3ti-QVgqyLKjg|M$cBgE*($nPlUOJLL0ff<*tTcPDzhB0Ot+(_!B z&*FZpMvfNL1Tc6f>7YQM$K7wI8PxQyMMu!KJ=80EPeI|^NL5(E-3PQXq%$Fjc(p+V ztE_ePVQBg_2GX}KX*CJr5|fU1^0NuYTBj`flMQz7gG#aMlYsEI%Z`UoQg)Z(PRd9B!nc|jr54bpZ2d+k8S08ITHNK;b^cQA6Ay}x*jR%vINWb|l zOV2r$nsMYeTp&pQB3phws$waDt%&9_0&OTRL52BaB8hdI z4Bw`XLK`&l6K3eVBb8Myjx7vdB+2)+bg#1P(qPaA%Osb*UWG4rX^}>Fs$6#KK`USo|hx zvHnDguTpswuwH?BVmP^wkn)R^>%LlOnvr)VzC0v%EVZU8sI#!XLjXrD0Gc8&8X9}p zMsBJ2vEofD6e!kUzu!8yqF>>qgPn5^LXX(>r zX*{Ls&|9s(7~R2-$)|e(*5P;BX9kv|iT}4$q&Cc8!V)x=RhFE$r*b+f4b{b5 z58B-@YL0ZUC!Buqac0mo-zo#>89MXEcl7 z;|FtHw)1^#ntDyw&dxQZ56HrHynP4CMCl`W{jPVwOUF=nzxsz8r%nEgM4C2XM1Mf^lBWhF3A>OXq4Y;)Skt4o1m>Gl@S$Ar&(Q4sk_SEJ zETrNxiRzNLFl0J&^X}v;V?1? z*z)iaxpsY-k9wwFN~2i$I6x zi=Ec}Y1oXRtLFYu#j`WRCrGGCwEn1o+Ou7#aQzB$N#ws@9WcMz+}MoEWce?_@bV9( zQ5%o2>qCgbj*(#7F&H(|ub}$fG^A-~jF97~>aI# z7hEmbi7A2CkQIxC40%cJbSx zs!GQWlfE%Swgi}(l1Bq;x}RUnd45BwMikFi5)x$jw;1`7@k-ovJf+L-Sf~|PP*8e1 zx^%8MI?^YQZ8YEM*oP$`;E_5Tm&N&xho0_I%d(PjEPVntySTub;Iz28!XQ3z=&~^I z10MX#-m8VN_Z$>}ryNe{{8leoL{^S%9u9U++k+Uj4@11(|9qYOKB?$#;w5A3fV+L) z4LzoG?+V@P(b`4TjwZioll}c%>d|lX#&IL(Sy)Q5XqHh;w)^00H28*>z0LPJZe-z} zcr;6dB2zk@^KfC+dlzu}I){~a+3 zag!1f)tZ4ZUU{nRvpe4myw;qJw<|vxvMeDpDSgi0GMrt~5W6WvZiF@8 z9rv{ke#Uq5SXdezI%PIRCMiwq6fALr(LH9sSp#eG(-!5YaNEZkHm%)%)4rtJogar+*Yv$B@^J~;P2Kid zzSQ?(-?aUnd77&?>pIP+kmV|v!C!tqxAl-2#VFk7rzcQt%VxOPalc-B@o;FRQWMky zs%WOUd;v0Q)~?Lt9vZ)z9cD2YrPm4a-&zVc*BYp`TLw+H5<)V`+4DqzzGiZArJg;1 zGgsIYQpFQkDy4Q?3GMoM^}i)itFRAei=ku&w%Q-3`tR4f!T4FWh+vIOZ`BH*P+e;~0b#--xv9F|V$3`iIF~*4xN);)w7PXe#Ue$7h z%oSKDxo~wwMc@}{AFIuHOAn8Z#qyzUC}$bczWL+14zbB8s4|DF zp)@KuET_MQcohD#`t7D>g^Va!mGGY#7+iY$Vs3LQWbIs?M_T+mxCYH*J)-h+hP@&E zYft8L`2GZg3X!5ehjN%%Hvz%u?%*lze^xXdgvm`0TJ%e@^xwNY*90*`=o+IC=#S+Z z2{MDD=>Zle>I{0o+3y%R6`tH9u-7p-i5PAqyb^@P63&sf!>!JU{@1q)k!M0bgxDCh z)~hQ?Q}=BkQ&R>aOVcpM8K1*Z#1Q7zYjSg0RZR`cNRpD?kS8pHm#wMMAjhCX6apMu z>8XR9bSy&}E~0u46Nl{>M{|YkF47ZvS)wFF7psPl38Daym9YR(NdV{KbkeXv)$nCM zPp_;>7SC-=JuH%Hc655hWLv1IsLIwAU0uP-$wdSd2>s}1d(mZ8X;)QMN!}TFYTizD z1JFv5euQWJd9o9$WMGuZTVUA>eFms8XnFC~*pH2RczbvtyYusV-4N#?xC=PhoMynT z8Fv&zl=0;eZAl#7seCuiNc#z5e*s6EfEYJ+#7Z7a*>~9->sH?3AiCYDDcG%d~ zaOQ2C3;2D!y|%0zVu>3`j<2q$By$;z*VGTOoSW82VLGg>9fRH84#&*zu7LIq$4@eB zL~w`i-$@5Y9b_Ivz0K>mvC8Y~YSPf65OV*Ad^UUo%vW4lZU7w5)>{;K*cujk)8ENK ze(Nv$jggui)}Od?*?2vsQi>YAZeXoGYOA>^*j)nI^gK^+wlq}*9$By;lnPyLk4coz z-z~G6oBpJ+zrHxA0lOyVfM$oMz$U7JZ{HzLw5JIJQ4*>4)vQe$O<3#e%B#s*#ch{oZPT7zIL1sacX3vem|hXS%lK@ z{~xg864k!ShKa(12pI$l8i*xxHjOMgC>-4XfWqw-rSs;!33q(mh7HWlhfrqi4^q#X zfNj+t5I5;Pq?vUxm?9lcRg=OLp*&!i1Rvw==is6qP#}YhW`3(PVW77!6gJ05 z)K>1y`N2BpaW)?O&IV~musjiYhPVs$nn?d`(BO#MRPjjR9ZJm zkRjfBdJS{KzZ%u(0X{N0Hn&_9GpQqD1;%ul5y(h!QZG_#N(I$ zC1*|KzQ-S(Q5jKUeq`V-d|IvA{Hu1z`J1=0E#Pb3>bYTiwcp_sc~`x~#g>Z)UH{m_ zMaFKEsAs=dpkaCWtvj$C?wXEKrFyZw6x5s#vEK#1UtJJ3x%eCYki;+|YId_k$>Q|# z0-ZCYr~0YU$c{OvsVC`e@#E*QtZ}XWwy2b%$y!yV>-o3dBwVM^^Ax$B+&30L;|GB` z>P#`7(HC<`f19vKeVmm%3hjteUmA@;L0p-ie!lG6DTK)gnddJ{Qw=G;dw#|-hCmp9_+v(W0ZQJbFwr$&XI<~)et-bg8 zs!p9B`J1XS>z(r%xW;{BsF?TxYD*46Sd%|=ftv7ft_BC!VdtpFZb2A&5Z0I3jg*~> zXa&$Kr21XTDb+i*HCAe3uFd7e-SQJt**=Fi@gx=X*`9%FX2HMmti$)E&d_3m?)IEX zsM|9DXpP68g7-)5rPl6ZJRR7Tb zmt2Oeq^2^AOKW~YkzSGS`VVu(Q>K{ul&OQC-F3uekEg+tQ1(@kF)m%Yw(V0|N{jfV z@monJc?>Jy`qJzy;QTG*fcemkUg>guBfYA$tZE!h&BonXN5)+g$VWiAGcT8qpbSr8 zb}NLAd&9AvrlOqclpf37*Y$n*k;b?EFvXU>`}OuJ!`{#`V#g)qKgb*1QA1C=o9dV2 zj7Y__OOw^_@7{Xunx6fN?^ZHy2cgd!IHupB)(sUvFDeD9s!_3^gD=~ga~CC z-AA^^7F*t0W2ePRSk-Db&<$&L&wIk5_dUfv7@L@0pn{nSVIGOTVy2e=ejfO=MLc_^ zYHd}6<@3Wm@gfu+mrMWZwZX!(xq2gMC!2N_>7jWM0;>6?>3=j;8yve5m&b6?NiKUQ zZRc!l%Wm!I_R4%ZHdAx;PZDYi@~IxTue6Bz{qU~KXxt4J)EO?{@xqi!$0YAu8-b&|WPy1o9cHL+wehsi}fWQ0ooIi~4ieVl@>(`fs! z{ruUKd8wde@~5rnFXJzU>fF^NU+}dL3AXDQqDX~{A#CL-&5`K@BPfrwx3E&2J@Zw zB~g^HcSs;}xxT~l3OcF22JtIyc^z+?QGnwMZJ)?ZSNeW!D2|$zV^h-LuI}b}&MM~c zB2B!!-h8|N2XJ#gR>PRF8O5ClT06<+YO^uB`Xg+j{@I#w_XU8cX^lc;+8#nK=riQg z>(rZ~_WrKNm!4BrmBF=WIzzSdb3H(uxsV6)2_OCn>w$TLpA7=nHH&0Hi5`B+qOb^hVx-ri%307(Nsqr_o?OXIWM+#C#4MorW*f((VKf~p&BBKy&zxl2k zQoBtDGDiQ1n1UmIyy8KHNN{)qmI^b`_1H4I*--%4v;0?!TwmFu5nyZ02{9lTXY9J4 z_g9}jE5QYkWthY5dK$932W*=EB>$oW9e^i2Thp|3mY-X-8;f3^a%h{f7pz_tAMtB? z&S5fqm#{d9Oik0p*6iGtQNbu5_%9i2<+i%IKL+31wwo%De?QM#`Y7?e7ZMg(c>b;S zq{f)a^t?>C|8s(v$!@jAZEe&XXZOg?Z+AeK4SPJ(`Qmw^Dj>JgJw3fl!EOpKc)Y$g zT|A7hb1>X!yE%{ju~#?xe}g}~P9t{|>#)B1+Z&x8Yv&Q*_dc!r2_GCW%Qou@+-oSN zhB+P09-EyN)7r`}ZNArz6;~Py85h-#_w`!4fWF9y&ik4ajIPYO-Hb^PsObCSQ&Y>< zy608r8m10Q2Qf$U^t88iG~L=J7cU*+jTO^P0xvJ)2U1r(_2JLm4}n@)9iPb%B{HfruSzW zpH=`wBMn;+Xy()*pl`>TfJyJ%7Aw+nN*+GP zlD>-ot1Cb10t8RVz6WU8|35|~__7iGL@Xz? z_!K{t3t7{aBUh2v<58V+^csit#a@&;d&6ks&GIWVU9yU!Zw6Lbha98TBSKQdGpX2U z3?D19GrDVlwQ(qXAkC<`C*d+5j&LzmDnFm5E_A1dK?uher`xYG(z7SJ-A|5fUM7fJ zc2SSe*TIMTo0=D5Ws1A}y3#=BW#z=`+AvPb?8kz56UMtDg;5rE~#v0AM{zdv8I$G-FTKK(OkZAl`9(Ln?F z_ia)`Bgkh_GS}Ki6wLbNo6l9jYYg=9hnNAe-q#t5HXsRR{&k$lB_&2USKzTBnaeAU zzv=)LNOQ7t@p|tzrsd?(kAdw61p~4!A)YU83&n=TMB+2QC^vk}R9%5cO}L0`@OSf^ zT}P1L!;!n{5mU|KaeO+XSW#6~U6IM~9qYHBz3V9c5KFo-EAn(mKM!vxj{dtXdqFCK1CF~UAxJ&Uk5m{x3xyCH1lk;X#^yA zy9SuB4rn82g+z!u&ne*8NQ7Rsw*vsY{kGpXjy?L>5Y(E+t4l_h9(^T*D&cHs=<@vN za(q~XnLEC^6bI(oxjKi_cCRhC$KqvY5 zO8QA$wF%^|aF+U!uwH$?y=BY%=OhY8zk#2$BmyKZ0=Vm>@1MJFIW>Rl4}|XdY5OmOQfP_IHNQi>A1&^->Zq`XM)e?RPAK*{8qXK0L+ca34Kv-tbf0 ztZuabRV73~I^~#IovFpR=<5=B*3HKnN!(f=QZo7_78QOz^0t)mUUKA#A3_wUsG6D=T}X?U zVhdANc+j~UY&>s&uyXu^jtUx@6x!uAumL^`5W6Hz?ZA1fz2wAdp*)Gi&6JV3u5kc| z{b6)EIy^GpF>l@$2NfPb0!^rheglQ6KKwMl2e|fjNNr zul?;h2V-4LA{rqV`8+w4c-#)LG|?h5(WuS_ppBvazbccLw7@JGo(BjLTowgNj1d?v zEiC~%3L|#ERb#x>3`<{=+eu6c&xA1jL%-<+9>RR5KJPuHtriM^19(pW`wX^?f%cbJ z8}2x)h9D7CXrt0wS9B+(fVx9)=Oag9rESY}BuvJtVgaivNSJ0GHBYz3OL1e?S=Tl@ z12h<&y`HiD9+LzBj&k#5w6~fIHwmg-j&feZSTEe*NP>By(wgD`EY!kOtA%X0 z+@Ec8N(_-GEkXrjnO?eSEfO!D??Nn8utdNOzzDNt{wved60Iymap|vwC-KmU$6rK_ z9C#SO1P_@@iTxvxoD**npY7MXnF7oAz~0Mt{j8w_9VZAbgU^nLLzD5+axj$iEErrp z6qhi1EmV3b9&Bo}if%}?0+|fXV+vLmMJ;d_KJ35~tZGy1Iy6^n>tQP+m-}R30{j+UAhhxz$1~}#U4n=o zpuKl_{lv5biNY@yruDT%k*gy_e@dvEr9OS`fSxH}JAm+1<5wYQBS1tOcKZjPRgJjf z!v29O=C*bgxc?_cZHs#*7)IjdaNwsZK$aCQ;wPpW4-a+=ALC%8ZG>u%7fFc+WlyMc zSZJq=uWpa-#JDF-sx8oDOx3Ch1NPEO3a@?1u?ucAwwSV{3{AelehaDt1!lOI5(u3C zY#3O^L+d2pB@kAoXQpeBCaT-dn#74997{dEsC@aO+ay##8O>12+C{+>cfK+aMgfGWsipAW5CV-eBZbT&+a=%Bn8wftNkvt%0;;oDp+T ziGWP`W17PnwiDLpqHg{o*y28Nw>r+bJ3u#N2;nrEYxFV3I>~dNz341Q((&+A)<7|v zRar|5K!NU<(ddckVh~y62yf(0y0rnNd(chyfakz4-f`Rd*6R}uQtwx)0qwVL!u^FSj2cG!W~tBvEyA{;91+oHnL41YR_DQpf= zTREh0A3P^9{i2fVu#-n&>=cUPO&mmM|==3y$l zUke;sMC6$Weni%#?57gMY|p(ky3o8MNspkVbr4QgX*t3ukh&VD0_Sw)a?cr@3L1DF>7hrpT)ri8N&sq+q}K`YZk zaW+iT{{2mNTz)(YA8R)c-;4bM3^|LQ3`{V+AFt z1qp^LEe_g1Mg+4~?rm&7mufQ3+7{9FF;Hn9*apLvfs0ZgsTXOvJ&4Kg z)Pv3wOi}Td@(o~1vfK=;>{fLF4d=7#x758x8iGy+{xuLlE-IogUi(l?LW4UTvR}oP zo6G3MG4e)Bs*&2ms>v$6ZFbQB2f+$9yC!QG$SL;y8|(F!1n|V&FfdLG>Cd`f)Od2X zG_U3V3Z{3Fh?AF5UjUPbf|i!UQPwbeNfe@2*MUCBZsI?$&1PR z6$Dc#vzk|ow_1-7WN{c8R$Fi)y_;Aq76+)}A$3dGY6Wx6GJGnuUWR59<77H#A(=X} zBV6~p2q9EAQ>pxhHHY*62s|=BCY!1oGy78@g`aG+OAcB{Nrfzb8r-X@LXOCduVTCy zNooyU)OnVnM%u!HeWSZfxnl;nTfcRLVHs~%z=Xc7R&e+QQqh^3^+!&cayxTq7rR79 z;$`uoLe|%RMHO=9Y%?WQmw&{^eoUS4^Iz0_dn_W0fpNLmUSF)}`o2dpbc6k4d30#5 zM@r^>UO9w{<9YxTnusD(za&ySvW6jj?9@z+g*yTo?z8Gz9kPcq5QW%dn0Ul zR-m9a^dO--H)S~mIH408*D(Tbmj=PZdhG**WzX*hJG-L$a@};0B*DIRBV3;aL6335 zCyUci1lQKT%;cGVU#~HHGYMcc(24*ZZp5>utu7T;Mm^Rm69Ph{YtenCsgfYUiyg&I zvk8K!xp6}pzT*U+;RiCK^pH4s;BVwjvg#fN7&v%{=@G-P59#GV#r3mWrRb5t)-$%@ zLKggK{-XT#*3;pW3SdtG3w3hO4-eaJ2Z)IHZ;rR4g%YS=*WX>c5i~ZOPNzu!pt^}A zz;U%?PMWOpq-CaC>zovwRjSH2-aZ|NTHG+1b!iImz+w|r$N6+~^G-J6$Y@$@GRiWF^jcj9 zI+u~&Hm(6!E*`~06*qnp57P6d+FaK7#5V~-z7##;=#mBjrJFE{M!ZOQbaG!q7DgRT z^;KG;N#H#+9o$|6h#VJ)+?Bt6Y&nppHAQqhp!fKF=?Z3HZTkFr@Mium~su9fp!!iMUfl2zDqz zP{C_4rMLt*`O`Xc93eQkQfV`s+xPFqERx1%Qj|WZMKduxNY$ZJeoh77 zYn!BED4AK+KaSQ_40+!6)=LaE+-LQP>adtm3V!h0d^&b8naG`PvCW1@KwcYk)&RR@ zc4${Ek=hLDiv-D@z&jVq6Vf>rv@4kv1>O16$g@-!ojsZvB;)BJ_Jbx6qiI;+gQiIi zoe@IZF1?fwiNhl>kST)XF zz?(=`7%K1>+Jb0p5==4I$91g%Q6n>Y6SVK~xMw z+`MQ{jV=R@?X##*H-14YNt8U>6@kT@-APS_4@ZC8Ozl^l9Cy0ej8g;0vJ&e^c_R%I z%oN-b5`=t-&}}xs+`Q4Tqpo-^NRuz~4@##EP~_AG;WTw&Mr7H{(_1@WuyJAt(E<|! z*Gs|Gv8w<3CeW*3fX^dbZEx9sKDySP{5QWlEF8KJDT&Ng+!3zD`Cl&} zP&^9Nq1TM_4Kk*~9EH+R7?$zin0X6Lyqs~#F%EiB4M3S(A6v!Zo*+*eN4T3q-A_SSG zZ5$9`C>2@Zk=LfVc%evR(5EN{^CTep8k|$~$#&*dF;em6=>xl`5m7QovsFrhTlZd9 zF7J3nf+L4d^&%obiowKz^g$Kc`yWbd$I>~211;3>g&^q)!brqg8Uk%S1&Q?Z8*ueo z=+(E7 z1m0WftI8{_nXSR0L7pwA@CNV6pwYR94tR?YknFYBYdtH=|4p2WA-R3y<3~_%{*~xu z-&+ea?F46|7VsO`MIG%x4oD-+M*Am#R%4y!rDU|XGSag!k<4*Ctm^qhldW z7&U-Bhm_m4H|w7_!(A4llXMP41-P!E1^NeR9Dtiw6Z);T)9;1AkS(Nwy?q`65qMJ6 z^3tnVAJ^y!)u6v(Hxc6VF~&73qI~)|2CJA=p15D7~jc=pb_{`Sf?GdPld3dI8Y{QB2aZz|~bPES{%yKnKR=aOr z_PiRt#1N|>ROv!sKYp@mbkYk!A~h{#5L?3UxBd}Awzu(h@T2Y3o_m5U>H}lF4)RVF z=94+;b^Q41fB766i;~9V2Zy385?NEW03;SQ6rT0*HUCMJxicOZA%G~v_9UR~2uCTJ z@}R7M)4(-`B+yU=Mxvle2G*ELU{ScnjO?+1)U@bT)dcL(k(h`S(bj>==_s~ZD%bm= zvTy8_wJ@G|Cy^eE8~c#j6O!j*s148ag+0^ywjc_k-=bwPo3{#=KPQ{nkBNt?QPi`m zq8)2X=^EJ?t;OwlR7s#G{2geGHV%UOtqjV;sRD|_5zYal&Dh%lssI*Ps zoOl9a;GK<|+f>5I4XX{TyKo}~_d4!p|o zIodU2|0s0ed4!(|6`NiPLGEMN&{ek%_p({3Y|X0kOPwz&MnlP7J?N*is$8H zxluVjc#n`;d65hnXbcnBCq!!d6H5itjrC;F zM76;N(hrHvWdr+3a8l+cQlV&bEk-t3QSrn<#pB-rL2NQaOk9n$WVYygRQ~AbvvEbh z)|n}1X!MeZZMIN$iP1bz?-4CIXL0nEBz0zH_a@@&=pdJ~~i zeOWx_&c{FjJ<=$LMk&yF+PHxcK0$dV!vauTa>nI}#l*yu7ARd$O3AB+ob9PYCF6hc z0S~c6uwGwEu>d?0_mZc>TtR^IS)yp=d6 z1t~|Z;yGYRlvi{GE2-{k*xqWkF-J%AisT=cUd`@5XoaORcXG9RQ&-tKJi|Xg@8Xb0 z-V=dopJCtioa5~+IYr)=G3G;5{(BQBIpYGdW9&F8cd&YWG#B_)LfTqf3gtlrGd+&lCrE z@&G;>vWZaq?ea(%#Nchd8z$0X0=j!Z8tvCcxvm;6Z;#$zitQBjE{Z)yH@qxs?y-c{ zNa1~#F>Rd7AUx#_{m$Yi`!Cy6;3oP79Ja{hLeRtKwCjJe1uT2Ub(|JyMXibYBwKP^ z5RuDSelY8YV#`QKM-QF_IhbDE;RvHl>G#UvXjI^=<`Mhl2<_J@@bof@4toH8>R(9Y zAb0H`siwl`bShtdO^wL_{BPpN%DDdvKaU8nl!VEw7gAP_Fc4KkL;-0~F=*p}0z+5w z%1Mxz8l{e`S1jHYAU@P)#Z}!beK9E@M9tR;QrsSCIia^TARW{nlKV1DH~DP%%T8D$ zU=AUfPG;yv5@f<{77Jt)?L8g71EqZn#waP=O0JN{rfECvAhaVpsU)k0QPST&!ITyz zY?x?_&j`h0SR=KuWlNQA5i6)RT2OtMM7*PS3LP*MzpMiD4|?s+Zw8yL;5;AeBh^5J z*d$T3_GNxbRHP#uVE?=M2kGzxJp*;8k@eRY*l;j3y|kLndVuYAa1r2*cLeM@e${+i zWdC$_AWtmC$mYIO%FXC>G==?d@st>q<7N3L26=QSfpHE9QkHbzp5)*I<8PWKn(=_C z>>p#PfOI%rHh@ZbEtrhJ50TwCF>pb`$C^J7mu8e+*%~<3Qo0r#hJJ{7E<7+mS2}BY zP&E7VP*?rG1^U!ot%yDCu1v}QIT8U}xx3HFH>Ux6>JE_+_YJ*D5lvdLcG~6Up9X4E z`WBX-?Za7m-OPRV9f$ETFI^*XMg+_f%=?v*O`;ZcQ7XRq z_5>CrJAc*xvJF_{dxk4|2mRY*N$}nC{TxZ7ww-wMq4wL|c`PCK-wk$m9JmCaCj(Qr z+#igx+Aa$7rJHF`>ECrmlZ>=*H87S8htX`zJ|GDdbQA~Geef_o&_Z%^YNQ;Wts+b> zoYp5)Fr{qNs&$Lldqr+=RGiD64&1k!T>()`NkOQ3;ZSHX`4SogB8_0%E%WJY zlZVOLj50D7wLE`3X_Ges8Hs4dGm4ZjN>mp_x88>XrvpAMxnJ3Du22-El(#wG4r8Di z*S0TN^N{gF;2z8V@o+IG;_YVuT)eGxE+EgH7kK^sxxLpr_t9(w=fCX(;fI~ML;Uei zIgj~&((!l7Fs%Mc^*kOWD5o6pAW$qi9uNrTL860I%6>3-R7ZgJR4$iDz7nf+v-NI; z$?WuZ)K0j}PAtAGp#^LKK8!5Rd&;XVgIHjqS)R$pDaWWlKbFn~jiS*iCPv)cFwDWa zUeYaT>QOtQJg%i$%pk==vd_*W23cu z>nA6UZ$KN%rJFfqiIhLvu0NImH|nHNmXRCp=w<7{%CpZ-D*Bq zkg-VM7O0&qFJn(S-Xx{NTBR$ocep_2;!5zS(0w#LENLJc*f2eae`9r{)zAnHvPPcG zqTayaFau>bc_)_8%lek;9$-qrEBR%p@J}lGP)!P5jRF$A1qnSej9O6CD-8U@EEFFH}SUhL=vS?oot98lkE|NQxI!qH&coio)PKh?ecJnWCU?|fGOz8R zV2SvcM85XiK{giq!FA|;&E4Mlv8wjHh@khZxn~^1K!MqY!(ZVLW677E+LOm4+wjxG z3Vby{?kYBK=Ncs*(43libieaV`ykN!Pb_J6_yXSzd~^tQ+Y<$560JhCK?n5R?*QvW zBp?Z4L1kgpI?OmI+FfRQypWqmrBmI9Au%^RzKE2F9i^fjG?70kPx#06L}F@){8X8| zvpdfg05&>vZN)wZE?`if9I<%FLYQ-dC{@!*wn^@dc^%0TeG`i~{lW#Lx>oyOoTaFBvcAuF0z@^cTm^8z7vvkr|^ukbrLWov?wy00Z+j8XX68j%{Pfwu@ z58+LbOpFX!z}q7>^C%VeOWRdaCd{2sP1ahaMr+8u>!f>M`D91 zXSHrfqlW8CK)e-x93k9TvyxRJGxtmjusKU{sm=O&I^UoXEJ|#jxzue=#Cqnap8XmG zwOK)BW0f()TtR!TW+s}V2e*y{W-c}Ro*?iUHMf$B*kzyhjyQtH(pg!_V+Vf-a0;J>#P!^i+6&owYV_UbN+b{1Em&c!mJ*8>`ngKJ3|FMTW+mb;c z93KH1b+j=bwy>AiQ#KdCT7s)}j0mCO(QFc{=_Tz=J*Lw3meyY<=3h@Ov~S+EoB)nP zx~{1Fx%as8O#$8g+k5^kU{@SYBfqzl?$R50MK-@9jmfWCY}=%<*^sBs#W-eR*(Je- zt9YIk1J`oQ)^LM8C+#+HJ7n-U4^|n|MpBkeumvePP~jIn&nES>EV4}r0e?q8(46Y$ zc&%7fwjPfnv$mgO(P~%UMc4PeKjPy4ulYk!hGJ1Hn}<@`@m6IA#U;6XZzc?zUB~@{ zTWp$nFJ)Tn(RMPxTfz|dUw5!;@B~q3rhSQmVJJxXDhbMIG1=asV0PBPd!}^Me=c|c z3*W&_Af=>zb+h)a3IXSzmS`33OSAh$akp)pore=yX{F*AqvZ;PKQk2Wv z?M20~x`yJs*G%8RaDltkU$Vl1idE0Q?w3c1cv`sG5l^HG9?U-7dS;{&y5r2z3mRpb zx8QyY>pJ6&yReybg8LuKwZGv3$|b%;|EpCPkiz#`IhkL*@x>Gl%Xp^7iH%%^OJ@lO z2YK9S!)^kVNQdCS`i6XwV&(3-KB%Ov-ACgJ5b@7_8(v&j>RuWdSh~Nz*SHa1D9bNn zb0u7q*yG?yfl7oBF8#yEN5YGF3+w%rk%e-y3)wuT zqTqj#EGS=28qVU)b?!YHP-3$O(16Qi^Pj^F$DzN+6)^|=gpi^*O0ITRp|(b1tLB8U z#Xac``Jngfp`E`;97v|QjLXQNu3%$&$Q~=SuMym`>{JvEUc9n%Bnjf?FO@xFBjfj- zK2@A#(N{RC#6!PH%p|Z&1_sJIBOJeWpCC>-UdhP!@>RRZX+Or97Wn!a5Q#agL2$lb z;R(XkBHwP8FR0vYr$g#^@|sl5Wn)_!r;gYotwHl8h-a=ZjPnQ+B{NkPC!;!`5I!Cb zNA^VP1~%1>-=zM$#c;7Yl~O#L!gkI~OURc@m8#-XdFVD!Ml##-?Ce$AN%m3z1ZO=LRadC5k2z!H2rs!{I! z8;cNJGXBV%(D$1tAuHKE;mJdR#CMt~{}4$eXZQ}0KBDk~&N!!!n#$?QBVNsB))Y!4 zo%9H$Mw_{`VqE2k#5JhYIR+WWki3$&P&=G@SjA0eL^fyo+Sr_~KW5eJ%!s+m-?^$H zszmApb?8c-c`0+SP07$K=%47Oq4u=F1wFx{X~JmSo1p`W={x4z3Kj+0J~YAt1vc**V)E z9(C-D8-v^`c&j$W86eEef=4ElG8&lW_NyBEj~F8J!T6I#L`S{84D5JIs8!7a^5~o= zR34K0eW8{kqny-Q9f~d|35YDV@+b_K*%Q`C97v)q{u>euNB%i+S3p(x zUnaJbhtm21p6)0b4jT-&5ZICmQueh3x%(M)S?j(yuVmX1OqK(e%E`7jl9Ok;T7GF< zxe{AMs?@7?371fzy9GNXzwZ?koO`no&}BTy&9TJnW-SsBkY8~aWe?_$2)u;9+iiVK zWuwt_uvw3B%%)pxMT9fyhxTw|g2Q*1ZlR9%i(|S4v}b!64MAI^$nGI}Mxv7`M~mJ_Wxw{u z6_2smbENm~PabHoV<;>SYuGde?!l^=fq+;wgtyxnThGy#x`V!1!|A7@U)qAllsJ49 z+WRAEr#MWG3J*M)E7AybI>PNFQ0F9=buIkyXSp zB_?!}$L(CoYlPP(^AxJvek5rlN0`JVlQF0{$E70+)pI2p#0+eCFQfnac33(Lk$M4f0tu z`YxquQ`)}yg`(0P1Gg+|m}NH-rI^~tue(wwvtpt^k8U`VRE<}ZZxikI6F<=7#e-@+ z$f*4m1K}wqe?|I%6Ehl_4C)V>NEc^;nhiz#`T4=W!4A$&61McYicB11%rB`NQD+G9 z!h)Mp9AQDJAYJ zhZ~X(6Kk!Vo?yg@Ix0#1&Jk+mfj^>+C$d$#K)QFAoH|mc%SEH~vtx; zYKfR96}gKu%9SnZ8Yj?_#DiEG3nurpXap{8)qU2`(C5mcRH|Mi%JK2!`S$RCts=ST zh%44`5>io86zTR1*kHlVXNU~I$vTQDbA)8V$~JmwTP0Qox@Xs4|rfn zFzYCv;waAD>5C?{bHL{_rGNz|EmC%dN)H?T6N#=oM2#x*J_T;A;2cnX;pT2uuPqG= znMJn6BwDnBBr_GR$e^{V^%(xr9g{iQRoH$sG0+W!6(FU;C{>HjAKzi@Xh#oEHPw?L z$~&67!-Hq(1Gyd=VH0DB;`zD zbt>P}-9ci9<|i3>uGYH@*1F^Ei<5m>5x9qcK z8&m>s{bg)yj4wA-QV;EpzAqdy#Ga$GlIm;I#2+MuISwZaaxxd`SZ3D23`Ds99ASv@ zIh8BVCn=4{vv_&U!(erZ?!7NVC(n0Ri>{}~vPy|lqlh}}Z|>0zu`Q4K3z02uQ73Sm z0wG^Cs-od+{QYSx zYyH)*N<=l0!ju>5z0%o{``Q+C+A)-~sGLrQa{+MD5SXtMmdxg^2DAPiO#fW-W>G%t zY_4~~^P1+m!x^Jxczqqx;FnT-$%$GHW2=OGSG&ME3p>(AjxW(-mhHKnmb%p9%i-{h zBsnOAPSphz(66VN7Zb$QupB>4M^OvH{ykVzG<(tPLVCp+v1@8}^OF5>;xY7++Ry-3 zRN)*}y;y_cxZhha+5GQi&cDw-6op^+BDSHmV9G>kshsC6Orqq(PeCbkdxsK&2wF?J$I)8FdeKu=xnXaQW@83PLLWs3_wpXI?sh+?hC z`eiS6+b@RqEdzrU$70!^_k%X+s-|C0kGVZ9dfApYjkx3w(}j&|%QeSckA^uLN-0eT z*c{UMIp!_0Iqt5<9GT4DOvMjXq1#jl8U_;heC}@|6doWg)gNrv-==fNijuf)%S9*f z9dcT2hW}USAu)bt@U_oHE_6tF|0m*C62X za&vtiV8v=+OJs0z#teF^_xUltPDtbs`kL#Vb2(3zZTR^e@LA9WKYyHcU_+B2>p27Ux>Wl9Q&;4uwC}+RJ-zamq{mk zOxifkN`Kxr%uRMC@O(r!U2Xe3_QbcnyKp^$ zXE%!qGiT4XT9;4v=9PfV#y`O`y2oez1vout@R~2@dn$!F{&A>ifdTGe2-3E;ySAvP zquH13J22NJHB$NJv%it3LGCigk$^O=0ozR=irw&*`+H8voH*Ikg=t zSzm_T98`psEmMpy5sNkwZb~`7)V{o!3c^G)`)LjveQrvr04Av6$>z`<}2J4_{(kfKk`R$eaPOaJlwE|J4u=7^w%!7mrSsHJmuJj0ch$zP_L zRj8vni<>I!X{11yeGcK^a%i)9G>$bpAe&F-sK;^9-BhuHPT_n#tW9QV(XxFuT`A)( z+jl_da&5T5bKQ4Q?fC$y_6UpacyX`%Z)$&!F?Q}NyB{5{l|7GQ^ z@Ri}3*d{d{;@xG&HFex!cCKuLi*Hw+Drq1=Jj!!h3(qY7$lp{Zf%!A zcQ6SnwxQbdIGYuEns+3cu zWV$kMdgXPR*cruAoy)h`_K>d8V8Y*A`Y>3wlDjrtj%CYtQ5x_UJ3VG-X48{_dw$OQ z?^;*luUw3p&qGJs=$xme(Twe`RLi5z^aUIDTf~ip(cT2cjKQ%Jg@6InqR2kfTo}x6K zyKX8T7t0o8txd~Z+Qzo2x?U1Pk9od+DMZiMdCvH1^HVwAf2eh@<8$cs2Y2D;@;uFY zKl44*TxWI3UFKc^-qRdG8eQMh9BjwmYgYV^5zwEBR7KB06EoAJK06EA1b@dlKj-VV z5=Yl<4jV7T8rmnjkNUo?nsa%r$McNjbhY{Nb`wXAC$k>sU7g04)DUG`QmnsTj#j$Y zE+1kPr5swe*-xr3w=;nfE<}`vHXBK?Qw!%w1mw@k)5YY)$D~oVe~~XONe-VE8P;$9 zP$;@^KP&z_XZ2$ZpJRVG(fOE6MI)k3*1NTu3WrS6qI^=98G$WBT?^tqNs`3fA}Jrw zoOpkX5Y9Q88j*nS1t6DMURrA8AtdzC>3*+P^IHxG2ndI%4?QPFxw>7v8h2XBi3TSvC|l>45tlw?jOSH-7G&E@jvIZs)M)0lZ;nhBuElb0haXVy}!B^X{4uYPwt!@0vJ@)T18kXBZg#RXv0}4K=^dM;y63vPq@muWLD%!)^lg;H zbta38gWs1Q7?6GrzAS^~pXdBUW$zUSZA?FFNL9n5q9tpJnsB=J;@Y*rN%L&$~D5!vwA?I(NOJi6j+B@64EI@ zOQfwxSmN+DIa@aO`Sf+!q+V0F-UOljbX=mq!?bYFJ)yjT)KWL$^&~)+U(?zpv+FrI zw#U(!k&2-~q;G_Q=bF>^BYolcw?55wx5M0st~I5d1{uBV5^IK9tqbW@~}CS zH~1UXrp?E0ZiJ!h_WpNIQGRt{={Zc$O}hga1U+aleRi;LbXe{gmP2d%sI;nX8&0zV zV|#^RY@TUs?~*%9$hR`lCT&R?w1kF-nS)<#Wp*g~z2oS>ickTqV6tz} zt1O%2Y>F(O4yBCyh5O(QMl+Inc z1(q&ZdMOo<23fk5W+`duXZ`&@&l}!x_ug}6=FFM-&P>2jU@-qjb}_MlM}+&2jHqyM z;>k{|SybI$ySR}`KW7@$Q{y;F9*8{FU+2X$(lmXL(IP=7$>(vF#K!u^tJ6jy>W%w_ zHJ#AQs*`JlyxlVu|DNt8k`l`~zd=qcwPc}s_F-C5a9H`f0#uqLI(9W+n)m8P|a3K4<^A~xvcij`T66WqflYuhoyd6K6?1H_Y*bu+py@iOE=$hjR>=Qw=1LR(BE+j;kQ@Y7MCVp^w6{`g&7aQ_0Kz+ z++O4TbhJtDCfxWkQNqVA=&;9VGdEzQJBoxwGt)yyTk}NiY>Xl=AkL1^t8)4x_s5y)4dn$isM{sxm%n`&^BL(haSgB26>fee>%W z2&VK|?}kgn;NDDw@ci6eEXlly)Up+HfNBxkdfVs4VYal+#ltq!_Vul-U zn`vYio!g1MEi?39GZ9$|x|!LpZj%v~;2)u!U*12AGqGFKH6E zfIn>AHY7Ss^rJFyZRCfXOa^fJ>G}r!PuvDXF9@SG*$a_8#!LNM&B1lA^j>s^R;`y_B`)XkWhic371gb9nhxw{F|;ON zv~6wR_vn!2U+c@ij&;g&dyd`}s|n|udmcYMzL_MOE$j@;+6OGZzgg{#sT)+q?=bWF zaVjEx8rs>?2+8&6Cm@Nj_`54}R|}SL-JfroD;0NN4_Ue_to**d6BBVi=W zcRUVg4(8oitDIUtMmX3^Q1#_4Q@kCcEh_eUFigk5UG+!_|2WRlZ#`;YpqyDPI5w^! zmR5p;f#DY0v-@4k0x6N}9E6=~hymxTPAK?ez_}aqPjj8>Pl1tvHIwGK9~zS1)fn?? zRq0J~>L=N5)91own@+SF?M&prK}g9$HlYWjkj49?!S|Jl7W!P0wn774JPg-3vI^%s zPE{~vK9?OWP9;g1j0M#cRYk{=;x|NSoW646Kc)usip#<|y9BfdS1r{FH{1&|jbz;j zVzP)Vg~H08*)QaBsV_K{U*YJY(ch6?BzqD{XWY#f71C%&bGY*U8|Y{FWhCW z|9Eu=V}s-G3u7E48!OMc3$jYwZu1G5M)Ww5`F)lahLPf_1@vNLj^W~IG;+zKY~mgM zVAH}8-NpNFl`~;PZg18^*pzn#EiB_;dTBb{3EPvll2?xp&ipFa5@x4bU8$vQwiI%u zNaH+<4t1;SNC?hbTf{!ili?|w{_S`T3|f1VDFwYjmZH(fu&132*z1Bu=&wv;?i)_J z20?gzKR)(pIA#R}|2-HlXG((ofZt zbWHxTSLn_PYQrt~vczjyzLzFa`gyV$ok>mgq1d$e-fOFp!^?6+J@e_@^7|0RJ=^ja zKuUF7h$QgzeKHsq?))hP7pBT8^;9U!B++KKRe|E#SbtkQwbaIeWzCk!oiz8E$j2u~ zx;9=C@3JgfyWiyMvft3iu>_e;Mv|?GU)#L62WuT5k6~si)bR9ts^o7n3%kC4AS5L8 z&)iS~D%0eneG4g?$F8w&#RM8VkN+UGHy^bK zxpkO$jMU0qfBsY`-HV#g9Ba-AFG7_tPE2xtr7B{U=@i|uf50SW>Ytv=Z_--|8bleNvWHJk%2PdsF$GQ>HP4MVfG-pL z%<89|p5Ogn%<@KlfB$?FS%erUDXo8apcI`j*QlWdjLZ{pzr{@MV1p4~`G6h`48XvT ziS$5EdeG~P67#fmDswP9WDzO9BMe{DI=XI&>GiN>*DQE*3mCQR2@h z%Q~uTS8TQBp+>4-1Pm~-h|b-lYUIL?W7fR^zup`V&y=+Ws3fxDSTMdzk$^hMSpPUZ zUp$BWp-CY-*%~{AsqE*9dGU0-`R7LJoE)4V8>PzU9962_>S~Qba`6!L9_tZpqRO9& z9vT&eN?sy3r6#Jp(df8y7~45eL(g7f$H5CyggU3Okl}#O^TJLlA^PcZ-bLy4E!F&Q z>e#47&2|03F4||UjgE{V-}!Y^|E8|_fJl!-7H&?l??udbVS(L%tNq!el66*r8I}L} zwJKN@i8pD!eSeZGr9$1W$HDA3#TVi@(w&4&0aLFd37wr50Nosfgc~*JD19{}>vezP zhbErsEJVY79%p}zjseG?!esFeZ2*yDi62lvsTWKYfh%!NMF0|UkXhk3h)(g&Y#HaI zYr%niIG{{fzZzI%da<8NCMrfz>0 zPJH`R@9q1J1HaTOqCRXS#>wj5f?t2YME|7j$5B)URD14Bv4`9=nB7r&%Q`tZ-^ao6 z;35f5sWhIYG=_a5|A3J!TA~iK%y(MfO$#+IZjgxd5*sL_Kck&p%Dd)b&|>CrzjlIAY3Ja z5Om9`CWV+qL9W%Iyjwu@HY{YR&zKS$_;`6KaR%>xB& zsKvKSb3M;r@Co0;`8A`Wud)_N0Xk+#9}xeNO3+On$|)=tazkCsb@vfcX&(5hZHVIk%o<@9b8#u$@)U zV8-^~ScHW+z3#7gkDk7@#`lJoW9YbcssMAY|Xb?(u1Yfun3{jzpHZVg~sB$>WpI3j0%hGZem2wMv)WPKvmn z(}v6E%AXNB{mYyc6`U@Osk*D6O^@RXXHZ$^08CtiI1XJToJiRrB{Xk>=2a%rCjiTw z635kh>A@CE^(Kl?)3FSL#Us$z>YL06wVH0WxmQ$0NRu%8N;W>7&*>Np6D+xaxy!rI zE%)uQh&Y$N?e?al=hnTi48%q)h&65fcx;5g!zKUEYX$iI9m+DnT-HNuda*Y2H9X79 zW1Sic5czWg{n!l*BFyR?Tx$WSMX~|iiHJwX({MbaTDW@8dr}0vK1)%M2^S1T3KM|B znD2okLHP5ruP_*$v=62c7$9{Avk=dL(fA|7=`cZmG0ZV|FcKz((KnPh}>}Y;_R12|Tp|DK`u746xCim=tm$DLMmA zb!6&Vu~JQe-g<$#Nn}wO6>RTSr{y$%-PEa z;2_ZLTkQn$9^b^ZXEIcZwEyrHoFN9))vu&Soq6KkxXLzX`- z7e`?T0x4jVbuWihcv?w>IgAC71t&EC^HDbhmPz~OzHNqeVz#r!iHBTFfxV7;k9MIO{DK{Nl=|^PF_kYo< zpyWQfPGQ0x|2UL*|L_8w@lR8gi0D5rcu`hdT6ZmNLbVQoxRus*C;E=0N_5s^mVQP? zVubWOsvt2QVPPGx+v^oXi)dPJYFABF*Q61ZE7MAEQ$wce&s03uq*zl>c7?&?Ev{Jvs4zd{A;bylwuf4e#Zm_{_*E>5?vrU+Y(@Ti{{VC zu2~iifCvrDy`Fh06^?Eg(lOribZR8Tt=70`qsSx#6??t@sgBNF8QnzWbh?=^iiCvb zJ;T6&XILZ$2dAL4#ogqmMFRD3hWfUQEoCB2URaQ1mrUEXif44-j^O zDzM0nq0ST50)<15O9PTR&(o8c6gLK=e)pQ?V5$R(KH z=BvfpM{>37&5C4PHMv{wVPB*o{sI!91&K&t-4RZj%C-5R?q64~D{rmbeQWbm_8;+v z^Mauuu;_aV;4t}q35+Oj$|2X3Qyz=TIa@xsI375XjH0Dq=I7xVbJA#>CAP9YWF^D- z=`k_U46epct3aYIfd=caFLbS*)kz~C7R(qiE&5Da!M7Y`5kJ~oUx(meo?L?;VShyo zGgBjIM`?c8XZ7*-wT~S;9i+(@Zw;T;6B3)*cMei~*r-QQm{tkNJ$T<@{nc)^vM2BD1WMjX5Zji2(x3)bbTIujpTlv8Zq^0F z&;A$_rD{>|0j&gOj~-dus0l-m?k^K<<2<2zAbazn^xu7E>s5Jf3=cjBvuNW6tGh5-yz*>bL-3`)`7br_NMT1ai~I6G#WnwtegxP>GqXJ*Ib9+gA} zZ|}^$v2>1m*rEnFa!a5}%15!Ce#Tatv`N?^QmsTm{``<4wQB#WXY!BdbbImSED8j3 zUkal+9nyFPAg2WQ3Ku(RJ1NmLuL`d5XmJQ06#TQ41>v6gYUO>gRyQ`jJ%tuMPTa9d zHn<9UsyFi7>zW&3GUy=PBA`&fjP;oyIhk`2VqhMiu=k+jd4udvbPC zrDvdJVgohSu#uFPmXQ$j10rB2X)+8{1~7;gUo?^cMJuw#YmR|fgHig?2$KT0dJ?%KU&VUi=A#Q+{}q1DxW!vZd&gUZxqMPNSI?zE=fdaZ(#Ur0*Grsi(EcaoNXQ^TwRuX!pwZARQeXU? z>kFvsud009G6J+{9WULMlm@j~>JGp%S1q-+z?^~+jhnH5-V7x2O8t@1aQdb`3BZ0& zYR2QVfJ6p7=NhW)L*37cLRAJm%&nfE`?mDtjI>jPiH2-ptcN}$6tM`<)$U1TX37h_ zt-2)x>@enzw0p86IIAIdWu6I{2ozPo!xogqdhy=g(jAL{;{6qv>< z3mK6y_|>P~f`Qf%1>8p!s65P&IuaF73700|a#30=ss@4Awh@tHgAh5NQ7?UOX=lvD zdz8bgb~pcrS8+-swxH{!SQmXZWurG+&IwvkC)1kz-yfh#b7M|wsB%4 zczzL7m6NSUeUP{_>xt+GRvHsSDgF`#SUkl-w9qbfcl}Sx3|d6{3R77m z4+Y=>%;hzPN@w{MQ6k44d%tH{${|WEp|1wtE6kvaTzlGsj8tqjcX|OWkdhSioJW#Nk3ll#4o*-Yu$YwvV77|o#?F!` zX<}r`aNdU(7XR4uG-x(Ysm4SP40Hk72U#$e{oPsT`d)>*XJLWy1QWjFVfph-pPW@#f&N~(Ry`hqZrYZO7(%b=&1s}R53#;WY)g1%!{4VPS zP9K+vqZ^D@tgKh9Nz7*8ru5>;MrNFNQtB{Bu{BB2Rve$+gwHL`#DjnQACBO|+ew=@ zRb{Ec6sp`zgL%FeoaQ1y{oFlQZ_UkhccyZl(=S=?2)wCBWVS^Y{aXqr>X7rR>(uJ`JQSF}?C^<$O*%H_qRp5f})s zG{<+3Vyl(24<=t@4wv&xEY&0LKTg9QvrIVuoZk20%A_fUJWc-fP zQkC+BNpRtZ)tIwLN`G=a%!2U;3?r0L3_sBmWVrkf4S20om(f!&7fP=tAp zWX%Zud*%NfH!Amn0dkKi*!gp1aIZyfLrS+#@$WNEIr~24FlynO=L~^#x5R@VQ+loX))u0g4b5rZ$$H`)&QKBf+ zbhEA$F@i}Eut?i?okRe9aH?z30_OyB3XqTqvycf#O7@3oXk*JGT#)EG6`fR5_>pwl z6G7AWb;l;bO{DLYAOCk`s}N|qFtA0Dn2|RaZeA88Dz_Oif^@5=sKv2vb)n4`m=ZO9M*iKRze!3=f`r5w01P|}bNCBEL=1`i9ahp`o@aP`aj%Zi}O@pG0hP*Q3OTeY{5xH^4J@d|NyGsdIEZgo=u2&~<{N7RXyhtIZh+ieOpf)HPSla*w;{$JLW(D7o^Z}aL*;qh)ipQ1s8oIPwsH1!esD8nE>SK<$(q)ds^S%B?#i?Q|4 zFn|FFitqJ@h0;u5^loyCgm$lJ3o#7Su+?b3%aRn(_(x!I!i3YiP=AL znp(UhaN_6#YyKI7AEABoT`Y@DT=QMK3a{$ea?jRw$H$GmdViQI*0NO6GjggKFqT31 zJMuDyE;LO?!gghKiXLeuVP3MQr;&E>6qr*lY`S~_)r)f@DuM`=^uje{Owo}!_db2u z4xiUse2UH`28p=6lxFJEZ3>zw%#=7f6=1o+u0*%{ozK_hSLxZURe4&$I$?((=NKGe11%vHb9PkRSi zKa3z<=bwdxiRM7Pk)2k1?+?hgSuOIa^_g{If`loTRvc++R;r!O1&L^RZia zdq&%GSL|Cx4+)=?9Lo^QXIPP-4WMgHA7>3yPJmw$AWt8cRJ2JKiXSSMA!r3_I^GC> zKzUGe26i3prCG3JTXh==F5LL^3Hs}6@VAm$VYh|soE)Zf_9p3-rrXH8Z(Wl*HJA0n5bibhVpE~5 zye*~ttZ+eHOY6Pj@mm$!XOB(W-9>4ZT}V)#g-&L^>@CPx4ddT~Lee3bU2g`bYe{ja z33TQw+8oAwb|bJ0`+h6m;uuyM3--MmPqb5msVbS=;x;(BmYcavSA(&`jg`Gu)8&>* zYBi-!*Fx?Bmi8CLqKQF8oPh0_&y6a*!Yw(MlSexRYk+E3WrW;S+_YL@JoX?lg$qKv zaD~PDn@oOfU8B?hO;Q@9FF#;2Qk=LcbnxFpPjacnlYLL|vtZ#jrqeN>(_I5uqih~O zXbjs>)*+uxQ6*t^O6FmM^t-U1CjMsqXieQV_4Hqg<~{6jlwb#us7A;A=VtiZ8(Q#d zrK0LoEtwmS5>46}5Ph(y`($~8x|m-#sA>6K*J^@HV%qt6r3qo;fRMII#tDY9R^+>L z-kWT(iMi;ciN=0t-QIYj?nLTpk zhD2OXqSCFP&39q97Da#I^o$n@#~)`i@Be)GdXs}*+T21<&uhugdT?-XwuajjU|`g0 z%!qaHa86@GQrJ1HDHMrAVgbSYAj1qh)!)fvKvo?CLk}VLX%op7jja0ZargGkTq>?F zL&1R;2Q!D$b)y|81DvDC2Z6P=AuV!REa`ESs`>8$a%Ci8X5$qut4#^!M)v9jxpbA` z%fcxFPis(yc_OGN zGtj7{`VLc6hQA{?C7RQy_)#@P<77{NmgRA|XV_N;-8;$Gbs4g{s8{S@zDMPoHh=p+ z_rDo2sIIIGyuG-~4mxwhhOc&wnp!t3@BEXP`DtrTvFfV5{MV>moQTHanQ;A*kV&eh zzL>fRBQv1e$jG3s^W*vQdAffX*uY@;xprC~_p~DIjvU7Vm4fcPCU-lZ8Z_BpLX(18 zk-Dh_)>JiB`s>G=VLPtQ^mTuIZV^g_=cddU4RMy;2^xlS&arEJiF~*Jj|H6c)&j2k z0N9rVy}i7*E95*?M-LUZ*ullY`TXsdzZC-rNeOfqw(lSfG0_Fbq}Evo+Kzr_iQoMBPLVNf>3X-UH(JAXXu|}3 zIw5R4M<6D~z1buav+8f*cXx8)E@e-JjI%E>WI$ssp)e+p(I(KZy>ju#vQI##ftGY9 z;;ZYAJkU#z)u8dJ7&>3Ss*l#y%+?D-S1L9#r(5ViK{Y*?HjPTYIAa{;5MtR|8&N7iR56}|g}AT+SS#}UYppE!oTJGt$Meq{ z_TLQ_SZSpuU)2$HlmvJnZMfMug5)(#NRPe}q^`@vmDa&T8+|9xBZbZ3Y|AH3ktK?r03tU3fIIuInnpwtuqVLhH zpq|l*R4*22gpj96fMY$4)@~CJRo${zNiU8b+GyQ>WEx9PmRz|3s^Yv<>k9AV61i~% znxgSyr8YlVHdW2<2+&bo`IxGpNY;X)0|-Oku~n)S7H zF~OFi2de}`b4zsAr$fUgl(uFO|HSZ`$OA)yKBqA!tfY4y^VBk8|sr?%G8~%9gvg^^|S= z)p>?5PwUP*mUlhoQE}~u#fOVkaCs^ac(lb6ozAexUo{dq#d}OqSvYQAhnI0aF`qSH zJR&^xstJ0zernLTB1AuISzn&sGZb>OTbKKwy!shTv}p zCpAFAGD5p)COT0}PV}>6RcM9AC{+oj1cs#CoX`Q`eJ;`*O8$N|!1}QSf8NVreg{-{ zA_#lDBGM^GO$t@=hOXC|mP~PE{<|nKQ}#2QQfqePCjAItFCfdUVL5%r<-3-D*SeX%NiJ~}i^(IWKz^GGUOUP9 zf$9jl&1)J)ZMImhYG(QGm3kYFk*w~!EKA(MBKA>xep*qRkU9{Tj}GpvfUYNn^wDT5 z{ol&Z$LWU;>NaFNrn5^rpr=$Ks4m!P=lUF8?iBazI3Ow~{6uvC+*;O0JM_x$*QY3p zq>bymUc^$#sa6BaS+3{m+P>d`l>fP_77q`t=yoO_ZPk4f*GeMq(U4!M6}RsBg}pOg zmw=>()eI30dYz7w{#Lui(?131d_8x`x*VahP3(ZG@!NEt>AiF5%ccF~5pT}^c2T&R zJ1VFzd7j1ICFJUxgj>j;qG3mhh1a&Ss#{#WsY>)!9BgxKe=b-l4m^D%H-Bs^M3YPZ z88z{_UcTPjUM;Z{o5|hcJ~{XES$ua;c>Ev?IsbT5D`%$gZ%D#IP*Rg6i`K3?r)g)j zP+zH=cV5W8Ya+pXaPUpbd0Q}l9S2{X58nF05PKZ*z)4>hfUSyFSgO>AtBSaEP^!Z$ zS_-HfD}w}gzE`BZ@<2ZO2$D#t%NU@W<+8yiplLp4^@+#*>}btX{*s>F=dfp!kZvJl z5v3ur960G*b8{X+AAA_}Y1$ua@I<58ro7}I?7uZsgaR%0-z|#E{P|irGc$t)tUUVR zwgc!QB$vD1a}Da5{@Vb#1iHp+vRN@P$B}n8mx#NQfX&=JlTv|R5jFwDlsvZdK56O+tH?Fx|?iLN} z5`MEfkg8NUO%1v0SY}S-^cjw>tkv_knK7(os}u-XObr}mSzO5u)QU0;TOSG4n8(i! zZDnJvDV;z$2GqtZTzMW1^v>+b_ivERCKbm^GPn-n+n3}Axri;hv3p!-os#Yxr3(fR zeU7#@^Arg=;}__k^18+e*l$vswoPf?noe`SOQChyTgpp8x{YaN9dq_&rkT0z<+|0` zp3%d$jT_zs$q5O#-WU!37@MqOAWq06n z{jg}VR_Wj^R6?MbP0c*Ex>0PH#bu_RF<@l^_CT+xvT{oh(Zuc3pBjphWe3r!fc;k2 zMkJQ}_e(;<{Vp@-SvHD3qc7m{s8UZ9^jR`PDWqD^_`NE1WsD2nuemZM<1Df>Aahx+ zQ@*&Oj}Vv6P&OlD|K}Dftan#lo-1+QVxQ~xz9-c(_#$V0Fyv|Q|0KlWS!4lr(@NuKOL{BtypRGqU~pGi5O4U#l>a(?>-r~7rA+%}WIxc1lnTHkh!=J3D$ z{waV(9g7eYgvA)T@p|F909BE&!R?a(hicD~!Az?<)AYe@4xbit3+EtaQ_#l1-!r)Y zhg!oJ@kQ)w+dshM!}cBqO)%c~h?CBHIZ!{WhZSvMoU7PTpR ze8Pc<$xOJF+JV<;dEKL62Oje$z0FI#aPq(A+k4Ft%z`#K|Nq zKIceFewit-d3d%baQoM~PVj%u`A^^rW+Db97ZYlMC);vEfBU0}ZEcArCnoTh!a8N- zi;($-l>}AhH{1IK{|W@C{f@NFPy!MaeHvuASx5)W&$p~TjT_gz^Z5pC4Xf$SCC?W` z?sDx#l2Kez#Y^X-Jo&~+f|rT~t-kX|O*2~Nn8bb&>^N)v&D}Jkl#8_a^`V`*ITshl zujbNYnKpH)Y2w*#epiv6i+y0c-gvV4Y>^yEPhc>w^L{~94+C#s0KC=V>ZoZpLFiO5 z59F05Ud}#l{rH%oKXptfDf%1~O|asfnoMpRanu=# z9pT(6q+MFHnlWDTyf5!AWYpb5-wb8xw>-qtG5>m1Njc4~->*tPtoota152XQ%+WC{Z z+~yz~)0a_`%qH_OYJ)lJ`8gSGz10mS?{0dZx%Muon`B!63Ym;weqn)6C?SyG3h(C2Sh`6j*p1a5|4}9l>vLdjWWiA3AKz)N zH{dU};EtfLjyF;l#Sj_+jzY*)o?n2^hPZ(8vjaO4`7m8w({l*9!iaUQ%ubp>`^}20 zh}K8Z);wvyPeRTqO>%)%n>?GDRj|6%DM%+O}>%r5)X zHJLm2g0b>Dst?hQ0k67`v)K_6UencsGC}g__~phlSY^&)t6`r;ri^=Q;rG+oHe9`u z(Lh&S)t4!5rhl*Ryp8P7;C8!d)$KCZ0l@<&pmQ0Kei9JR^5JZoRa)Vj{w4`KONpxn z0owQl?h0WtgxT!jkOVk4WE8=AD}bu5TDO{bHU^c6Ljb_;DQmZs5)} z*sVokhJR?@-iL83ic%%*|6>7XWuwy5$EOjNmPd2f2xnHQ>jkU^=O8;m9CaGU<#;IC8^|-g{c+4_>JN)pq3K!i8N?q~sefaDK6UtNzv=&_s-*LHg~hreu!P5UuzL zH+%o{sneSA+(z~nYe@;w1oPG81& zw8`mWzBLrT0^2%mq? zQ+pf)r9L0Bzv54jWaX5e_erT>EuIf#ZjldLs@aSZlPiuM zUSl^0~CDh;EPCMFP90aA6Nb=VVSxI3n@fkF2exsB-uLzC>f>J{1;!CRwt3MP| z8*AbJfS8Rs=lZTcnR=DSZ4BEH_HjcrK7mdtfu26{+K5Hr3Glp{EYz_-@l_8Y+qX zw5%Td%>IUbDmJ|POi3|}W;I3G4q=ZQJofW+kN_yh*~pcK_@d%wMhQZp8Vznq8+g(b zB_;e&9ZjDnm{RdDoN>ADpvwZKf!6CC1YsH?F3s_z5D3#*b-zS;=ir!9sCf)OURP{1jkq+C6Z`%rAL!+#Mx@gP( zAZ>J0cuFPtsz02BZ2gyd#Cg2;j%=bf?R}@I-YWSg<5`R$?KA$)OVW?Cz(RE= zDK-$jp!(VRk}+`31$nqprF z<&b=2?h*%8C%;JzZCmWaftI#jmalckk)h-&p3Sp!r?I7K7%osEwJ4Z)Xy4o6{g+^T zrRdR97T<-17gA@Mf3_k)bk2+^bUNFisn2E3pru>iD!FdE#53iE8<~}T73|BywJ}>JsX2Dh+JbNg| z^WZG;HrTFA(=z~DT0ccbuDT0I(UhkIk&XoCRTzEdHs0 z)eK*FGHRoATyA0#T6FT{c~LbJXr-(?TIf@F4kkl|+8{nI&iec`S%4DftK@(11CDh5 z<2oahIobUlwvL2kMUcKqvPuB3NX1m#an~21q^Q|T$DQL`!gr-qmIJ6wS`$7#NgQVR zXIPxgK`8dI$$sOfS*jES2$41(r>lNazfnvq`RNvZyf|Z5@aNmd(^ai52eqG(CTb<( zy`Dn5`sUkcs{V>zeIv0#ZLEo-`)?&=DFeqCN{&6$D<`c$q$fVC#IV%ZdI(IOh=Vv; zyo|}zDWJYB^9x+xUsR%q>M>>!fuE&;0ZewOGJXsOlR~2F!=MP*HI0Q4Fm5U8bDCJ8 z5`VO!9z{|qn#sZIbP_=%Vz{GU5@Rtgzdyv316x^f;p3YcC})Cl(Bk~U{SUN#LAR`0 z-z>^2){?_Eu*^)8+#SPRQ5XuX!)D7z0d-dypdvldtl@cH>iUe59UvT2EQz{Iop^kL zmq=a3jXi&KC+6I_;(Aq;VPX@7B9&{CB16(P)x$dPbcJ?F>#L52ak$MIIXMPm;t6mB z1O7`O<0um;)t0g~*$y`51LI$?G!BiiCx0J{OD9SkV9WkaS9LRlKzFI~S4PxjSa+(j zeoH4!5htqY@VryG)4PF4f#PHdS>q-|VynlFUV<4wWjnhfwAGg z1ek)~#(a*uA}l&$#NV0Hr~L{uL&!XKN~@-Y!YkcnMm2k$F$Fa>PCBV+?3tRH8iV%$ zII_wAwadXt|L8Y(b+!it0yTjyIqB&uv+XZQDvYI^_w9>4Y8N73OfEmID&pLQ^=3p> zWWf;?&a?D?VRprxUIwXj!r$4$?~?1$21}Ju5I+1{SM8}Dy46#m(x=p8)>X!}pE2uy zR^|1#iGWL`86QV*LULEWc^@m<7)($CX0@Xq4F0>TWD+irTU0QgrP{xn3 zRvd@rP%0`XeFjVP@<~h2I%!14_2lW}$ad-Itzu__d$e#=l*j8E(lOx3)_+@uV*lZl zJO{_~I(nso-Pt}5e#*nA(plV-3Pkc@Zg_fU4s*q54d4xGqSgX#?2qlkJ-!9HA&;r9 zHgJO=4h>Vbl=&n$)Z;}~_w2NlLqGT{xzJ$qC;wX_MG~FMPl(Z&#~9)o^?#@sd7451+@*c zd*a)N^V0QSiz+NIM$v~CwaVmC!+yj2jMX#hjWco7A3(%TN*XZ zr8wY%x)TPtrrgDOZra#Rj{f>v-4UlNKO}PsX4~DvW6r$oX*YIaDh48fdDk zf0-r5R^egAU8gd?VPz=)X2=s{ilpN@neR_RL?`Jrw+~+jjTCU8ja5L@?1)QJhlccE zaU*Q%t3gGH5_H}CPD(kU2x`>u@$=8FJq7YFG*s`cKW(*5Id2TnV2h*)rT=pMOY01W zcXzKfH$SWpV!&#YFuD7{Lma`ELPGl(3>J@vgH9>h9^ha!A-C0Osj1j1e4L*yFFvK$ z*J}z18F2CIgM((axrlnGqlM*vUD(4VYqu53BN(Ch?Qe+?48OmUG%7ctPsW~(r@vYC-h@@n%mNYq;s4j(dqqXHHQ}NtA}9(f2q;NKKqLuB zh6Y4LKtMop&N=7Qutg*ZNX}V6$vH!lbIv(u8k*cd6Ygx>|9|g2=kbg)&dZq(d#o+J z)|zXEnpIzYRmCh5*8+o>!#z-};`>FMq6!%MCb+iGw6|8Qq18TujF?- z<=rk{i&2}(aQCL%39jO@m*fc_>4{8!>)Q>H#=X^nk(5a`mS!1)JbzC(6=KM+-m9x; zN;*}ge%K_jSBJg?(R+rDkMUvmexW4qgyoHbyr5LYLu$P1C3?4N z)A%b=zyBVzPj8QSswj?$5Dp?KuWsDVllo{R2ENPdnxE|Xd~xv+>B{7I@Y{FvS;x|y zsoF0m?8N|;Z;#8?z41uzmbsXk`Xlm)bdtz_^+Qnu!|~eYP9iok%2B_^oNCSTR2DhZ zBZ@-N?(O$A(|jM?Vu4VQKEL66^I=sdu?E*ps07n9FmlNgTBS5jF!HRzCHy#J(WZ}_ zE=1wK(j@{|@2=4m`&|zRLfycdhZ_oggokUP}wC@nCRyyTbF4+$@J zbB5od0eN47K5V>_Z}Iozocv>5hKZ5<&=Vb=fzhAy&>6yJ++kI?@`i`bo;913OQ$6L z*?PzCsPR{CCb~ibnV|QS*|UO=*0OJ4-2d<`uV}qxJ|EmESiG_rKs&zOv1u33!fLnv z%;b}A)qsJ8UC_&F{`3(3I*R0h9cK%YpulwtJHJh+ZeA~C`nPo!jAu44+%Ql>(lCEN zKb8}EbSLg@45V#EC~8b*D+b&4@o#xtp&U9wDHEhJ5ovPLAkW@@^YE}j7_Fv6;A6%l z?y5n=_V4sLoItyn6v>__h{2mdDwPZRkin1#M=T$918-o2JW9z{`|?HSToF7zS$Uw$ zJg$p5>8;alJ;)x=-fdQHG*Hgq>DGX?_Qui~xf3rI#BbO zDrAOjlJxJAY&`Tr1+GX_?urH-58YRrBcWi$NDg{-3|}dFvsZWpu)lp_W(}JsS71uPwM_Yb{ELu`cFm z`=VuXtz#ih*m-08kSx1YfnHG3QIaUFL)qX!!z^NzII(U?Z$hH${JHQP=V51>$KaZ7 zsU2%7X@HWr-lp-D+u5n9>tyrr(2mR5=?1@fysq!Tq!Is2D7VGvR?c3JnSL?yiGvOD zJpt|dvr*;XkNdifDuaTSHXpu9O-F+XS*S-|$G0WdeQu54s_0YB>ssu7T`LvZxVdv~ znN+u+$|`I#$Fd~d)roRf^bXkkG^5-2P|V)c^axMUf710w;T#D@|M*{hfecqkPP)$Q ztVMW831=b#wmPFoWNz~f!m}MTK}@T^_W1+K&NY-CF^0e9apLONOeq05%|kI|kfTC* z>^DL~zErJrwP5i}kxr-ACfGooms-5z$Sh1%AJ@s^oOrL$b0ty}1E%PP)#K!&SXh`BiS`1&}8kibA6Zi8*&i=e!}s^~m^N7V3No zkI&B*R3X`4H9o6Fg~&07B}6Db--`|935tEYkW)ANI?90g%5I@Zee~f~4MIn|4H5@? z5kN$2hyP`{#{*!Qo2#oG!67aZVw=3D4ZJRo&F#m%?ZS$#spF30C_9nqyNIdV_=o4nf47t2&3oDo1N)YX0YC4ptP;=J*Lv^jD zVgPcMb%%C*rKCQN(eA-N<@S3TDoBs|NqZx6PHl?h4yh zwk~zrPZe%PStE)@#8U`MzRl834x2`?n88oE+pTKpd|fa0l0&hjDk}1qntUi?`L|Ls zVb;e_W&~#5-RxouQ>Zy!H)qp03p|s4YN~n+uVpiIea)(Eq@otjDIG=I7t`l*Ko)5t z?-cFtYgbxsQW-#z=#KbgIg$s-)s3H8dEpv$xQLI4JJ@9v4eqk2$&xsZL-tgeuclG% zY&lHygq@9l-7(Qg5}VC)cIq`}<5#!cK1$3h#E-E#xP@xvq^O0i)}-4F+K=H`F{l>s zbrl{BMJ1l(H%rs>xWnS@{)u9;aj*tyZd=-sk0h2_Q!kn9MDE4Bt<^!#%Lm-QYI@r9 zUI@IGSfElac6qw}TkcSQ%CWmdlm&y%LT4?Y(n8OBs8GLhqMGg1(>=`F>2${D*V|bIf!Y)ao!?TPNeskTl&?^&lRmivxc%4W8-#l?8Rdp+vG6!3P_UkjK~&D zjpuka6meUOlK#j z)}SfU`%gOQpLp-!ZR9D6)C?<@=BnamDU1ID zGx6(6$XP*N)Vaw)y`#r%*9B2^EwCaYf|epl`cdNhTO-^vHtkW$sW4NH$CV=12+M%c zV3?nMPtZQ_MHLf44^SGbkC~xvt>xXyC3g2XG8SWO2c3v!zPM0@zeIjpc#Me=#P}DR z7|1Lu<9PlYIDxG@IvAO&%@$n|?p3yi?S+!k(zPdxcce1qoK;G7w*&AYDAkxNMO1Pe zWn63{VKyUm$1HNQO`w9u$w&i57%(i)o~nb`iS{Eay3*@9 z!3URhma560GuhUqT_r*demh6vw;>MJAhw;~JU&$*DTlIcM;XrS2KLQU{C!6l8sUF@ z$LJ3f-#=h5#_X*++b_iQa<-7)iJ%s$#GO=R&)+GGl4peUZVaizqq*W{#B++(>X!I> zOwDzR&%8?Ea+YH?9`^maHQmF_sV}p$+ZPmCjNNgjmGUO+0-Y?Q6K4ILEZ@8O+1Kba z``^Hjy!{u~I^;%97t$uYU7l|c?&C*_2UDmcY8_h>`JJ~$&Gn!y@`{p>wRkp=(UQ}2 zRQN-&Ew_Y304H>Jc!~a(rl5WY{NZq}7)RV3zNEO+3qzSoKSj~XP6=_`Vq$@V;YGFb zW0~#?yh#0ACVK^J@q&ybyAgXT^&|+pc?&eEbmj!xFgRnEgsV%v#QZc4-WJPqSVU@B zXKQjgbC6D%UCSylDW<5&S#&m(nWtO{n;f(_7oO$Aq+sQIO_~$S*Gi-@c5t4tuOi%EDwly)Gi;eqlTy0rE?fUoPs-qJJl89W)^!ILZ|mmIP&F~+MuM!*~dcC`orCS0gS__h#Go=9i@+0Ugp9%}+%{!+T@!C^&hI3cJ5L6*h{?>hg;iR9q!k} zzbMys?TCP_l)pf&+q$EY!hkqjoh&4OtSO{lsvmEq;z6WYYJf-K4su;)KO-S1&u}!O zTx;)q?ciL8Z+y6Z%t243ma@=WbQt|+YlHWL%O{(N^U~ak621oh#AVyvVHhG3{l~t6r0YlRc@vj9MV*!^j@NRU~JBzt)*6_MW*tjwRPfa zm&BKpEH*|_?`5~KiKu4r%@h<%yz*%8OT}fNp~r-xg=C+-26SRN3f1kg z9#IoQEWJ_8XDPQcyO~Bvpiqv9*Civ`h?>i1BadO}c=ze~heoFIor0rISLQg0+bXAzv zP=EtyAg7Yvw|DJt^wTotl3vDQYQ_J@VRs!>iGdN_5*unks~F=VS`lIxy@h6@zr8n( zP7aQNq2<4v;@F+QHd$(Y8u^02QX0?4ZQgXirc`uf=|pqJDWs^Du; zWnJHgzPJ6au86+;&oxPEMk^yuAuyo=NjM}6I{*M+|2Kn#77pbujtu4f(9cwgg{Py1>m#^4M}d` zh4l{}Klahp%~dc3-y@jTY*JcioK>`s18}Jy-rcqf-b=k)OW{9$aQNHF5DJ{kA27qz z-hulBK{`^de0P)vz$gH&`joPxWBc;bmG=e+kug@}rt9Ev-v0(bq8GfXm7goFE}zI{ zoTvR-?(Y-Ge-3U>?r5;MOZ<3ca@!oF1QrB#R`L06ND_jd!WM@>4e}MZ)t8;s_9dwO1vld7NoN&g2ZuJx-Q-cF7LK;>Ow!{WgTrH z0fB033w3K7ZMjj%15(lp5KxPeEFu|LT~*b%l9iLi^A+iI<1=OSWi^OuXd1KJH1?!EruI*aUsCK}-Mn6LQ{hO|1Nih1C(HUKY9=M&!NzY8>sz$-#@e{?Ax-iIL z|H0ng=zIur*41$LBk00)n^#Jak`4elNeS3@31#%4^^o{WGo% zK+dl5@OX$qPr`Lez9U1ccv`i^gy?@R9CCu3!?LW|yMgY_b!(%sw}~jX?6cwOB=kEy z#rAo6yYxR;!2kPLgFj)}=UvRE*N`LnJ|mUk4tdB*xOPm8`C~tZtb4>y|2_|+zEC1T zZAH83_QW>hV?S~py~gYF1pQYlxGd<(>6#|(zrV#uHrAe$&-?So518XNznUvYbTduP*ZmGU+Cb#%VvEDM^T=^IAI6ohCg^Y40sYkT0sN^Q*Ii85ou{JD|NX7WzrU4}BEChCSL6-E_IFE) zy=m95t#5X}&`-2%+%URhD|hQ9Y9@c8|0?KISqxqc79?*8@@hK@G_%`?MmOk3eA zfcNU3eYJeFCoV)C5_H`YNp^BZPjFT1ml^itTS*DUu#wSFh6FeeZeRpGfJV)^Rx_bl!Ant#g-cVR8TBUl>NGg9RN9f-7`(%}Hy&u#Ro;|de zAsl!LE-m+YkWb8Vf3u>anQ$ID`78L#CZSww=bOk_GKf})!l&FDVG==lXXwt zQ)69^nW#&clql{q^ym?7w4x~)KNs9@_Zz! zKJ!JoMgV@)b?d>*MaX{uL-ni)X(9NZN&DEIK^y1=#`W3zXITug>*oLbcdCC%3fuJi zzg7hT@}(1^+}VJj0ktalcWlY*N-*r!`{TTroQ@euvGBDpG4xIh9w5vf{p}2Tef>M8 z9hs!q=)b@FsIj$DjhT7-dRd3eei<6LdA-0@tFW)f;oBPBWBfW^s|HOk^jM?U{(sgp zfix!;dQ4wEs67C~rT^|fqt5-GZ(gut70&626c7CV>sR>xzU)m5GU{>mbt^&_d5%A~ z3<>`K-LB}J$uldSNa$s?=RpG$)U#sm!)tIG969m+?cKNk^bT4@x2wX8A&ApqTKjh( zjn0f}M{#BJ0YPYv39s_~-@b5`gCRjraYl><+21*n(dP)hl_c}e-@PUDcW-g8lkK8u zi%U4@MT%D&1NI~694Ge7t-rwh^-F$UhqwNH-~X0tZL~gMgLa@5>35x+oQ#74fz%u{ zw;dm&H=Pw+Movz3DLpG|b9bRhG>GiE)-~y6-lwwp&!0aIt~U1e5ktxwc0BGL>emP8 z{P@dJ2{kn}kjl|~s*H}FS4~z{R#jEv85!C~Rxi9YnyXSOu8mYhZg*Xu_MSBVAnH8q z?Ms<|O&940o`!1w=zm!l53`8A|p+T zC-x5xOic^-2X2w>0-t1TMMVXZdR2wmPHL*oNe6n|jP{2|M~R4tSUMsF6|y5dZ=?Is z6BQjz0#wFwMF|P=Yn7qjjLYu#VS5M_kbm`C5~YIGK*eK*_X+FkQ_tQ;>kFO+H~~Z; zS%N)${2vT_wBR)m2VbMBbIU;@0{te8SZZv1ibuEpVf4qjt{r3)iYZpPo&}mYiA1ufL~LYPyPZC+Itkt=$qf#nwXkSr1~-j;hkF0Uty3?X=Zf^GW?0;n{v%I{#*+1_Ezk(woIYzrsX=Vqg!RV$jKIqH% z6Xzq^Mlo_wVkopIkGuYZCvn+Z9o&~UAED2|SaPR^zx}((@RKl^`}!B?|2#o=At2rB`^g(#XHT4(cU*6%j;?I!gk!5KH4r9fX^m$L7sBkj8|Ce z^4M>FmXRqm9ZS@NDi@oKAQ%!JJ1+WRRy!glvm$DflXu57$K3W>IAyb$U~Z3iTTMzW zrcc(sVkOlc4u&OpTpnd6UG^b2`cu4^>P~JdsM(j&)0-kq^K0c49HKWp6~1$*E>fC-zTzs->%h-BY7M4jvso4+=QS|U z-*#S!D95AVBkcAV{Bl=f=`n6lTM}wPpiG)!W zYI>l|&1GcvN{pjU@yb*f71gXe%FKCVSn9&(Jmx?#ieT1aFBuCg0OtyvE;A0+fBc@F zt`BlQaL9fAM`v{lda|%qhjUtGPdW!h%`qgpttHq-S4+$aUL0;ju_c|hhwNL-RK+{5 z{_caIHkX27hwL2Lz3gLZy^Z_Wc!b96f0u&0C)#JOh0}nGo5Y%L+3cG_6rkV!Q>dFj zfsDgSE2-8Md3vr#nXQ;_I+n*6z{Zx)5+lu(ay6nTtsRtfn8WXCqgrmkuG<<&o5c6! zDUm^m`PBCo^{Wd6E#!RHezlD?pO?C&_gyJGEl-`7mWC!z6GrFs=0M%c1!PT-l?{zz zRDJkq0tS1-j6gsy-f9~5EY=4LT&5nb#aTwic7EP&DDvg0hRqKFE3e6?%Msqbf7($; z7Tw)#*0y|y_E5K{8tjAyTg5!Jp2=zCrFm`!KoCHhEc|Oml5LLC-c%F*+(EF%58c`Q z&IlMC#C+tnw@AcD;lz(0Wi2h(%F`9UmgkiX6Clv@=$aaL2E23NPA&9&9l%{Z!%je( z=&_a{3{H@4%&Wb&q?j&pQc{%1m7}P<{0K;;AS-M0I|pucby?ddaAmeyR3u1GAFu+q z0y!$VoeJLm&dkhYbw+KE6;uA9=0R*3SmZX2NlIIqzZU+(0*OX3y3bB+JIE_2h(qn! zVt&r=or9yecr!`~_>o!)a*rh)Xi=VdXPrj7P)R@eWoUCz16a_04#9lPFD5H+H_?`E? z8Jc-?TiqEfx?kimRFNKPxgK&cMX#j@Q?!j&XFDe`r`s!Gbk6(-3)l*u&+Lve*l)rY zICxC{tA_6#l6CXR>sPN|YuBBz_0_1U(sy1Szyq*pcYA~A-FD#PH}t{7#vXpv0OV2X}+{ey>_CSzwuaiF}9%YevQi_>%IaSp=o z{Zj?{d)W1d{V>5=e*LcJ8oh22dj%|JyQspKoNJq(@y+@$+w2 zBcQ|FpRza5y}(GlPEhowXR)PgJa|;JJ0Ou4K%FbFo$A3CA_h!D|dvelA zZ&@5%5*uWFd1?si5m1A*Hwbor2dRO_QXnz(Y$Iw+!?n#3gSTA0ngd+YUduHSOf+Hk zeN3foQr-D}0H|bJ57PgSjQaCBoIm~{u(k}}9!#gQy?R7IaCup+b$K2PyBJ;4D>~Wz z4YJPHoqQe5RV5}Oy4dfE?Gr%OELCM?op}?lO2*g>@FHr+NJ*O(^C+PeyPMgWx4O>O z)0jcAI_4THH=r~52jJHsXKC3CrrQbUGP{vLVi_{S+y=dg6Q_#waaW}*#|xZ?G6d*k zQxj9ZBImA33JOkgilqb=zCri)_HvY=SMF(u5lt0IkYE+0%AmwCHs=35(4Qe0)!0b( zSLLs8L@1bS9`4N0)6z!8zMvAtt6mBs-Kj$f5qVOh@4{%Z+Zc349g`2A|9|aD46-J) z3gC)datpE+7vEp*AO_0CeRLfJa6Xb>pO0;C9zTAZnc!dp3IT!K{XkNT<JOA2qX)MNt*ZEYzKvZ0VI6O*A0p5+vyG~ z;>7{_cePqsXs8#Mn4ZT(uP8=gvJXB97&WPF$q2t5y@)Bue^959P=9UkdER~jfz-)m z;&n4l!(b1fMMOFJ#|VMX>f4*+g_yXkV3ywsR5|>H7z>Krf))jn2$7A#QdQdw&I)8p z>J!kUgyiQ1Q(@*DQ*$0`O=2943r#)=Qna|tQJ_VT(*RS2!w#V|b9M4Miw!d#PD?SIqd+T5f&C|ftEBgBjbB%bWdb-{B$UIuJg~?PV&bB6K(a05$4Va zOw12|JqyFkV7CATU|#U~jRW|cW^{P?H`+pA{`~W+d2#_W?NnA+C|UdBwd%N46vwqb z57O*NOqFfyhHbsm)|QFmKr7mk2@USA84G1D8~Fl6$Vh76*cab)1$}yU7Z9xoXnt(< zKi8eBy8!C)_`<8Sv*#Qf4)F1zv*YcSL&>@6yf5Y4wS-fFARj{Qm}xzKneS0ZMgS&~D?|06$`^_t-OS#h#Nta_)4 zerQmZ)9j?!ehaPqs(7f<``jl56e>@U398O)qVplu_j?q4KLx31SXdfNN`Y?tO>pKF zJ+E1*3c;gCzkA2c{4lYP4>mq&!yXwO+HFq)jfMaSX}IBfzfc?bm>-6b4cS~eg{IQX z7FW&vskdkskYIw*R2d+?se=sa8`zX?Dl#&sOThwciq7XJg_Q1x+#{IVlcgP9Qy>C> zV?SpfWnfU2_QC6!Z&)kE6SnD&L;Y;?B-YLwjlD&}x-zcUM@U%6K+tK2w|5Jo7Ab~0e!|V|4D3Om&IxSg4E=!?DCOkfB=zzg zd^pNWn_{9*fQBqZV9|YoA-;!>9>vq6iS?M}qPJHtbm}bUErByBwI6418_jGRp@5v#cxU9(a@*>QR!{SiL8ApMS$$Qp= zVqVzy){C_o)>O-PDh_%{O-x%rDw%ALtJ$U2KyF~6Bj-3DfFdvs#ufx~sb<^n?|AY1 zD+%TCQ5hC=52=n35;maNZaf8`D&<%L{Kxw}PKoPJR52a5VM7)v`mL|%g%5Cv!*SGfBSf9?Ur10)a7myQq6fqQeM8TzSud3e_}hOv-9Jubkkyo z`Ba8voP(-!rQDuO0FfBb@9*(GGc&7{PD+eY=O_e6xwW;zsybq_l=j5p=4hGOyIpbx zIk^Mm+$k`wyMShcKBNPf6O(&4tF{b2YMQ)pJ>I5GB$<>hG@J0hIyZ!jeOI+ifB-8| zE<-KMr9jJ-`Xo8foF6W8)7bp;15V9u7$ zUDn$r$c@+b0zc4WLc+SEQIsCZ=)lMb)98sA*AaXI>?@8(7zXVhInN`cMuWn+2J>CR zRctQImut%YSX6Xo2-?9JLF`Ui+QGoovt!ue(nfz^3=Dt!<&WG43F9|Fy%qb!n_Am_ zsj-^wM>E;^b?&?KDPU=9Ku>>(QdF)bUAfh-?B`fd@UzaD<5btKfXxg$+obcsa#NsyoqPu~my{>fW&| zlB!vWG##J$ojjKNeMUg1{PlRa)Wd|j?0h0yh5K2Js^ zx;?^2ilMyctKs31P7S}fuk8zCHwitW+voFM(i25T=Ldb-4?*=!)E>OJk87`)002(i zkksFeM9vJ~LgTiS+loaz-pnA+Obw&~E;6JnBpRVPN;_-a@?2=wtfI=aYOA#$H`2x757fm#rt8<_3D=&NWvJ%GtCdkYpWY`Me%R2{eD|x0 zw2OA3$Bt^y_2#;WQ}0M1UTrlcbSY~u+AmYR3X3&&-3t5t++V|7oHbXUT%Hs&7CJ20 zV)^YYa^|1ABP5JT9gXUq`Oi#J4wmm{uRKRFb6w!r4j_r+P-z?XoA=!LX>4a3DVp4h z!wGpuXuDN)Q_NPOzAtR!`GO@1;)Fobm;1$e^4SVNfnY^^t)ymHjf|blN=@AdTD+FF z{QlX`C^gmwq}tm6jmy(DyaZX5a*L5-!*coTQ7pM={7PNX(G=lyZALwr>TlniSf!I7 zZJ?gy$GPv`DZlnVn4_u#gw?WVM zhzEz{+@VE;K1;ix)(Sa*f&6Ik=Bu2+k=o1WaG@I-rYaT3v2rwa)pfIFQ(76dwnkj= zltntYl-8NouHJJNU}4Ahl5euQ&%)CSq&@*xfOrv$T#TX7%Ph61x_}=iPSS^ouD0K( zi(Cn|rwl_`#_x5!>xBCpEp22b71?dvjdWU#NgJ<~;>f3fs9m-Y&xJ?wFx5G|1K=;P z`F~)QD8Id|Iq2P-z2F+%cSWu;tCq!gaF`DQB(O@9(!JMk1Td$VUUBULtNK)YW3ses z!Z69AR3*Q9rxWD6knSRh)XtRJPWK9oX?VACE0*Ps_3d*diHtFpyySg-J<@G4x~s&{ z)}Q8t+)b`sa0J~Aw)y)YWLFEXjMV_j8USGtsI;7$C046HU$*a-hAjP%ljbqrT}$$) zbv`HyV6L10MsOx`sI`@qouAmP=j_alYc#dpk*kt!w==x}z~H)Im9m_CM+?$5KTg%F zl2H!Z%@ozlaMqPS<@d2H5w(|ECgMHqe-e6Ox$e6c@xb&xJUvg(HZ%N$a609GQm*M> z1oz#KA}-Nk+LMOSvI=l>D7dXAiNGu+N!-NNs*@yO$1mFGyb{i^xaoB$oTy7v#kr7? zcsx+nwB+_8N7%~T)!G%!a?~nW`-CC;7Hyb77Ccqg2N+l(l>`hQcmUn3yS!>6!+6=g z{_JS$Vo>5LhGhxrlLntO&DUa)cer;D)XTkg&p{Ay)|7LOdN}8j*iCmDy)}Dc?Nz%X zT^z-t`}!8+yHyV^T)G&CVpJ{q$8=;|Mzi!NR>NvgJEGmSw0%qXL=L9LJJW{a($>~~ z%r)H*9qe_kQ+So`7!=w@|S4Ckbyfu zHq%J)^&z(a7zq-;yy&kfRB0mD7DHAvmx}W3SewuHK9zHW6$R@I9kPA&^~pBFLu=>t zWW*Xy6sqLV!+|xBnl$!}c06a|`H*pDAQ`s}2`*=$AOUWEp`Z`5-a|%zfAR6GIB(SW ziyyhO(T4A4ePn>~*!T#1{9W9DbtBu~49C5hlOUTJ<*M5OTeYR_zN;p6l6{e(GM__5 zn0H2uWw+gG2K3CmOQIK2V<#`Wn-lwVVVVAXj;PqhcCqfAX?akd=BQkWR^8#0=Fc%z zq8R76EB}|F#-%Fv1UzS~N=(O&!=z_rGug`Z>OCRd*ff1ZcS`{>3$H^NoI!L_bctxF zgGqmOoinX6v$*#qPHWT#8Fm8TbD}_xDrp1ghjZl!HKGt*&R{#U_TFA?Y^SA>MsT)k zoo^52@GEBz4kQEhWH#Rs0!P_z4ofK43}nKNMzQ_RimaGyo0ROLxKs6hPq>$ z+6)z&s8Ewt5S|_!fLr|$NnkxEA{fO)9wX3kJ7V+(JPl|VjvIp=W-14}p@30#7{wOIK9ZcwBc-9AX<1sB{(UnSDF9f>V=7@(=t-kirru}Wr2>jSL zrR;;x*2^F4WLAOdfT$GPSzX_k^&j2=Cn`=IH6iX ziRcg!li^)yh;s9&EQk_m#&be#;{&jekbnH?1we@lNFD~vTx@At795dD=+UbamFOj& z=EL&%tLCD0ER}6%-nY%q%KP0(S!;X!T6fek*kg&UddVuMw~~(0R2&~gY5kgKS)j-~ zi~h;2)vt6Ng7fYO$@nVAsSUuwFRofivtb&8w8`6w;zy4z6Qfg1g-f>;c3Z^nz} zM5sI9dd4+{P_5M6)_yL!4>9b8M(+>H;ol0rGy7eO7+&X&0&xld^v>?9TGl!MU~+lJ zwkv*H8ge=q)$69{K)bWohS1$H-TiZmNG;**#!c^oZf}uFdJ~f?uDt#|w*Wv|vcQ-&b62C3 zehKX0zHZ^Vi{q{F$?}2%E*hE)xy(z3)JBEYuBa<<(Fo~8#^1jQXV0gh{SWv3Ri{kz zYTH>1Dh}dFdDr8+bOw%zpxC^%5m!OTe;#$s-t79>kx<(EbTVIOr-z!r!V<>TcEGh` zi9o?#H*MqbryA!Upd>i19;bxCn@}YMr4MgMR-WjzbO-F3%j@68l{lMz=S~(>l;ok2 zd)4`hNk!@p-orT;0NW}TE{=(X@mZ$M);LdvNng^RgfKI8#>+Yg0zFOvZ>s#N#p1~i zN`Yg5_zv-WuqJ&+$su!6q~k~lkV4mEc%Acs!kk3QIOCm`sh02fl#Mzt=9*ojH{Peq ze}TyqM^UV#A_LnNy3F|DLfutqfsrv}ph&;t!_Trd>mbbPxTuQ;vez6?N7%wB#IXWB z8bO-9qiHHYk;8j~nD1`e@hGcqyw7E>TIX{(Xy;TJcMmMo6%AWc2r!JjTjrn_x8_wZ zc3X%quc)%;RtTX`{a>;sjaCRXk%m^lFQ7mJG$Dy&y9hXiR)FqtblUOciTM?3F8B~u z`BG}5)NoZ|qizO+6mjHZh zYqg9&MNz&y$ffRn0G~9O>$r~gbMd`>+l!!yL3xgB`I<$(t9Ji%`((&8r|vkjiTimB8%&{AscxY~Kua-P`^Jd*l*4Tg zHx}Cf>PYhB10BZIYAB#nf^)mUaMe2$ITgWFdq_#nTQ&!S{p@b))G4POmv*ikTCtgN zm?{N+r^1=p(2+e5Qddx?HOt!-&ke*3aAur^N@Sp*I~BTkxL9l=o3s*uyCywqjbXGvK$kuXgPBR{K$es=@k{<7(+hzJyQ{nml94*h{B7q8+UgYVz5c8}8kSrQKN)r~I-#|yj?!DhrJ zXEB#EEkc?kULx>S-1l@Yzf0S6(d#58&27fZ#eW^ktX)ou={qkrniL@O>Cz4Q(tKVf zLo|P3rX0}K8g+3#$JZ7z-s90yd!WCcD<>Yac0Q}v5!Ob2c~o1=jmk;7>R*h-?Q*jy z4!+O3h}XD{uFnO zS>i8Az*CydIrDaV!jRHpq_g+@22sgd8wG{Y9RT(FB&-88YSr!R=J1h_n_K*uYRG-y z1qW_ETck0YjVJCJO`$lRYQesA9>g7xUewfnC1k&z3HtlQ5TQP$_udX4L9IBqz8}e7su72gKJ%mC;?c(9!i(WRImeG3OrqEO>o{wC$76Z z^O(TU+OZb*Pq+ZKEHHKvPn-{~yorMh1t4H=!5}AEDVCHssz=sc<&Q$Bq*g!XtDVNZ zi0-q%45Sn=7%vclH>wpba;{1g^AhLqLNDyM!|8|%Ni(`b40Hu$$f{pRL7dlfl*^yg ze8t$cPJUUYDk^6fUANuk|4i#Px<>QJjewT@US4LiiK2uVfvu5jREaU0UER+&4F6+w z=JX6H#B8mN%?l5g0>i!?aAa4QjPT4=TZM(1MQK7=Y#C>r*P7;$QKOuIFM7i^0+99n zH$SPUj4dwCe8E=gKS@#~uR4{v%>J%XeO1qfD4D!KvJj{RzWDmAU_Nn_Ljr3p-Zq2N zti@w8J0l~~`#}`L=|8cY3A~Pa<&QV_Nkou4ZH20jfL~!B?UmDv@#&jRxlhV5wzc&~ zklZgIAP#b2Lv(U9^GdsTXSNnK9`0&Zt4)F7eoLrk{&1h9VfWnNXh+88Nka9s#llvE zSn6-&JqNJd%Pl$gLThM*RaDv*b$ThcKBj`~uMRq#YnSJ?ZH{w{h>2oS+t4I;2aQjk zx~D7!=E^Ol9UQl74q6>HhcCDCqX2{8IhxuFpRNoLc}(+(gwyD=2ho-BRM~yil0qv{ zySb%wEL8>?+VVpvd-!-Ya!+61C+(8F*PvsT6kVRy!sR`}yjGHQbpYf@EPw@nuz117 zNs?FqfkSSZ_VHM7j+dH(+IdhK<-@p(Gf+R799wLAJ#Fj0rxb)Z@R zDd(l~mVS%BeEIC=Dc*uz_%~)$0K<@-x+O6>dfh5~ z18(_)hw8(oRQr!S!}9rGuoW?6vmg?W!fP_X03!=b!=5#qq9I`=W%;ERCMZXjYo z7_diA($ybC8bE=8yZL9!Bh-u|Jsu@wzncvoc~HEOuf zn4h{oZU2)8;(q_|Pfm_qr5Q*|!{^4;smV4p{ZY!I<6S^RgghF(4=>suhv6&nlmyn5 z$CuB!RFIKINa{|?_jXOS={yA)_Q`p^oDE7?N(k)Nk=gi3Th3I;S37Kg!V!Se4;&-W zz(GRJ>tMx`P{&+=^$^h9P0MK!Gu6Ss@gP=wn*VLoA(JsBPt)O5dMc}dghE2yNX~@L zSyyT#^HtzQAtl@Dmy4!eUdwJxkL}sww*Kl*XivzWt|{yrzMhSZjQ|h0^Ijb2N!WN= z0>l`}8*=iDITP^@TJk;hlyfJ;KX0>^NIb!PiM5*A$-=@?>q^;Yv2$C~a{zd+SE4kB zVKBp`=}1Oi$jQ9z9In>H_QB3f_2IVb`SEsj|2hag^qx|0T4nimBIqR}FR!klFDt5|nT0gzSBa zNtg%1Fv)!$a7h5b2{3b_(P1aDd2U+^OTY_?(qx*bI?4}|ddjCIhyZv_VEWqfxqIUs zcjhXi^V7AYQd`5a2Fqg!adA3k%k@AH49{oqrwsI_XDM;Z%aKfq>}vY`Ki^n#b8uwX zZ;b*EqYmK`mgG|h39#shJoJn-qi~zptkBQq# zJ_dbt-laudD+bzY03K(BKz4e0^GVrFPQbzhc{|?XWo2b8E-rqRdjjeW9w5iZySmNR ztil_RxVY8n`sK8gT%Q4kg^~QE$Z(b+MGyl6%Si0K(3hm6kKS+G1k>uwsYFR_xO>^X8EIz z&WjuU^97`DU6DJ*D!E|30{vJns(u>WG<`A(0h3eu_*@S}{im-dub}2afB1NNEw8FZ z<%zSd(1y_#nKVVQzj`z9m0mF~hJ9-lAL69H)(dZ=Ksf@75TvIc0=i62YN{6t%S}0@ z!*Qet9)p_)i0nJu9I36EJX#K8Mi0Q#_+J0+Pc?TRk+F-5v4s|z-ur0TkWkcFk-s{pZ# zU{c3c087*z4yvk_!QWh}4bg+5G>^;Vi#wty|XX2$#mKZfq0YX$H#PRq~=8M-7c~|2sp(kfs=|GWoS`MiO{>s<% z^ng)?*vf~&40_J$+=D4ublM4|YwUmz0-OlC-rOC|&Zy{evqB|2^4Hg_2G3O?a0H5p ziFHf2rj4n97d+v0fa?fA_~}g@l_wSeh42sH&W7tvl^BysOjjK-9}9!|SpSok*V#Ke z1FZ4G!xArSd~i-bKo73q5H$w}2Yac#d2WR(k|M{=4lN7+Sm^0*i%FRFgabVh1PLq+Xf@IcQDQ9uvQRybD3RRQ5j zd{*-qiPgv2e@WObFJ<(x2A{E^lVsw2owo{)h#;4ekkG|rvyDrTGL)Au1+K+M9v{&? zvtj`DW>X`^k8j^jzJ0qTL#X65kANLaOnzsC;;cWyLe~X~y$$dC5E2D^6JXc}4J7=J zbkDl3Cjujg2e1Jw9Pg(AZu5M@g=o+`e+JF9TU0#A31~Z@^{WZ}1~d7${cmAk|F5vS p_pU(4uC6*UQ>4MgZM4kA#GsXvLn^Xjy+Zd{OhoE^-aDSgvptMMft=f3xT z_qkQy{$r}n)Tw>;>D_y+?$v$5l@z2g-;%tAgM-7Am61?}gG0uGgF^tKA-w)$(8r$$ z2ZsYEDPtXe^JP8S;E7IzQRNZ z#o|+N;@hp+s4n)d^u+u`#JUY30h-;Wzn0o@NMG+qA8E9foj0_hv5=}$bX)L+u4|2# z@Vi``Wl!l*=Ib~?=hamYGE4an)E3U7ySnN=Q2%>uyARCHY77Z5;o$zC;g2J}7xwRg z7Vw@?TH@aWr&o#Z-&0Wsd9ri%InU z^v6Mn_Wt+u+o=-2d}yK->W$N+ZFI>0y*4An&pgop*rvwK6h7a;zm~LpD2Wk6qd;#E zC|vu~$*V&BKM%@iK90}cr5t_Jst&ug(O;@NW73BuC9VBqfGLdk93m3E;Sn?fZw>#D z{nyJ(eGQDyidAYe+lXq*tXU&(=0HRZIGqiadtLG*o3`nB(@ zpEm7;LHMthiKgjA5G!X8>3h#OH5{c0hL|jL z-pwnv8*+aWeoVt|hfMfZJG^a8snl_ESTMT#_Hs%j^i*uMHC46R;(7M*Wc-xU=W@mO zS(*|WlQYWPe0Y-s>#eHNo@W-~Yrm;k>AX^>d;%NEZGiWxp1}{v?i)_rm4hT9fLNDN4Z( zhvt{|9G|WtyXPBhmkW=Rm-S0ZUg6HiiV0G`DJTedVC3m4`k!Udy)G-lc$Vz=Y|mZo zKVFEx zSGECGzj&Gx_FBo=NYK&mxP96~rF@4TVcQ@S3WBZ(9uipV*4*&oKH|FE(BcsH> zcx_ky_X)^|y+NtJm+-tBd@tfVF}*iJ2**AJzE)|nbGI}$U6OgcsXmAK+aBt9oZEpe zDyll~SL;UGK!nVCg!&2OxDKZ@C_}iobpv@TdeLqFeei7ZsZ0vi(~F^tHl*qLNqRRC z!oUl~oV1X(H92)X@3W&%Z?n_WZGZn3S;$xKxaa^uhKb6TA%VX41)%2&-{&jZS9c=A z4s&pn=+)W6iTeFNhrT}CSe@@pvNmJwO?1Y~RYqI7S-kJogwN&m0VTAHZbA5(Eyr_X zWCG(H&+XQkx96~=#JjC+;(5tR-@tbOXuNTb>z94dvBTzb;`{tCLiOs(i=w|0XsGuI zLk++6{r9oWm#1}bELhk2gF!Rl^|S_pw!Xm5q}}Lzui5k)$avOYhI~7$c7ANaj@CBr zH|00hFcFDBTfXgg$O$Kul=C^?&VZXL`rd*|#(K{)Rrh^OAcTL;Auib?K(pWXYGdm0 zLTUL~C#L+~==*=pqs_K@RosVO&^pRL*B>3wws*xzeO_%~IC}MYr`u`dY9Rl0ir0a~ zXH0ViGcVn% zt}{KyS4EODDM=QZ`iD2@+B-)$$+v5-{B z;UrCY7}d|GMrRD;4$!nBUAz5wOrR63{amHo;0U-?qHchV-AM{?~7` zPVNo^owQnEAA)IQ{PmUe{+g7!R}GV7o(egSfhf4lmwZgj8vBd`TX@Q8Eiu)@?X@_ znzws@Vaqe<-M?u_Jb)1NVqur9Uh!=}{uSol z4Qa?oA+=6+FQ$&URSWzd*4+*gO~I+snRZ)lA6Na7g-9N1ap&AT@9yeoI?{X1B5u@R zv?Z(bf7Srl{^Z#EvwIKS!xjMCl=H;$aobp&FG<_#A!x*M4x3xkm1`@dHb-4X|GhcCt%Dyik8=dgF9U87{zZloM8#Djg0Hd?X_lZ{xi`H{VI8(LW zYjCQ@dWqzJ_cAP1WtSp8@mk?!8$&{3lso=;7k&TE%XtMJFnxd6xaC%*p@Dk;{m2}6 zG_5kFKgMFRb z<#L-_neUfQc!5`M$R}s_$y+0o`Mz7mJrV%s_J2%?koFKvoRM&jK-I}c*icYL`5^cw zfIZ`fkd;T?gMT7VZXBSw%i@E=`0(%E5L9#e{oU`&wD`)!rE;1SNDH3}QJjjFOjUk- zkc}6NryWyK@NN^Ci|}(r3gSKw&n#;s_das(scK~L8TrNcUH?8-)EyY7&PJLfYc@NH zOUpNM0O6~!6Lp!2tDg8!PP6h)yP*_+?e_8Uix5J$%ApNpWm!?W@8nr^SdrRy;&ZiY}Gw1ha z<5Zpx1JFA88Ez{Md7bvQ=Le(pderCU+xK_hlJc!fnS;EQ!V%|o#USzQ!3l>c%|3ns zq^maU&>>CD6x2ny!M$%EONe7Nka2PRhzPcoMCh~2|43+k0Mg2)^9GE$&z|AANWRs} z<|t$+qq%erD!aKs{&ic@IZ05w%<)9;O5kTm8=7z%3{NWQ?t+V6?80{=Mju0k@Q|t2 z5YJmdusT?~aFqIS!3hZWUfh=N;=_jo!4j1EzoQoArc_lnoqO*i9ryLNG(1~c2U8vI zyLOQ5MwLgL`Lf{8M&|cYD2jJkIH?U?H8`tYBPY!0Pp6qBIrA&X(oFw>^(m5HY$gHR zgG;DbpN)(B&gJTSC`RB~ndvG1dg2Dd49E3Mh$(T+n@d@FUo!Lz?h^PyNk(n$wbX*k z;w^%D#QB1kF?lfH(i2YJr&#ig6p)1777eXeZ8j8Sog1DdPP*4bJ6k*!#k7oe#B(d&HYo*JCE~o-&ucaIX$n(qqa?c0esJpftYc#EL;-T2IF z>0vnkkUGW$q_gWJ*gTgyt;}dzg$WZ9yi)rVNf6q3W~%(mr|wP#JRTHD$9)gX>ybQtn-?RSt^DZc#7Ca5e*bh-0OS8`!c!p9UZ_rmrd;3j?|c-kN#e7 z@P+!7h5AS00t5Ymyrb&pL!NE{a~{d_B*N+`BlL7d49u6_qn@V}!{d!awpkyc}f_3+~;_;e6b%`SZygKfKPs{A}) z_?o?k5b-aJ7RXS0HBL-xFgP)mZYtWIjpz^!3<$miAkTPR79_F@Z@o*zZw3(m*`VA` zadvhu_%*vXmmzEk))Ir1Vv6)zICP%9GaZ=xDj*LU9`qL#>8_Nj4!#F+A|ac-(IJ&- zfXU=N;XMu3<+A4JEBSO2?-Rip*Ipf1_Jj!R+XpOk&tC~=FG2Nt@aOy6X0zV|AqfMh+;37?4~Z-1nocABJ2>Iny-3s0cUse- z{vR!XE)?Ezr1mp`n8TT5364Luwqdn}0CWgv9kbtaB#%*E%T<_f74y5LK1rGU5j
    624NPEWlEM=)AqR>pFV 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.classList.remove('show');},ms||2800);} +const TOAST_DEFAULT_MS=2800; +const TOAST_ERROR_DEFAULT_MS=20000; +function clearToastDismissTimer(el){if(!el)return;clearTimeout(el._t);el._t=null;} +function setToastDismissTimer(el,duration){if(!el)return;clearToastDismissTimer(el);el._t=setTimeout(()=>{el.classList.remove('show');},duration);} +function copyToastText(btn){ + const el=btn&&btn.closest?btn.closest('#toast'):null; + const text=el?(el.dataset.toastMessage||el.textContent||''):''; + const done=()=>{const old=btn.textContent;btn.textContent='Copied';setTimeout(()=>{btn.textContent=old;},1200);}; + _copyText(text).then(done).catch(()=>{}); +} +function showToast(msg,ms,type){ + const el=$('toast');if(!el)return; + const s=String(msg==null?'':msg);let t=type; + if(!t){const low=s.toLowerCase();if(/fail|error|denied|invalid|unavailable|no active|no workspace match|no model match|no personalities/.test(low))t='error';else if(/warn|queued|takes effect|skipped|fallback/.test(low))t='warning';else if(/saved|created|imported|restored|switched|set to|updated|duplicated|moved to|renamed|deleted|complete|pinned|archived|cleared|stopped/.test(low))t='success';else t='info';} + const duration=(ms==null)?(t==='error'?TOAST_ERROR_DEFAULT_MS:TOAST_DEFAULT_MS):ms; + el.className='toast show '+t; + el.dataset.toastMessage=s; + if(t==='error') el.innerHTML=`${esc(s)}`; + else el.textContent=s; + el.onmouseenter=()=>clearToastDismissTimer(el); + el.onmouseleave=()=>setToastDismissTimer(el,duration); + el.onfocusin=()=>clearToastDismissTimer(el); + el.onfocusout=()=>setToastDismissTimer(el,duration); + setToastDismissTimer(el,duration); +} // ── Shared app dialogs ─────────────────────────────────────────────────────── // showConfirmDialog(opts) and showPromptDialog(opts) replace browser-native dialog calls diff --git a/tests/test_issue1796_error_toasts.py b/tests/test_issue1796_error_toasts.py new file mode 100644 index 0000000000..0a0e4997f7 --- /dev/null +++ b/tests/test_issue1796_error_toasts.py @@ -0,0 +1,38 @@ +from pathlib import Path + +ROOT = Path(__file__).resolve().parents[1] +UI_JS = (ROOT / "static" / "ui.js").read_text() +STYLE_CSS = (ROOT / "static" / "style.css").read_text() + + +def test_error_toast_default_duration_is_substantially_longer_than_info_toasts(): + assert "const TOAST_DEFAULT_MS=2800" in UI_JS + assert "const TOAST_ERROR_DEFAULT_MS=20000" in UI_JS + assert "const duration=(ms==null)?(t==='error'?TOAST_ERROR_DEFAULT_MS:TOAST_DEFAULT_MS):ms" in UI_JS + assert "ms||2800" not in UI_JS + + +def test_error_toast_keeps_explicit_duration_override(): + show_toast = UI_JS[UI_JS.index("function showToast"):UI_JS.index("// ── Shared app dialogs")] + assert "ms==null" in show_toast + assert "?TOAST_ERROR_DEFAULT_MS" in show_toast + assert ":TOAST_DEFAULT_MS" in show_toast + assert "setToastDismissTimer(el,duration)" in show_toast + + +def test_error_toast_has_copy_button_for_exact_error_text(): + show_toast = UI_JS[UI_JS.index("function showToast"):UI_JS.index("// ── Shared app dialogs")] + assert "toast-copy" in show_toast + assert "data-toast-copy" in show_toast + assert "copyToastText" in show_toast + assert "const text=el?(el.dataset.toastMessage||el.textContent||''):''" in UI_JS + assert "_copyText(text).then(done).catch(()=>{})" in UI_JS + + +def test_toast_dismissal_pauses_on_hover_and_keyboard_focus(): + assert "onmouseenter=()=>clearToastDismissTimer(el)" in UI_JS + assert "onmouseleave=()=>setToastDismissTimer(el,duration)" in UI_JS + assert "onfocusin=()=>clearToastDismissTimer(el)" in UI_JS + assert "onfocusout=()=>setToastDismissTimer(el,duration)" in UI_JS + assert ".toast{pointer-events:auto" in STYLE_CSS + assert ".toast-copy" in STYLE_CSS From 8bc2677691092014180ec459186ddd984cd06c01 Mon Sep 17 00:00:00 2001 From: Frank Song Date: Thu, 7 May 2026 17:07:38 +0800 Subject: [PATCH 027/298] fix: repair file picker and html preview interactions --- api/routes.py | 21 ++++- static/boot.js | 2 +- static/index.html | 4 +- static/style.css | 1 + static/ui.js | 12 ++- .../test_issue1800_file_html_interactions.py | 83 +++++++++++++++++++ tests/test_media_inline.py | 33 ++++++++ 7 files changed, 145 insertions(+), 11 deletions(-) create mode 100644 tests/test_issue1800_file_html_interactions.py diff --git a/api/routes.py b/api/routes.py index e644b19359..e086587a66 100644 --- a/api/routes.py +++ b/api/routes.py @@ -5070,8 +5070,17 @@ def _serve_file_bytes(handler, target: Path, mime: str, disposition: str, cache_ handler.send_header("Cache-Control", cache_control) handler.send_header("Content-Disposition", _content_disposition_value(disposition, target.name)) if csp: + # Sandboxed inline HTML must remain frameable for workspace previews; + # X-Frame-Options: DENY would block the iframe before CSP sandbox applies. handler.send_header("Content-Security-Policy", csp) - _security_headers(handler) + handler.send_header("X-Content-Type-Options", "nosniff") + handler.send_header("Referrer-Policy", "same-origin") + handler.send_header( + "Permissions-Policy", + "camera=(), microphone=(self), geolocation=(), clipboard-write=(self)", + ) + else: + _security_headers(handler) handler.end_headers() if content_length: @@ -5157,8 +5166,9 @@ def _handle_media(handler, parsed): ext = target.suffix.lower() mime = MIME_MAP.get(ext, "application/octet-stream") - # Only serve safe media/PDF types inline when explicitly requested. Everything - # else remains a download. SVG is always a download (XSS risk). + # Only serve safe media/PDF types inline when explicitly requested. HTML is + # allowed inline only with a CSP sandbox so "open full page" can work without + # granting same-origin access to the WebUI. SVG is always a download (XSS risk). _INLINE_IMAGE_TYPES = { "image/png", "image/jpeg", "image/gif", "image/webp", "image/x-icon", "image/bmp", @@ -5171,12 +5181,15 @@ def _handle_media(handler, parsed): } _DOWNLOAD_TYPES = {"image/svg+xml"} # SVG: XSS risk, force download inline_preview = qs.get("inline", [""])[0] == "1" + html_inline_ok = inline_preview and mime == "text/html" disposition = "inline" if ( mime not in _DOWNLOAD_TYPES and ( mime in _INLINE_IMAGE_TYPES or (inline_preview and mime in _INLINE_PREVIEW_TYPES) + or html_inline_ok ) ) else "attachment" - return _serve_file_bytes(handler, target, mime, disposition, "private, max-age=3600") + csp = "sandbox allow-scripts" if html_inline_ok else None + return _serve_file_bytes(handler, target, mime, disposition, "private, max-age=3600", csp=csp) def _handle_file_raw(handler, parsed): diff --git a/static/boot.js b/static/boot.js index 3fa54c9402..e6f1b7e79b 100644 --- a/static/boot.js +++ b/static/boot.js @@ -267,7 +267,7 @@ $('btnSend').onclick=()=>{ } send(); }; -$('btnAttach').onclick=()=>$('fileInput').click(); +$('btnAttach').onclick=e=>{if(e&&e.preventDefault)e.preventDefault();$('fileInput').value='';$('fileInput').click();}; // ── Voice input (Web Speech API + MediaRecorder fallback) ─────────────────── (function(){ diff --git a/static/index.html b/static/index.html index 2eb061ad5b..ac90bd8b3d 100644 --- a/static/index.html +++ b/static/index.html @@ -465,8 +465,8 @@

    What can I help with?

    +
    diff --git a/static/style.css b/static/style.css index 8958b168a4..ace8219e62 100644 --- a/static/style.css +++ b/static/style.css @@ -1185,6 +1185,9 @@ .close-preview{cursor:pointer;opacity:.6;}.close-preview:hover{opacity:1;} /* Breadcrumb navigation */ .breadcrumb-bar{display:flex;align-items:center;gap:2px;padding:6px 12px;font-size:12px;border-bottom:1px solid var(--border);flex-shrink:0;overflow:hidden;white-space:nowrap;} + .workspace-hidden-toggle{display:flex;align-items:center;gap:7px;padding:6px 12px;border-bottom:1px solid var(--border);color:var(--muted);font-size:11px;line-height:1.2;user-select:none;cursor:pointer;} + .workspace-hidden-toggle:hover{color:var(--text);background:var(--hover-bg);} + .workspace-hidden-toggle input{width:13px;height:13px;margin:0;accent-color:var(--accent-text);} .breadcrumb-seg{padding:1px 3px;border-radius:3px;} .breadcrumb-link{color:var(--muted);cursor:pointer;transition:color .12s;} .breadcrumb-link:hover{color:var(--text);background:var(--hover-bg);} diff --git a/static/ui.js b/static/ui.js index 15b7735ed4..91845460a6 100644 --- a/static/ui.js +++ b/static/ui.js @@ -1,4 +1,4 @@ -const S={session:null,messages:[],entries:[],busy:false,pendingFiles:[],toolCalls:[],activeStreamId:null,currentDir:'.',activeProfile:'default'}; +const S={session:null,messages:[],entries:[],busy:false,pendingFiles:[],toolCalls:[],activeStreamId:null,currentDir:'.',activeProfile:'default',showHiddenWorkspaceFiles:false}; const INFLIGHT={}; // keyed by session_id while request in-flight const SESSION_QUEUES={}; // keyed by session_id for queued follow-up turns // Tracks which session's queue to drain in setBusy(false). @@ -6071,6 +6071,38 @@ function renderBreadcrumb(){ } } +const WORKSPACE_HIDDEN_FILE_NAMES=new Set([ + '.DS_Store','._.DS_Store','.AppleDouble','.Spotlight-V100','.Trashes','.fseventsd', + 'Thumbs.db','Desktop.ini','ehthumbs.db','$RECYCLE.BIN', + '.directory','.git','.svn','.hg','node_modules','__pycache__', + '.pytest_cache','.mypy_cache','.ruff_cache','.tox','.venv','venv' +]); +const WORKSPACE_HIDDEN_FILE_PREFIXES=['._','.Trash-']; +function _workspaceShouldHideEntry(item){ + if(!item||S.showHiddenWorkspaceFiles)return false; + const name=String(item.name||''); + if(!name)return false; + if(WORKSPACE_HIDDEN_FILE_NAMES.has(name))return true; + return WORKSPACE_HIDDEN_FILE_PREFIXES.some(prefix=>name.startsWith(prefix)); +} +function _visibleWorkspaceEntries(entries){ + const list=Array.isArray(entries)?entries:[]; + return S.showHiddenWorkspaceFiles?list:list.filter(item=>!_workspaceShouldHideEntry(item)); +} +function _syncWorkspaceHiddenToggle(){ + const el=$('workspaceShowHiddenFiles'); + if(el)el.checked=!!S.showHiddenWorkspaceFiles; +} +function toggleWorkspaceHiddenFiles(value){ + S.showHiddenWorkspaceFiles=!!value; + try{localStorage.setItem('hermes-workspace-show-hidden-files',S.showHiddenWorkspaceFiles?'1':'0');}catch(_){} + _syncWorkspaceHiddenToggle(); + renderFileTree(); +} +try{S.showHiddenWorkspaceFiles=localStorage.getItem('hermes-workspace-show-hidden-files')==='1';}catch(_){} +if(document.readyState==='loading')document.addEventListener('DOMContentLoaded',_syncWorkspaceHiddenToggle); +else _syncWorkspaceHiddenToggle(); + // Track expanded directories for tree view if(!S._expandedDirs) S._expandedDirs=new Set(); // Cache of fetched directory contents: path -> entries[] @@ -6090,11 +6122,12 @@ function renderFileTree(){ } if(emptyEl) emptyEl.style.display='none'; box.style.display=''; - if(!S.entries||!S.entries.length){ + const visibleEntries=_visibleWorkspaceEntries(S.entries); + if(!visibleEntries.length){ if(emptyEl){emptyEl.textContent=t('workspace_empty_dir');emptyEl.style.display='flex';} return; } - _renderTreeItems(box, S.entries, 0); + _renderTreeItems(box, visibleEntries, 0); } function _renderTreeItems(container, entries, depth){ @@ -6239,7 +6272,7 @@ function _renderTreeItems(container, entries, depth){ // Render children if directory is expanded if(item.type==='dir'&&S._expandedDirs.has(item.path)){ - const children=S._dirCache[item.path]||[]; + const children=_visibleWorkspaceEntries(S._dirCache[item.path]||[]); if(children.length){ _renderTreeItems(container, children, depth+1); }else{ diff --git a/tests/test_issue1793_file_tree_cruft_filter.py b/tests/test_issue1793_file_tree_cruft_filter.py new file mode 100644 index 0000000000..e9f60cf60a --- /dev/null +++ b/tests/test_issue1793_file_tree_cruft_filter.py @@ -0,0 +1,31 @@ +from pathlib import Path + + +ROOT = Path(__file__).resolve().parents[1] +INDEX_HTML = (ROOT / "static" / "index.html").read_text(encoding="utf-8") +UI_JS = (ROOT / "static" / "ui.js").read_text(encoding="utf-8") +I18N_JS = (ROOT / "static" / "i18n.js").read_text(encoding="utf-8") + + +def test_workspace_panel_has_show_hidden_files_toggle(): + """File-tree cruft must be recoverable via an explicit user toggle.""" + assert 'id="workspaceShowHiddenFiles"' in INDEX_HTML + assert "toggleWorkspaceHiddenFiles" in UI_JS + assert "workspace_show_hidden_files" in I18N_JS + + +def test_file_tree_filters_common_cruft_by_default(): + """macOS/Windows/VCS/cache noise should not render by default.""" + assert "WORKSPACE_HIDDEN_FILE_NAMES" in UI_JS + for name in [".DS_Store", "Thumbs.db", "Desktop.ini", ".git", "__pycache__", "node_modules"]: + assert name in UI_JS + assert "_visibleWorkspaceEntries" in UI_JS + assert "S.showHiddenWorkspaceFiles" in UI_JS + assert "_workspaceShouldHideEntry" in UI_JS + + +def test_hidden_file_toggle_invalidates_tree_render_without_refetch(): + """The toggle should re-render cached entries instead of changing workspace state.""" + assert "function toggleWorkspaceHiddenFiles" in UI_JS + assert "renderFileTree()" in UI_JS[UI_JS.index("function toggleWorkspaceHiddenFiles"):] + assert "localStorage.setItem('hermes-workspace-show-hidden-files'" in UI_JS From 0ed63968b6ff3998f696497c613af5d4fc681f41 Mon Sep 17 00:00:00 2001 From: hermes-agent Date: Thu, 7 May 2026 17:58:52 +0000 Subject: [PATCH 032/298] =?UTF-8?q?Stage=20314:=20PR=20#1827=20=E2=80=94?= =?UTF-8?q?=20sync=20Codex=20provider=20card=20models=20with=20picker=20by?= =?UTF-8?q?=20@Michaelyklam?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Note: PR #1827 was branched before v0.51.19 shipped #1812, which introduced an initial (pure live-fetch) Codex provider card hook in api/providers.py at the same line range. The contributor's PR was filed AFTER #1812 shipped but their diff didn't yet account for it. Stage 314 absorbs the contributor's intent (visible Codex cache merge for gpt-5.3-codex-spark visibility) by replacing the v0.51.19 hook with the richer merged version directly in stage. Production code change ≡ what the contributor's PR would have produced if rebased onto current master. Test file + pr-media adopted verbatim. Marker commit so the stage log makes the absorption visible. --- api/providers.py | 36 +++++++------ .../1807/providers-api-openai-codex.json | 35 ++++++++++++ .../1807/providers-openai-codex-expanded.png | Bin 0 -> 58640 bytes tests/test_provider_management.py | 50 ++++++++++++++++++ 4 files changed, 105 insertions(+), 16 deletions(-) create mode 100644 docs/pr-media/1807/providers-api-openai-codex.json create mode 100644 docs/pr-media/1807/providers-openai-codex-expanded.png diff --git a/api/providers.py b/api/providers.py index e352b063a8..6c2c49eb1b 100644 --- a/api/providers.py +++ b/api/providers.py @@ -20,6 +20,9 @@ _PROVIDER_DISPLAY, _PROVIDER_MODELS, _get_label_for_model, + _models_from_live_provider_ids, + _read_live_provider_model_ids, + _read_visible_codex_cache_model_ids, _save_yaml_config_file, get_config, invalidate_models_cache, @@ -692,23 +695,24 @@ def get_providers() -> dict[str, Any]: models = list(_PROVIDER_MODELS.get(pid, [])) models_total = len(models) - # Codex account catalogs are account-specific and can drift faster than - # WebUI's static fallback table (#1807). Prefer the live agent resolver - # for the providers card too so stale static-only model IDs are not - # presented as available when discovery succeeds. + # OpenAI Codex account catalogs drift independently from WebUI releases. + # The model picker already prefers hermes_cli + Codex local cache for + # this provider (the agent's `provider_model_ids("openai-codex")` filters + # IDs with `supported_in_api: false`, but Codex CLI still surfaces some + # of those — notably `gpt-5.3-codex-spark` from #1680 — in its picker). + # Merge both sources here so the providers card matches the picker + # exactly. Static entries remain the offline fallback when live + # discovery and the local Codex cache are both unavailable. (#1807 + # follow-up to v0.51.19 #1812.) if pid == "openai-codex": - try: - from hermes_cli.models import provider_model_ids as _provider_model_ids - - live_ids = [mid for mid in (_provider_model_ids("openai-codex") or []) if mid] - if live_ids: - models = [ - {"id": mid, "label": _get_label_for_model(mid, [])} - for mid in live_ids - ] - models_total = len(models) - except Exception: - logger.debug("Failed to load OpenAI Codex models from hermes_cli") + live_ids = _read_live_provider_model_ids("openai-codex") + for mid in _read_visible_codex_cache_model_ids(): + if mid not in live_ids: + live_ids.append(mid) + live_models = _models_from_live_provider_ids(pid, live_ids) + if live_models: + models = live_models + models_total = len(models) # Nous Portal: prefer the live catalog so the providers card matches # the dropdown picker (#1538). Same fallback shape as the static-only # case below — when hermes_cli is unavailable or its lookup raises, diff --git a/docs/pr-media/1807/providers-api-openai-codex.json b/docs/pr-media/1807/providers-api-openai-codex.json new file mode 100644 index 0000000000..08360769d7 --- /dev/null +++ b/docs/pr-media/1807/providers-api-openai-codex.json @@ -0,0 +1,35 @@ +{ + "id": "openai-codex", + "display_name": "OpenAI Codex", + "has_key": true, + "configurable": false, + "is_oauth": true, + "key_source": "oauth", + "models": [ + { + "id": "gpt-5.5", + "label": "GPT 5.5" + }, + { + "id": "gpt-5.4", + "label": "GPT 5.4" + }, + { + "id": "gpt-5.4-mini", + "label": "GPT 5.4 Mini" + }, + { + "id": "gpt-5.3-codex", + "label": "GPT 5.3 Codex" + }, + { + "id": "gpt-5.2", + "label": "GPT 5.2" + }, + { + "id": "gpt-5.3-codex-spark", + "label": "GPT 5.3 Codex Spark" + } + ], + "models_total": 6 +} diff --git a/docs/pr-media/1807/providers-openai-codex-expanded.png b/docs/pr-media/1807/providers-openai-codex-expanded.png new file mode 100644 index 0000000000000000000000000000000000000000..458e753847975215026a1684a350ab7b4c13b2c5 GIT binary patch literal 58640 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⋘q^4v$OS{im8&g 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 Date: Thu, 7 May 2026 10:22:44 -0700 Subject: [PATCH 033/298] fix: allow no-agent cron edits without prompt --- docs/pr-media/1820/no-agent-cron-edit.png | Bin 0 -> 43545 bytes static/panels.js | 21 +++++-- tests/test_cron_no_agent_edit.py | 71 ++++++++++++++++++++++ 3 files changed, 87 insertions(+), 5 deletions(-) create mode 100644 docs/pr-media/1820/no-agent-cron-edit.png create mode 100644 tests/test_cron_no_agent_edit.py diff --git a/docs/pr-media/1820/no-agent-cron-edit.png b/docs/pr-media/1820/no-agent-cron-edit.png new file mode 100644 index 0000000000000000000000000000000000000000..ffb1af9ff00a704cc7b9e99d57ec3e9fe96252b9 GIT binary patch literal 43545 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
    ${esc(t('error_prefix').replace(/:\s*$/,''))}
    ${esc(job.last_error)}
    ` : ''; @@ -450,6 +453,8 @@ function _renderCronDetail(job){
    ${esc(t('cron_next'))}
    ${esc(nextRun)}
    ${esc(t('cron_last'))}
    ${esc(lastRun)}
    Deliver
    ${esc(deliver)}
    +
    Mode
    ${esc(cronJobMode)}
    + ${isNoAgent ? `
    No-agent script
    ${esc(script || '—')}
    ` : ''}
    ${esc(t('cron_profile_label') || 'Profile')}
    ${esc(profileLabel)}
    Skills
    ${esc(skills)}
    ${lastError} @@ -685,6 +690,8 @@ function openCronEdit(job){ prompt: job.prompt || '', deliver: job.deliver || 'local', profile: job.profile || '', + no_agent: !!job.no_agent, + script: job.script || '', isEdit: true, }); if (!_cronSkillsCache) { @@ -695,11 +702,12 @@ function openCronEdit(job){ loadCronProfiles().then(()=>_refreshCronProfileSelect(job.profile || '')).catch(()=>{}); } -function _renderCronForm({ name, schedule, prompt, deliver, profile, isEdit }){ +function _renderCronForm({ name, schedule, prompt, deliver, profile, no_agent=false, script='', isEdit }){ const title = $('taskDetailTitle'); const body = $('taskDetailBody'); const empty = $('taskDetailEmpty'); if (!body || !title) return; + const isNoAgent = !!no_agent; title.textContent = isEdit ? (t('edit') + ' · ' + (name || schedule || t('scheduled_jobs'))) : t('new_job'); const deliverOpt = (v,l) => ``; body.innerHTML = ` @@ -714,9 +722,10 @@ function _renderCronForm({ name, schedule, prompt, deliver, profile, isEdit }){
    ${esc(t('cron_schedule_hint') || "Cron expression or shorthand like 'every 1h'.")}
    -
    +
    - + + ${isNoAgent ? `
    No-agent mode runs the configured script directly; Prompt is unused. No-agent script: ${esc(script || '—')}
    ` : ''}
    @@ -825,12 +834,14 @@ async function saveCronForm(){ const prompt=promptEl.value.trim(); const deliver=delivEl?delivEl.value:'local'; const profile=profileEl?profileEl.value:''; + const isNoAgent = !!(_currentCronDetail && _currentCronDetail.no_agent); errEl.style.display='none'; if(!schedule){errEl.textContent=t('cron_schedule_required_example');errEl.style.display='';return;} - if(!prompt){errEl.textContent=t('cron_prompt_required');errEl.style.display='';return;} + if(!isNoAgent && !prompt){errEl.textContent=t('cron_prompt_required');errEl.style.display='';return;} try{ if (_editingCronId) { - const updates = {job_id: _editingCronId, schedule, prompt, profile: profile}; + const updates = {job_id: _editingCronId, schedule, profile: profile}; + if (!isNoAgent) updates.prompt = prompt; if (name) updates.name = name; await api('/api/crons/update', {method:'POST', body: JSON.stringify(updates)}); const editedId = _editingCronId; diff --git a/tests/test_cron_no_agent_edit.py b/tests/test_cron_no_agent_edit.py new file mode 100644 index 0000000000..a77a35903a --- /dev/null +++ b/tests/test_cron_no_agent_edit.py @@ -0,0 +1,71 @@ +"""Regression coverage for issue #1820: no-agent cron edits do not require prompts.""" + +from __future__ import annotations + +import re +from pathlib import Path + +ROOT = Path(__file__).resolve().parents[1] +PANELS_JS = (ROOT / "static" / "panels.js").read_text() + + +def _function_body(name: str) -> str: + marker = f"function {name}(" + start = PANELS_JS.find(marker) + assert start != -1, f"{name} not found" + paren = PANELS_JS.find("(", start) + assert paren != -1, f"{name} params not found" + depth = 0 + for idx in range(paren, len(PANELS_JS)): + ch = PANELS_JS[idx] + if ch == "(": + depth += 1 + elif ch == ")": + depth -= 1 + if depth == 0: + brace = PANELS_JS.find("{", idx) + break + else: + raise AssertionError(f"{name} params did not terminate") + assert brace != -1, f"{name} body not found" + depth = 0 + for idx in range(brace, len(PANELS_JS)): + ch = PANELS_JS[idx] + if ch == "{": + depth += 1 + elif ch == "}": + depth -= 1 + if depth == 0: + return PANELS_JS[brace + 1 : idx] + raise AssertionError(f"{name} body did not terminate") + + +def test_open_cron_edit_plumbs_no_agent_and_script_to_form(): + body = _function_body("openCronEdit") + assert "no_agent: !!job.no_agent" in body + assert "script: job.script || ''" in body + + +def test_no_agent_form_drops_prompt_required_attribute_and_shows_script_context(): + body = _function_body("_renderCronForm") + assert "no_agent" in body and "script" in body + assert "const isNoAgent = !!no_agent;" in body + assert "cron-no-agent-hint" in body + assert "No-agent script" in body + assert "${isNoAgent ? ' disabled' : ' required'}" in body + + +def test_save_cron_form_keeps_agent_prompt_required_but_skips_no_agent_edits(): + body = _function_body("saveCronForm") + assert "const isNoAgent = !!(_currentCronDetail && _currentCronDetail.no_agent);" in body + assert "if(!isNoAgent && !prompt)" in body + assert "cron_prompt_required" in body + assert "if (!isNoAgent) updates.prompt = prompt;" in body + + +def test_no_agent_detail_displays_mode_and_script(): + body = _function_body("_renderCronDetail") + assert "const isNoAgent = !!job.no_agent;" in body + assert "No-agent script" in body + assert "cronJobMode" in body + assert "job.script" in body From 72982db94ba19602e4e8b4d5301dadba8a91ccd2 Mon Sep 17 00:00:00 2001 From: ai-ag2026 <261867348+ai-ag2026@users.noreply.github.com> Date: Thu, 7 May 2026 18:54:22 +0200 Subject: [PATCH 034/298] fix: add workspace heading root actions --- static/index.html | 2 +- static/style.css | 2 + static/ui.js | 89 +++++++++++++++++++ ...est_issue1786_workspace_heading_actions.py | 23 +++++ 4 files changed, 115 insertions(+), 1 deletion(-) create mode 100644 tests/test_issue1786_workspace_heading_actions.py diff --git a/static/index.html b/static/index.html index fd394c0bcd..e934b2cbfa 100644 --- a/static/index.html +++ b/static/index.html @@ -1118,7 +1118,7 @@

    What can I help with?

    `; diff --git a/tests/test_issue1824_cli_patch_diff_rendering.py b/tests/test_issue1824_cli_patch_diff_rendering.py new file mode 100644 index 0000000000..54280f6b6f --- /dev/null +++ b/tests/test_issue1824_cli_patch_diff_rendering.py @@ -0,0 +1,245 @@ +import json +import re +import sqlite3 +import subprocess +import textwrap +from pathlib import Path + + +ROOT = Path(__file__).resolve().parents[1] +UI_JS = (ROOT / "static" / "ui.js").read_text(encoding="utf-8") +COMPACT_UI = re.sub(r"\s+", "", UI_JS) + + +def test_cli_tool_result_diff_snippet_is_not_cut_to_200_chars(): + """Diff-like CLI tool results should reach the existing tool-card expander.""" + assert "function _cliToolResultSnippet" in UI_JS + assert "function _cliLooksLikePatchDiff" in UI_JS + assert r"\*\*\* Begin Patch" in UI_JS + assert "diff --git" in UI_JS + assert ( + "if(_cliLooksLikePatchDiff(fullText))return_clipCliToolSnippet(fullText);" + in COMPACT_UI + ) + assert "returnString(fullText||'').slice(0,200);" in COMPACT_UI + + +def test_cli_tool_fallback_promotes_apply_patch_args_to_tool_card_snippet(): + """A successful apply_patch result may only say 'Success'; keep the patch visible.""" + assert "function _cliPatchSnippetFromArgs" in UI_JS + assert "toolName==='apply_patch'" in COMPACT_UI + assert "'old_string'" in UI_JS + assert "'new_string'" in UI_JS + assert "constpatchSnippet=_cliPatchSnippetFromArgs(name,args);" in COMPACT_UI + assert "snippet:_cliToolCardSnippet(resultSnippet,patchSnippet)" in COMPACT_UI + assert "is_diff:_cliToolCardHasDiffSnippet(resultSnippet,patchSnippet)" in COMPACT_UI + + +def test_diff_tool_cards_use_show_diff_expander_label(): + assert "const moreLabel=tc.is_diff?'Show diff':'Show more';" in UI_JS + assert "const lessLabel=tc.is_diff?'Hide diff':'Show less';" in UI_JS + assert 'data-more-label="${esc(moreLabel)}"' in UI_JS + + +def _function_source(src: str, name: str) -> str: + match = re.search(rf"function\s+{re.escape(name)}\s*\(", src) + assert match, f"{name}() not found" + brace = src.find("{", match.end()) + assert brace != -1, f"{name}() has no body" + depth = 1 + i = brace + 1 + in_string = None + escaped = False + in_line_comment = False + in_block_comment = False + while i < len(src) and depth: + ch = src[i] + nxt = src[i + 1] if i + 1 < len(src) else "" + if in_line_comment: + if ch == "\n": + in_line_comment = False + i += 1 + continue + if in_block_comment: + if ch == "*" and nxt == "/": + in_block_comment = False + i += 2 + continue + i += 1 + continue + if in_string: + if escaped: + escaped = False + elif ch == "\\": + escaped = True + elif ch == in_string: + in_string = None + i += 1 + continue + if ch == "/" and nxt == "/": + in_line_comment = True + i += 2 + continue + if ch == "/" and nxt == "*": + in_block_comment = True + i += 2 + continue + if ch in "'\"`": + in_string = ch + i += 1 + continue + if ch == "{": + depth += 1 + elif ch == "}": + depth -= 1 + i += 1 + assert depth == 0, f"{name}() body did not close" + return src[match.start() : i] + + +def test_rendered_apply_patch_tool_card_html_contains_diff_lines(): + """Drive the actual snippet helpers and buildToolCard() through Node.""" + function_names = [ + "_clipCliToolSnippet", + "_cliToolResultText", + "_cliLooksLikePatchDiff", + "_cliToolResultSnippet", + "_prefixedCliDiffLines", + "_firstOwnedValue", + "_cliPatchSnippetFromArgs", + "_cliToolCardSnippet", + "_cliToolCardHasDiffSnippet", + "buildToolCard", + ] + functions = "\n".join(_function_source(UI_JS, name) for name in function_names) + script = textwrap.dedent( + f""" + function esc(s){{return String(s||'').replace(/[&<>]/g,c=>({{'&':'&','<':'<','>':'>'}}[c]));}} + function li(){{return '';}} + function toolIcon(){{return '';}} + function _toolDisplayName(tc){{return tc.name||'tool';}} + const document={{ + createElement(){{return {{className:'', innerHTML:''}};}} + }}; + {functions} + + const longPatch = [ + '*** Begin Patch', + '*** Update File: app.py', + '@@', + '-old', + '+new', + ...Array.from({{length: 150}}, (_, i) => '+line ' + i), + '*** End Patch' + ].join('\\n'); + const resultSnippet = _cliToolResultSnippet(JSON.stringify({{output:'Success'}})); + const patchSnippet = _cliPatchSnippetFromArgs('apply_patch', {{patch: longPatch}}); + const row = buildToolCard({{ + name: 'apply_patch', + snippet: _cliToolCardSnippet(resultSnippet, patchSnippet), + is_diff: _cliToolCardHasDiffSnippet(resultSnippet, patchSnippet), + args: {{patch: '(shown in diff)'}}, + done: true + }}); + const errorSnippet = _cliToolCardSnippet('Patch failed: context not found', patchSnippet); + process.stdout.write(JSON.stringify({{html: row.innerHTML, errorSnippet}})); + """ + ) + proc = subprocess.run(["node", "-e", script], check=True, capture_output=True, text=True) + payload = json.loads(proc.stdout) + html = payload["html"] + assert "-old" in html + assert "+new" in html + assert "Show diff" in html + assert "Patch failed: context not found" in payload["errorSnippet"] + assert "-old" in payload["errorSnippet"] + + +def _make_state_db(path: Path) -> None: + patch = "\n".join( + [ + "*** Begin Patch", + "*** Update File: app.py", + "@@", + "-old", + "+new", + "*** End Patch", + ] + ) + tool_calls = [ + { + "id": "call_patch", + "type": "function", + "function": { + "name": "apply_patch", + "arguments": json.dumps({"patch": patch}), + }, + } + ] + conn = sqlite3.Connection(str(path)) + try: + conn.executescript( + """ + CREATE TABLE messages ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + session_id TEXT, + role TEXT, + content TEXT, + timestamp TEXT, + tool_call_id TEXT, + tool_calls TEXT, + tool_name TEXT + ); + """ + ) + conn.execute( + """ + INSERT INTO messages (session_id, role, content, timestamp, tool_calls) + VALUES (?, ?, ?, ?, ?) + """, + ("issue1824", "assistant", "", "2026-01-01T00:00:01Z", json.dumps(tool_calls)), + ) + conn.execute( + """ + INSERT INTO messages (session_id, role, content, timestamp, tool_call_id, tool_name) + VALUES (?, ?, ?, ?, ?, ?) + """, + ( + "issue1824", + "tool", + json.dumps({"output": "Success"}), + "2026-01-01T00:00:02Z", + "call_patch", + "apply_patch", + ), + ) + conn.commit() + finally: + conn.close() + + +def test_cli_session_reader_preserves_apply_patch_metadata(tmp_path, monkeypatch): + """The API payload should keep tool_calls/tool rows for the UI renderer.""" + _make_state_db(tmp_path / "state.db") + monkeypatch.setenv("HERMES_HOME", str(tmp_path)) + + import api.profiles + from api.models import get_cli_session_messages + + monkeypatch.setattr(api.profiles, "get_active_hermes_home", lambda: str(tmp_path)) + + messages = get_cli_session_messages("issue1824") + assert [m["role"] for m in messages] == ["assistant", "tool"] + + assistant = messages[0] + assert assistant["tool_calls"][0]["function"]["name"] == "apply_patch" + args = json.loads(assistant["tool_calls"][0]["function"]["arguments"]) + assert "*** Begin Patch" in args["patch"] + assert "-old" in args["patch"] + assert "+new" in args["patch"] + + tool = messages[1] + assert tool["tool_call_id"] == "call_patch" + assert tool["tool_name"] == "apply_patch" + assert tool["name"] == "apply_patch" + assert json.loads(tool["content"])["output"] == "Success" From 1cf0ff01b5ebb701a0db69fb64e4e66e67b860ce Mon Sep 17 00:00:00 2001 From: dobby-d-elf Date: Sun, 10 May 2026 06:51:46 -0600 Subject: [PATCH 162/298] feat: live context window status tracking during streaming --- api/streaming.py | 153 +++++++++++++++++++++++++++++++++++++++++++++ static/messages.js | 12 ++++ static/sessions.js | 11 ++++ 3 files changed, 176 insertions(+) diff --git a/api/streaming.py b/api/streaming.py index 5fcd1ae9f8..0b93fd9c58 100644 --- a/api/streaming.py +++ b/api/streaming.py @@ -1937,6 +1937,97 @@ def _run_agent_streaming( STREAM_REASONING_TEXT[stream_id] = '' # start accumulating reasoning trace (#1361 §A) STREAM_LIVE_TOOL_CALLS[stream_id] = [] # start accumulating tool calls (#1361 §B) + agent = None + _live_prompt_estimate_tokens = [0] + _live_prompt_estimate_seen_ids = set() + + def _seed_live_prompt_estimate() -> int: + """Capture the latest exact prompt size before adding live tool deltas.""" + if _live_prompt_estimate_tokens[0] > 0: + return _live_prompt_estimate_tokens[0] + _base = 0 + _agent = agent + if _agent is not None: + try: + _cc = getattr(_agent, 'context_compressor', None) + if _cc: + _base = getattr(_cc, 'last_prompt_tokens', 0) or 0 + except Exception: + _base = 0 + if not _base: + try: + _session_obj = get_session(session_id) + _base = getattr(_session_obj, 'last_prompt_tokens', 0) or 0 + except Exception: + _base = 0 + _live_prompt_estimate_tokens[0] = int(_base or 0) + return _live_prompt_estimate_tokens[0] + + def _bump_live_prompt_estimate(messages) -> int: + """Increment a rough next-prompt estimate from live tool activity.""" + if not messages: + return _live_prompt_estimate_tokens[0] + try: + from agent.model_metadata import estimate_messages_tokens_rough + _delta = int(estimate_messages_tokens_rough(messages) or 0) + except Exception: + _delta = 0 + if _delta > 0: + _seed_live_prompt_estimate() + _live_prompt_estimate_tokens[0] += _delta + return _live_prompt_estimate_tokens[0] + + def _live_usage_snapshot(): + """Best-effort live usage payload for mid-stream UI updates. + + During tool execution the final `done` event has not fired yet, but the + frontend still benefits from seeing the latest known token / context + values. These are exact for the most recent model call and a truthful + lower bound for the pending next call after a tool result is appended. + """ + _usage = { + 'input_tokens': 0, + 'output_tokens': 0, + 'estimated_cost': 0, + 'context_length': 0, + 'threshold_tokens': 0, + 'last_prompt_tokens': 0, + } + try: + _session_obj = get_session(session_id) + except Exception: + _session_obj = None + + _agent = agent + if _agent is not None: + try: + _usage['input_tokens'] = getattr(_agent, 'session_prompt_tokens', 0) or 0 + _usage['output_tokens'] = getattr(_agent, 'session_completion_tokens', 0) or 0 + _usage['estimated_cost'] = getattr(_agent, 'session_estimated_cost_usd', 0) or 0 + except Exception: + pass + try: + _cc = getattr(_agent, 'context_compressor', None) + if _cc: + _usage['context_length'] = getattr(_cc, 'context_length', 0) or 0 + _usage['threshold_tokens'] = getattr(_cc, 'threshold_tokens', 0) or 0 + _usage['last_prompt_tokens'] = getattr(_cc, 'last_prompt_tokens', 0) or 0 + except Exception: + pass + + if _session_obj is not None: + for _field in ('input_tokens', 'output_tokens', 'estimated_cost', 'context_length', 'threshold_tokens', 'last_prompt_tokens'): + if not _usage.get(_field): + try: + _usage[_field] = getattr(_session_obj, _field, 0) or 0 + except Exception: + pass + + if _live_prompt_estimate_tokens[0] > (_usage.get('last_prompt_tokens') or 0): + _usage['last_prompt_tokens'] = _live_prompt_estimate_tokens[0] + + return _usage + # Register this stream with the global streaming meter meter().begin_session(stream_id) @@ -1954,6 +2045,7 @@ def _metering_ticker(): break # stream was cancelled or ended — exit stats = meter().get_stats() stats['session_id'] = stream_id + stats['usage'] = _live_usage_snapshot() put('metering', stats) _metering_thread = threading.Thread(target=_metering_ticker, daemon=True) @@ -2200,6 +2292,35 @@ def on_interim_assistant(text, **cb_kwargs): # block is reordered later (Issue #765). _checkpoint_activity = [0] + def _record_live_tool_start(tool_call_id, name, args): + if not tool_call_id or tool_call_id in _live_prompt_estimate_seen_ids: + return + _live_prompt_estimate_seen_ids.add(tool_call_id) + _tool_call = { + 'id': tool_call_id, + 'type': 'function', + 'function': { + 'name': str(name or ''), + 'arguments': json.dumps(args if isinstance(args, dict) else {}, ensure_ascii=False, sort_keys=True), + }, + } + _bump_live_prompt_estimate([{ + 'role': 'assistant', + 'content': '', + 'tool_calls': [_tool_call], + }]) + + def _record_live_tool_complete(tool_call_id, name, function_result): + if not tool_call_id: + return + _result_text = _tool_result_snippet(function_result) + _bump_live_prompt_estimate([{ + 'role': 'tool', + 'name': str(name or ''), + 'tool_call_id': tool_call_id, + 'content': _result_text, + }]) + def on_tool(*cb_args, **cb_kwargs): nonlocal _reasoning_text event_type = None @@ -2255,6 +2376,10 @@ def on_tool(*cb_args, **cb_kwargs): 'preview': preview, 'args': args_snap, }) + _tool_stats = meter().get_stats() + _tool_stats['session_id'] = stream_id + _tool_stats['usage'] = _live_usage_snapshot() + put('metering', _tool_stats) # Fallback: poll for pending approval in case notify_cb wasn't # registered (e.g. older approval module without gateway support). try: @@ -2298,8 +2423,32 @@ def on_tool(*cb_args, **cb_kwargs): 'duration': cb_kwargs.get('duration'), 'is_error': bool(cb_kwargs.get('is_error', False)), }) + _tool_stats = meter().get_stats() + _tool_stats['session_id'] = stream_id + _tool_stats['usage'] = _live_usage_snapshot() + put('metering', _tool_stats) return + def on_tool_start(tool_call_id, name, args): + try: + _record_live_tool_start(tool_call_id, name, args) + _tool_stats = meter().get_stats() + _tool_stats['session_id'] = stream_id + _tool_stats['usage'] = _live_usage_snapshot() + put('metering', _tool_stats) + except Exception: + logger.debug('Failed to update live prompt estimate on tool start', exc_info=True) + + def on_tool_complete(tool_call_id, name, args, function_result): + try: + _record_live_tool_complete(tool_call_id, name, function_result) + _tool_stats = meter().get_stats() + _tool_stats['session_id'] = stream_id + _tool_stats['usage'] = _live_usage_snapshot() + put('metering', _tool_stats) + except Exception: + logger.debug('Failed to update live prompt estimate on tool completion', exc_info=True) + _AIAgent = _get_ai_agent() if _AIAgent is None: raise ImportError(_aiagent_import_error_detail()) @@ -2481,6 +2630,10 @@ def on_tool(*cb_args, **cb_kwargs): _agent_kwargs['reasoning_config'] = _reasoning_config if 'interim_assistant_callback' in _agent_params: _agent_kwargs['interim_assistant_callback'] = on_interim_assistant + if 'tool_start_callback' in _agent_params: + _agent_kwargs['tool_start_callback'] = on_tool_start + if 'tool_complete_callback' in _agent_params: + _agent_kwargs['tool_complete_callback'] = on_tool_complete if 'status_callback' in _agent_params: _agent_kwargs['status_callback'] = _agent_status_callback if 'max_iterations' in _agent_params and _max_iterations_cfg is not None: diff --git a/static/messages.js b/static/messages.js index 75758f7c4d..fd5cd03636 100644 --- a/static/messages.js +++ b/static/messages.js @@ -1159,6 +1159,18 @@ function attachLiveStream(activeSid, streamId, uploaded=[], options={}){ try{ const d=JSON.parse(e.data||'{}'); if((d.session_id||activeSid)!==activeSid) return; + if(d.usage&&typeof _syncCtxIndicator==='function'){ + S.lastUsage={...(S.lastUsage||{}),...d.usage}; + if(S.session&&S.session.session_id===activeSid){ + S.session.input_tokens=d.usage.input_tokens??S.session.input_tokens; + S.session.output_tokens=d.usage.output_tokens??S.session.output_tokens; + S.session.estimated_cost=d.usage.estimated_cost??S.session.estimated_cost; + S.session.context_length=d.usage.context_length??S.session.context_length; + S.session.threshold_tokens=d.usage.threshold_tokens??S.session.threshold_tokens; + S.session.last_prompt_tokens=d.usage.last_prompt_tokens??S.session.last_prompt_tokens; + } + _syncCtxIndicator(S.lastUsage); + } if(d.estimated===true||d.tps_available!==true||typeof d.tps!=='number'||d.tps<=0){ if(typeof _setLiveAssistantTps==='function') _setLiveAssistantTps(null); return; diff --git a/static/sessions.js b/static/sessions.js index b243e3e8b0..525c646eeb 100644 --- a/static/sessions.js +++ b/static/sessions.js @@ -392,6 +392,17 @@ async function newSession(flash){ updateSendBtn(); setStatus(''); setComposerStatus(''); + if(typeof _setLiveAssistantTps==='function') _setLiveAssistantTps(null); + if(typeof _syncCtxIndicator==='function'){ + _syncCtxIndicator({ + input_tokens:data.session.input_tokens||0, + output_tokens:data.session.output_tokens||0, + estimated_cost:data.session.estimated_cost||0, + context_length:data.session.context_length||0, + last_prompt_tokens:data.session.last_prompt_tokens||0, + threshold_tokens:data.session.threshold_tokens||0, + }); + } updateQueueBadge(S.session.session_id); syncTopbar();renderMessages();loadDir('.'); // don't call renderSessionList here - callers do it when needed From a300d9a323dbe8e6053be386abe7af83c7327a55 Mon Sep 17 00:00:00 2001 From: dobby-d-elf Date: Sun, 10 May 2026 08:07:59 -0600 Subject: [PATCH 163/298] Drop configured provider model badges --- api/config.py | 39 --------------------------------------- static/style.css | 1 - 2 files changed, 40 deletions(-) diff --git a/api/config.py b/api/config.py index 3ce7e9d802..9f009fe900 100644 --- a/api/config.py +++ b/api/config.py @@ -2516,45 +2516,6 @@ def _build_configured_model_badges() -> dict[str, dict[str, str]]: } ) - # Also badge explicitly configured providers (from config.yaml - # providers section) so they appear at the top of the dropdown. - _cfg_providers = cfg.get("providers", {}) or {} - if isinstance(_cfg_providers, dict): - for _cpid, _cpcfg in _cfg_providers.items(): - _canonical_pid = _canonicalise_provider_id(_cpid) - if not _canonical_pid: - continue - # Skip providers already covered by primary/fallback entries - _already_badged = any( - e["provider"] == _canonical_pid for e in configured_entries - ) - if _already_badged: - continue - # Only badge providers that have models in the groups list - _group = next( - (g for g in groups - if (g.get("provider_id") or "").lower() == _canonical_pid.lower()), - None, - ) - if not _group: - continue - # Add all models from this provider as configured entries - for _m in _group.get("models", []): - _mid = (_m.get("id") or "").strip() - _mlabel = (_m.get("label") or _mid).strip() - if not _mid: - continue - # Strip @provider: prefix for the model name lookup - _bare_model = _mid.split(":", 1)[-1] if ":" in _mid else _mid - configured_entries.append( - { - "provider": _canonical_pid, - "model": _bare_model, - "role": "configured", - "label": "Configured", - } - ) - option_ids = [m.get("id", "") for g in groups for m in g.get("models", []) if m.get("id")] option_lookup = {str(opt_id): str(opt_id) for opt_id in option_ids} option_provider_lookup = { diff --git a/static/style.css b/static/style.css index c1191a9485..d5f4a2f471 100644 --- a/static/style.css +++ b/static/style.css @@ -1550,7 +1550,6 @@ .model-opt-badge{display:inline-flex;align-items:center;justify-content:center;padding:2px 7px;border-radius:999px;font-size:10px;font-weight:700;letter-spacing:.02em;text-transform:uppercase;border:1px solid transparent;} .model-opt-badge--primary{background:rgba(50,184,198,.16);border-color:rgba(50,184,198,.32);color:#8fe7ef;} .model-opt-badge--fallback{background:rgba(255,184,77,.14);border-color:rgba(255,184,77,.28);color:#ffd18a;} -.model-opt-badge--configured{background:rgba(130,130,160,.14);border-color:rgba(130,130,160,.28);color:#c4b5fd;} .model-opt-id{display:block;font-size:10px;color:var(--muted);line-height:1.3;opacity:.72;word-break:break-word;} .model-opt-provider{display:inline-flex;align-items:center;padding:1px 6px;border-radius:4px;font-size:9px;font-weight:600;letter-spacing:.03em;color:var(--muted);background:rgba(255,255,255,.05);border:1px solid var(--border2);margin-left:auto;white-space:nowrap;flex-shrink:0;} .model-custom-sep{padding-top:4px;border-top:1px solid var(--border);margin-top:4px;} From 56d68b751174807adcebb5ce703a354f4993d670 Mon Sep 17 00:00:00 2001 From: dobby-d-elf Date: Sun, 10 May 2026 08:20:37 -0600 Subject: [PATCH 164/298] fix: keep live context metering session-scoped --- api/streaming.py | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/api/streaming.py b/api/streaming.py index 0b93fd9c58..1fe2852130 100644 --- a/api/streaming.py +++ b/api/streaming.py @@ -2044,7 +2044,7 @@ def _metering_ticker(): if _metering_stop.wait(interval): break # stream was cancelled or ended — exit stats = meter().get_stats() - stats['session_id'] = stream_id + stats['session_id'] = session_id stats['usage'] = _live_usage_snapshot() put('metering', stats) @@ -2241,7 +2241,8 @@ def _emit_metering(): return _metering_last_emit[0] = now stats = meter().get_stats() - stats['session_id'] = stream_id + stats['session_id'] = session_id + stats['usage'] = _live_usage_snapshot() stats.setdefault('tps_available', False) stats.setdefault('estimated', False) put('metering', stats) @@ -2377,7 +2378,7 @@ def on_tool(*cb_args, **cb_kwargs): 'args': args_snap, }) _tool_stats = meter().get_stats() - _tool_stats['session_id'] = stream_id + _tool_stats['session_id'] = session_id _tool_stats['usage'] = _live_usage_snapshot() put('metering', _tool_stats) # Fallback: poll for pending approval in case notify_cb wasn't @@ -2424,7 +2425,7 @@ def on_tool(*cb_args, **cb_kwargs): 'is_error': bool(cb_kwargs.get('is_error', False)), }) _tool_stats = meter().get_stats() - _tool_stats['session_id'] = stream_id + _tool_stats['session_id'] = session_id _tool_stats['usage'] = _live_usage_snapshot() put('metering', _tool_stats) return @@ -2433,7 +2434,7 @@ def on_tool_start(tool_call_id, name, args): try: _record_live_tool_start(tool_call_id, name, args) _tool_stats = meter().get_stats() - _tool_stats['session_id'] = stream_id + _tool_stats['session_id'] = session_id _tool_stats['usage'] = _live_usage_snapshot() put('metering', _tool_stats) except Exception: @@ -2443,7 +2444,7 @@ def on_tool_complete(tool_call_id, name, args, function_result): try: _record_live_tool_complete(tool_call_id, name, function_result) _tool_stats = meter().get_stats() - _tool_stats['session_id'] = stream_id + _tool_stats['session_id'] = session_id _tool_stats['usage'] = _live_usage_snapshot() put('metering', _tool_stats) except Exception: @@ -2699,6 +2700,10 @@ def on_tool_complete(tool_call_id, name, args, function_result): # objects (put queue, cancel_event) that are new each request. agent.stream_delta_callback = _agent_kwargs.get('stream_delta_callback') agent.tool_progress_callback = _agent_kwargs.get('tool_progress_callback') + if hasattr(agent, 'tool_start_callback'): + agent.tool_start_callback = _agent_kwargs.get('tool_start_callback') + if hasattr(agent, 'tool_complete_callback'): + agent.tool_complete_callback = _agent_kwargs.get('tool_complete_callback') if hasattr(agent, 'status_callback'): agent.status_callback = _agent_kwargs.get('status_callback') if hasattr(agent, 'interim_assistant_callback'): From 2a34a1256e9395b4752dd6f998b42ab492b31a14 Mon Sep 17 00:00:00 2001 From: ai-ag2026 <261867348+ai-ag2026@users.noreply.github.com> Date: Sun, 10 May 2026 17:04:33 +0200 Subject: [PATCH 165/298] fix: prefer latest compressed session segment --- static/sessions.js | 9 +++++- tests/test_session_lineage_collapse.py | 41 ++++++++++++++++++++++++++ 2 files changed, 49 insertions(+), 1 deletion(-) diff --git a/static/sessions.js b/static/sessions.js index 6e7a8f8c17..b6ff05cdea 100644 --- a/static/sessions.js +++ b/static/sessions.js @@ -2102,7 +2102,14 @@ function _collapseSessionLineageForSidebar(sessions){ } for(const [key,items] of groups.entries()){ if(items.length<=1){result.push(items[0]);continue;} - const sorted=[...items].sort((a,b)=>_sessionTimestampMs(b)-_sessionTimestampMs(a)); + const sorted=[...items].sort((a,b)=>{ + const bSeg=Number(b&&b._compression_segment_count||0); + const aSeg=Number(a&&a._compression_segment_count||0); + if(bSeg||aSeg){ + if(bSeg!==aSeg) return bSeg-aSeg; + } + return _sessionTimestampMs(b)-_sessionTimestampMs(a); + }); const chosen=sorted[0]; result.push({...chosen,_lineage_key:key,_lineage_collapsed_count:items.length,_lineage_segments:sorted}); } diff --git a/tests/test_session_lineage_collapse.py b/tests/test_session_lineage_collapse.py index f9746b8f62..0d14938adf 100644 --- a/tests/test_session_lineage_collapse.py +++ b/tests/test_session_lineage_collapse.py @@ -170,6 +170,47 @@ def test_stale_optimistic_compression_tips_collapse_even_when_parents_are_visibl assert [seg["session_id"] for seg in collapsed[0]["_lineage_segments"]] == ["seg10", "seg9", "seg8", "seg7"] +def test_sidebar_lineage_collapse_prefers_highest_compression_segment_over_touched_parent(): + """A touched parent segment must not hide the newer compressed tip. + + Opening or polling an older segment can refresh its updated_at without adding + messages. The collapsed sidebar row must still pick the highest compression + segment, otherwise the visible chat jumps back to a parent that lacks the + completed assistant answer. + """ + js = SESSIONS_JS_PATH.read_text(encoding="utf-8") + source = f""" +const src = {js!r}; +function extractFunc(name) {{ + const re = new RegExp('function\\\\s+' + name + '\\\\s*\\\\('); + const start = src.search(re); + if (start < 0) throw new Error(name + ' not found'); + let i = src.indexOf('{{', start); + let depth = 1; i++; + while (depth > 0 && i < src.length) {{ + if (src[i] === '{{') depth++; + else if (src[i] === '}}') depth--; + i++; + }} + return src.slice(start, i); +}} +eval(extractFunc('_sessionTimestampMs')); +eval(extractFunc('_isChildSession')); +eval(extractFunc('_sessionLineageKey')); +eval(extractFunc('_collapseSessionLineageForSidebar')); +const sessions = [ + {{session_id:'seg13', title:'Schaue dir die Release (fork)', message_count:2490, updated_at:200, last_message_at:200, _lineage_root_id:'root', _compression_segment_count:13}}, + {{session_id:'seg14', title:'Schaue dir die Release (fork)', message_count:2532, updated_at:150, last_message_at:150, _lineage_root_id:'root', _compression_segment_count:14}}, +]; +const collapsed = _collapseSessionLineageForSidebar(sessions); +console.log(JSON.stringify(collapsed)); +""" + collapsed = json.loads(_run_node(source)) + assert [row["session_id"] for row in collapsed] == ["seg14"] + assert collapsed[0]["_lineage_collapsed_count"] == 2 + assert [seg["session_id"] for seg in collapsed[0]["_lineage_segments"]] == ["seg14", "seg13"] + + def test_sidebar_attaches_child_sessions_to_collapsed_hidden_parent_lineage(): js = SESSIONS_JS_PATH.read_text(encoding="utf-8") From c3cf8b10e9585a3323493c88821e729a11a264af Mon Sep 17 00:00:00 2001 From: Dennis Soong Date: Sun, 10 May 2026 11:15:41 +0800 Subject: [PATCH 166/298] feat: add read-only session lineage report --- api/agent_sessions.py | 157 +++++++++++++++++++++ api/routes.py | 10 ++ tests/test_session_lineage_report.py | 196 +++++++++++++++++++++++++++ 3 files changed, 363 insertions(+) create mode 100644 tests/test_session_lineage_report.py diff --git a/api/agent_sessions.py b/api/agent_sessions.py index 7d65bc57e5..dce2885359 100644 --- a/api/agent_sessions.py +++ b/api/agent_sessions.py @@ -439,6 +439,163 @@ def read_importable_agent_session_rows( +def _lineage_report_row(row: dict, role: str) -> dict: + updated_at = row.get('ended_at') if row.get('ended_at') is not None else row.get('started_at') + return { + 'session_id': row.get('id'), + 'role': role, + 'title': row.get('title'), + 'source': row.get('source'), + 'started_at': row.get('started_at'), + 'updated_at': updated_at, + 'end_reason': row.get('end_reason'), + 'active': row.get('ended_at') is None, + 'archived': False, + } + + +def _empty_lineage_report(session_id: str, *, found: bool = False) -> dict: + return { + 'mutation': False, + 'found': found, + 'session_id': session_id, + 'lineage_key': session_id, + 'tip_session_id': session_id, + 'total_segments': 0, + 'materialized_segments': 0, + 'segments': [], + 'children': [], + 'manual_review': False, + } + + +def read_session_lineage_report(db_path: Path, session_id: str | None, max_hops: int = 20) -> dict: + """Return a bounded, read-only lifecycle report for a session lineage. + + This helper intentionally reports only facts that can be derived from + ``state.db.sessions`` without mutating WebUI JSON, archiving rows, or + deleting historical segments. It mirrors the sidebar continuation rules so + a future UI/PR can explain which rows are hidden compression/cli-close + segments and which child-session branches remain distinct. + """ + sid = str(session_id or '').strip() + if not sid: + return _empty_lineage_report('') + db_path = Path(db_path) + if not db_path.exists(): + return _empty_lineage_report(sid) + + try: + with closing(sqlite3.connect(str(db_path))) as conn: + conn.row_factory = sqlite3.Row + cur = conn.cursor() + cur.execute("PRAGMA table_info(sessions)") + session_cols = {row[1] for row in cur.fetchall()} + required = {'id', 'parent_session_id', 'end_reason'} + if not required.issubset(session_cols): + return _empty_lineage_report(sid) + + source_expr = _optional_col('source', session_cols) + title_expr = _optional_col('title', session_cols) + started_expr = _optional_col('started_at', session_cols, '0') + ended_expr = _optional_col('ended_at', session_cols) + end_reason_expr = _optional_col('end_reason', session_cols) + parent_expr = _optional_col('parent_session_id', session_cols) + + def fetch_one(row_id: str | None) -> dict | None: + if not row_id: + return None + cur.execute( + f""" + SELECT s.id, + {source_expr}, + {title_expr}, + {started_expr}, + {parent_expr}, + {ended_expr}, + {end_reason_expr} + FROM sessions s + WHERE s.id = ? + """, + (row_id,), + ) + row = cur.fetchone() + return dict(row) if row else None + + target = fetch_one(sid) + if not target: + return _empty_lineage_report(sid) + + segments = [target] + current = target + seen = {sid} + manual_review = False + for _hop in range(max(0, int(max_hops))): + parent_id = current.get('parent_session_id') + parent = fetch_one(parent_id) + if not parent or parent_id in seen: + manual_review = bool(parent_id and parent_id in seen) + break + if not _is_continuation_session(parent, current): + break + segments.append(parent) + seen.add(parent_id) + current = parent + else: + manual_review = True + + segment_ids = {row['id'] for row in segments} + child_rows: list[dict] = [] + for parent in segments: + cur.execute( + f""" + SELECT s.id, + {source_expr}, + {title_expr}, + {started_expr}, + {parent_expr}, + {ended_expr}, + {end_reason_expr} + FROM sessions s + WHERE s.parent_session_id = ? + ORDER BY s.started_at DESC + """, + (parent['id'],), + ) + for child_row in cur.fetchall(): + child = dict(child_row) + if child['id'] in segment_ids: + continue + if _is_continuation_session(parent, child): + # A continuation outside the selected path means the + # lineage is branched or the caller selected an older + # segment. Report manual review rather than proposing + # destructive cleanup candidates. + manual_review = True + continue + child_rows.append(child) + except Exception: + return _empty_lineage_report(sid) + + root_id = segments[-1]['id'] if segments else sid + tip_id = segments[0]['id'] if segments else sid + return { + 'mutation': False, + 'found': True, + 'session_id': sid, + 'lineage_key': root_id, + 'tip_session_id': tip_id, + 'total_segments': len(segments), + 'materialized_segments': len(segments), + 'segments': [ + _lineage_report_row(row, 'tip' if idx == 0 else 'hidden_segment') + for idx, row in enumerate(segments) + ], + 'children': [_lineage_report_row(row, 'child_session') for row in child_rows], + 'manual_review': manual_review, + } + + def read_session_lineage_metadata(db_path: Path, session_ids: list[str] | set[str]) -> dict[str, dict]: """Return compression-lineage metadata for known WebUI sidebar sessions. diff --git a/api/routes.py b/api/routes.py index cdf9e12a38..4dbbe39f59 100644 --- a/api/routes.py +++ b/api/routes.py @@ -26,6 +26,7 @@ MESSAGING_SOURCES, is_cli_session_row, is_cli_session_row_visible, + read_session_lineage_report, ) logger = logging.getLogger(__name__) @@ -3184,6 +3185,15 @@ def handle_get(handler, parsed) -> bool: return j(handler, {"session": redact_session_data(sess)}) return bad(handler, "Session not found", 404) + if parsed.path == "/api/session/lineage/report": + sid = parse_qs(parsed.query).get("session_id", [""])[0] + if not sid: + return bad(handler, "session_id required", 400) + report = read_session_lineage_report(_active_state_db_path(), sid) + if not report.get("found"): + return bad(handler, "Session not found", 404) + return j(handler, report) + if parsed.path == "/api/session/status": sid = parse_qs(parsed.query).get("session_id", [""])[0] if not sid: diff --git a/tests/test_session_lineage_report.py b/tests/test_session_lineage_report.py new file mode 100644 index 0000000000..a95b0bb508 --- /dev/null +++ b/tests/test_session_lineage_report.py @@ -0,0 +1,196 @@ +"""Read-only session lineage report endpoint tests.""" + +import json +import sqlite3 +import time +from types import SimpleNamespace +from urllib.parse import urlparse +from unittest.mock import patch + +import api.agent_sessions as agent_sessions +import api.routes as routes + + +def _ensure_state_db(path): + conn = sqlite3.connect(str(path)) + conn.executescript( + """ + CREATE TABLE sessions ( + id TEXT PRIMARY KEY, + source TEXT, + title TEXT, + model TEXT, + started_at REAL NOT NULL, + message_count INTEGER DEFAULT 0, + parent_session_id TEXT, + ended_at REAL, + end_reason TEXT + ); + """ + ) + return conn + + +def _insert_state_row(conn, sid, *, parent=None, ended_at=None, end_reason=None, started_at=None, source="webui"): + conn.execute( + """ + INSERT INTO sessions + (id, source, title, model, started_at, message_count, parent_session_id, ended_at, end_reason) + VALUES (?, ?, ?, 'openai/gpt-5', ?, 2, ?, ?, ?) + """, + (sid, source, sid.replace("_", " "), started_at or time.time(), parent, ended_at, end_reason), + ) + conn.commit() + + +def test_lineage_report_returns_bounded_read_only_tip_and_hidden_segments(tmp_path): + conn = _ensure_state_db(tmp_path / "state.db") + t0 = time.time() - 100 + try: + _insert_state_row(conn, "lineage_report_root", started_at=t0, ended_at=t0 + 5, end_reason="compression") + _insert_state_row(conn, "lineage_report_mid", parent="lineage_report_root", started_at=t0 + 6, ended_at=t0 + 12, end_reason="cli_close") + _insert_state_row(conn, "lineage_report_tip", parent="lineage_report_mid", started_at=t0 + 13) + + report = agent_sessions.read_session_lineage_report(tmp_path / "state.db", "lineage_report_tip") + + assert report["mutation"] is False + assert report["session_id"] == "lineage_report_tip" + assert report["lineage_key"] == "lineage_report_root" + assert report["tip_session_id"] == "lineage_report_tip" + assert report["total_segments"] == 3 + assert report["materialized_segments"] == 3 + assert [s["session_id"] for s in report["segments"]] == [ + "lineage_report_tip", + "lineage_report_mid", + "lineage_report_root", + ] + assert [s["role"] for s in report["segments"]] == ["tip", "hidden_segment", "hidden_segment"] + assert report["children"] == [] + assert report["manual_review"] is False + assert "archive_candidates" not in report + assert "delete_candidates" not in report + finally: + conn.close() + + +def test_lineage_report_keeps_cross_surface_parent_out_of_hidden_segments(tmp_path): + conn = _ensure_state_db(tmp_path / "state.db") + t0 = time.time() - 100 + try: + _insert_state_row( + conn, + "lineage_report_telegram_parent", + source="telegram", + started_at=t0, + ended_at=t0 + 5, + end_reason="compression", + ) + _insert_state_row( + conn, + "lineage_report_webui_tip", + source="webui", + parent="lineage_report_telegram_parent", + started_at=t0 + 6, + ) + + report = agent_sessions.read_session_lineage_report(tmp_path / "state.db", "lineage_report_webui_tip") + + assert report["lineage_key"] == "lineage_report_webui_tip" + assert report["total_segments"] == 1 + assert [s["session_id"] for s in report["segments"]] == ["lineage_report_webui_tip"] + assert report["segments"][0]["role"] == "tip" + assert report["children"] == [] + finally: + conn.close() + + +def test_lineage_report_surfaces_non_continuation_children_without_mutation(tmp_path): + conn = _ensure_state_db(tmp_path / "state.db") + t0 = time.time() - 100 + try: + _insert_state_row(conn, "lineage_report_root", started_at=t0, ended_at=t0 + 5, end_reason="compression") + _insert_state_row(conn, "lineage_report_tip", parent="lineage_report_root", started_at=t0 + 6, ended_at=t0 + 15, end_reason="user_stop") + _insert_state_row(conn, "lineage_report_child", parent="lineage_report_tip", started_at=t0 + 8) + + report = agent_sessions.read_session_lineage_report(tmp_path / "state.db", "lineage_report_tip") + + assert report["lineage_key"] == "lineage_report_root" + assert [s["session_id"] for s in report["segments"]] == ["lineage_report_tip", "lineage_report_root"] + assert report["children"] == [ + { + "session_id": "lineage_report_child", + "role": "child_session", + "title": "lineage report child", + "source": "webui", + "started_at": t0 + 8, + "updated_at": t0 + 8, + "end_reason": None, + "active": True, + "archived": False, + } + ] + assert report["mutation"] is False + finally: + conn.close() + + +def test_lineage_report_marks_bounded_parent_walk_for_manual_review(tmp_path): + conn = _ensure_state_db(tmp_path / "state.db") + t0 = time.time() - 100 + try: + _insert_state_row(conn, "lineage_report_root", started_at=t0, ended_at=t0 + 5, end_reason="compression") + _insert_state_row(conn, "lineage_report_mid", parent="lineage_report_root", started_at=t0 + 6, ended_at=t0 + 12, end_reason="compression") + _insert_state_row(conn, "lineage_report_tip", parent="lineage_report_mid", started_at=t0 + 13) + + report = agent_sessions.read_session_lineage_report(tmp_path / "state.db", "lineage_report_tip", max_hops=1) + + assert report["mutation"] is False + assert report["manual_review"] is True + assert [s["session_id"] for s in report["segments"]] == ["lineage_report_tip", "lineage_report_mid"] + assert report["total_segments"] == 2 + finally: + conn.close() + + +def test_lineage_report_endpoint_is_read_only_and_uses_active_state_db(tmp_path): + conn = _ensure_state_db(tmp_path / "state.db") + t0 = time.time() - 100 + try: + _insert_state_row(conn, "lineage_report_root", started_at=t0, ended_at=t0 + 5, end_reason="compression") + _insert_state_row(conn, "lineage_report_tip", parent="lineage_report_root", started_at=t0 + 6) + captured = {} + + def fake_j(handler, data, status=200, **_kwargs): + captured["status"] = status + captured["data"] = data + return data + + handler = SimpleNamespace() + parsed = urlparse("/api/session/lineage/report?session_id=lineage_report_tip") + with patch.object(routes, "_active_state_db_path", return_value=tmp_path / "state.db"), patch.object(routes, "j", side_effect=fake_j): + routes.handle_get(handler, parsed) + + assert captured["status"] == 200 + assert captured["data"]["mutation"] is False + assert captured["data"]["lineage_key"] == "lineage_report_root" + assert captured["data"]["total_segments"] == 2 + finally: + conn.close() + + +def test_lineage_report_endpoint_returns_404_for_unknown_session(tmp_path): + conn = _ensure_state_db(tmp_path / "state.db") + conn.close() + captured = {} + + def fake_bad(handler, message, status=400): + captured["status"] = status + captured["message"] = message + return {"error": message} + + handler = SimpleNamespace() + parsed = urlparse("/api/session/lineage/report?session_id=missing_lineage_report_session") + with patch.object(routes, "_active_state_db_path", return_value=tmp_path / "state.db"), patch.object(routes, "bad", side_effect=fake_bad): + routes.handle_get(handler, parsed) + + assert captured == {"status": 404, "message": "Session not found"} From 8226328cba1a982c7eba928b9926bc491fd0080e Mon Sep 17 00:00:00 2001 From: ai-ag2026 <261867348+ai-ag2026@users.noreply.github.com> Date: Sun, 10 May 2026 18:00:10 +0200 Subject: [PATCH 167/298] fix: avoid sidebar jumps when active session is visible --- static/sessions.js | 15 +++++++++++++-- ...test_issue500_session_list_virtualization.py | 17 +++++++++++++++++ 2 files changed, 30 insertions(+), 2 deletions(-) diff --git a/static/sessions.js b/static/sessions.js index 6e7a8f8c17..cfbf752fba 100644 --- a/static/sessions.js +++ b/static/sessions.js @@ -2420,6 +2420,17 @@ function renderSessionListFromCache(){ list.dataset.sessionVirtualActiveAnchor!==activeSidForSidebar|| list.dataset.sessionVirtualFilter!==q ); + const virtualWindowBeforeActiveAnchor=_sessionVirtualWindow({ + total:flatSessionRows.length, + scrollTop:listScrollTopBeforeRender, + viewportHeight:list.clientHeight||520, + itemHeight:SESSION_VIRTUAL_ROW_HEIGHT, + buffer:SESSION_VIRTUAL_BUFFER_ROWS, + threshold:SESSION_VIRTUAL_THRESHOLD_ROWS, + activeIndex:-1, + }); + const activeWasAlreadyVisible=activeIndex>=virtualWindowBeforeActiveAnchor.start&&activeIndex=virtualWindowBeforeActiveAnchor.start&&activeIndex Date: Sun, 10 May 2026 18:03:21 +0200 Subject: [PATCH 168/298] fix: keep explicit fork sessions out of compression lineage --- api/routes.py | 1 + static/sessions.js | 1 + tests/test_465_session_branching.py | 26 ++++++++++++++++++++++++++ 3 files changed, 28 insertions(+) diff --git a/api/routes.py b/api/routes.py index cdf9e12a38..ca3e2d9c0e 100644 --- a/api/routes.py +++ b/api/routes.py @@ -4232,6 +4232,7 @@ def handle_post(handler, parsed) -> bool: title=branch_title, messages=forked_messages, parent_session_id=source.session_id, + session_source="fork", ) with LOCK: SESSIONS[branch.session_id] = branch diff --git a/static/sessions.js b/static/sessions.js index 6e7a8f8c17..a1271219fe 100644 --- a/static/sessions.js +++ b/static/sessions.js @@ -1978,6 +1978,7 @@ function _isChildSession(s){ function _sessionLineageKey(s, sessionIdsInList){ if(!s||!s.session_id) return null; if(_isChildSession(s)) return null; + if(s.session_source==='fork') return null; const lineageKey=s._lineage_root_id||s.lineage_root_id||null; if(lineageKey) return lineageKey; // If parent_session_id points to another session in the current list, diff --git a/tests/test_465_session_branching.py b/tests/test_465_session_branching.py index 7a09ac6187..2a3722f8e2 100644 --- a/tests/test_465_session_branching.py +++ b/tests/test_465_session_branching.py @@ -68,6 +68,32 @@ def test_branch_creates_session_with_parent(): "Branch handler should set parent_session_id to source session" +def test_branch_marks_explicit_forks_as_fork_sessions(): + """Explicit branches must not be mistaken for compression lineage rows.""" + with open('api/routes.py') as f: + src = f.read() + branch_match = re.search( + r'parsed\.path == "/api/session/branch"(.*?)(?=\n if parsed\.path|$)', + src, re.DOTALL + ) + assert branch_match + block = branch_match.group(1) + assert 'session_source="fork"' in block, \ + "Branch handler should mark explicit forks with session_source='fork'" + + +def test_branch_fork_sessions_do_not_collapse_into_parent_lineage(): + """Forks remain selectable rows even if their parent is not in the current list.""" + with open('static/sessions.js') as f: + src = f.read() + fn = re.search(r'function _sessionLineageKey\(.*?\n\}', src, re.DOTALL) + assert fn, "Could not find _sessionLineageKey" + block = fn.group(0) + assert "if(s.session_source==='fork') return null;" in block, \ + "Explicit fork sessions should not collapse via parent_session_id" + assert block.index("if(s.session_source==='fork') return null;") < block.index('return s.parent_session_id || null') + + def test_branch_keep_count_support(): """Verify the branch endpoint supports keep_count parameter.""" with open('api/routes.py') as f: From 8aed650b4ca20473d350977edbb2b5419d5f61de Mon Sep 17 00:00:00 2001 From: Jellypowered Date: Sun, 10 May 2026 11:10:54 -0500 Subject: [PATCH 169/298] Stitch continued session transcripts in WebUI --- .gitignore | 2 + api/models.py | 56 +++++++++++++++-- api/routes.py | 27 +++++++- tests/test_session_lineage_full_transcript.py | 61 +++++++++++++++++++ 4 files changed, 139 insertions(+), 7 deletions(-) create mode 100644 tests/test_session_lineage_full_transcript.py diff --git a/.gitignore b/.gitignore index b4ee8a54fb..0edd66af46 100644 --- a/.gitignore +++ b/.gitignore @@ -50,3 +50,5 @@ docs/* graphify-out/ .graphify_cached.json .graphify_uncached.txt + +.venv/ diff --git a/api/models.py b/api/models.py index 1aac37a51d..767c1e5ea0 100644 --- a/api/models.py +++ b/api/models.py @@ -1662,7 +1662,9 @@ def get_cli_session_messages(sid) -> list: Preserve tool-call/result and reasoning metadata from the agent state.db so CLI-origin transcripts render with the same tool cards as WebUI-native - sessions. Returns empty list on any error. + sessions. When the requested session is the tip of a compression/CLI-close + continuation chain, return the stitched full transcript across all segments + in chronological order. Returns empty list on any error. """ import os if str(sid or '').startswith(f'{CLAUDE_CODE_SOURCE}_'): @@ -1701,12 +1703,56 @@ def get_cli_session_messages(sid) -> list: 'codex_message_items', ] selected = ['role', 'content', 'timestamp'] + [c for c in optional if c in available] + + cur.execute("PRAGMA table_info(sessions)") + session_cols = {str(row['name']) for row in cur.fetchall()} + session_chain = [str(sid)] + if {'parent_session_id', 'end_reason', 'started_at', 'source'}.issubset(session_cols): + cur.execute( + """ + SELECT id, source, started_at, parent_session_id, ended_at, end_reason + FROM sessions + WHERE id = ? + """, + (sid,), + ) + rows_by_id = {} + row = cur.fetchone() + if row: + rows_by_id[str(row['id'])] = dict(row) + current_id = str(row['id']) + seen = {current_id} + for _ in range(20): + current = rows_by_id.get(current_id) + parent_id = current.get('parent_session_id') if current else None + if not parent_id or parent_id in seen: + break + cur.execute( + """ + SELECT id, source, started_at, parent_session_id, ended_at, end_reason + FROM sessions + WHERE id = ? + """, + (parent_id,), + ) + parent_row = cur.fetchone() + if not parent_row: + break + parent_dict = dict(parent_row) + rows_by_id[str(parent_row['id'])] = parent_dict + if not _is_continuation_session(parent_dict, current): + break + session_chain.insert(0, str(parent_row['id'])) + current_id = str(parent_row['id']) + seen.add(current_id) + + placeholders = ', '.join('?' for _ in session_chain) cur.execute(f""" - SELECT {', '.join(selected)} + SELECT {', '.join(selected)}, session_id FROM messages - WHERE session_id = ? - ORDER BY timestamp ASC - """, (sid,)) + WHERE session_id IN ({placeholders}) + ORDER BY timestamp ASC, id ASC + """, session_chain) msgs = [] for row in cur.fetchall(): msg = { diff --git a/api/routes.py b/api/routes.py index cdf9e12a38..72863491e5 100644 --- a/api/routes.py +++ b/api/routes.py @@ -3028,8 +3028,31 @@ def handle_get(handler, parsed) -> bool: # longer visible conversation than the single state.db # segment for this messaging session id. Prefer the longer # sidecar so repaired WebUI history is not hidden behind the - # canonical per-segment transcript. - _all_msgs = sidecar_messages if len(sidecar_messages) > len(cli_messages) else cli_messages + # canonical per-segment transcript. When both sources carry + # different slices of the same stitched conversation, merge + # them chronologically and dedupe exact repeats. + if sidecar_messages and sidecar_messages != cli_messages: + merged_messages = [] + seen_message_keys = set() + for msg in sorted(list(cli_messages) + list(sidecar_messages), key=lambda m: ( + float(m.get("timestamp") or 0), + str(m.get("role") or ""), + str(m.get("content") or ""), + )): + key = ( + str(msg.get("role") or ""), + str(msg.get("content") or ""), + str(msg.get("timestamp") or ""), + str(msg.get("tool_call_id") or ""), + str(msg.get("tool_name") or msg.get("name") or ""), + ) + if key in seen_message_keys: + continue + seen_message_keys.add(key) + merged_messages.append(msg) + _all_msgs = merged_messages + else: + _all_msgs = sidecar_messages if len(sidecar_messages) > len(cli_messages) else cli_messages else: _all_msgs = s.messages else: diff --git a/tests/test_session_lineage_full_transcript.py b/tests/test_session_lineage_full_transcript.py new file mode 100644 index 0000000000..7efc6d1812 --- /dev/null +++ b/tests/test_session_lineage_full_transcript.py @@ -0,0 +1,61 @@ +"""Regression coverage for stitched full-transcript loading across session segments.""" + +from __future__ import annotations + +import api.routes as routes + + + +def test_session_endpoint_merges_sidecar_and_lineage_messages_for_cli_sessions(monkeypatch): + class DummySession: + def __init__(self): + self.messages = [{"role": "assistant", "content": "sidecar tail", "timestamp": 10.0}] + self.tool_calls = [] + self.active_stream_id = None + self.pending_user_message = None + self.pending_attachments = [] + self.pending_started_at = None + self.context_length = 0 + self.threshold_tokens = 0 + self.last_prompt_tokens = 0 + self.model = "openai/gpt-5" + self.session_id = "tip" + + def compact(self): + return {"session_id": "tip", "title": "Tip", "model": "openai/gpt-5"} + + captured = {} + + monkeypatch.setattr(routes, "get_session", lambda sid, metadata_only=False: DummySession()) + monkeypatch.setattr(routes, "_clear_stale_stream_state", lambda s: None) + monkeypatch.setattr(routes, "_lookup_cli_session_metadata", lambda sid: {"session_source": "messaging"}) + monkeypatch.setattr(routes, "_is_messaging_session_record", lambda s: True) + monkeypatch.setattr( + routes, + "get_cli_session_messages", + lambda sid: [ + {"role": "user", "content": "root user", "timestamp": 1.0}, + {"role": "assistant", "content": "tip assistant", "timestamp": 2.0}, + ], + ) + monkeypatch.setattr(routes, "_resolve_effective_session_model_for_display", lambda s: getattr(s, "model", None)) + monkeypatch.setattr(routes, "_resolve_effective_session_model_provider_for_display", lambda s: None) + monkeypatch.setattr(routes, "_merge_cli_sidebar_metadata", lambda raw, meta: raw) + monkeypatch.setattr(routes, "redact_session_data", lambda raw: raw) + monkeypatch.setattr(routes, "j", lambda handler, payload, status=200: captured.setdefault("payload", payload)) + + class Handler: + pass + + class Parsed: + path = "/api/session" + query = "session_id=tip" + + routes.handle_get(Handler(), Parsed()) + + session = captured["payload"]["session"] + assert [m["content"] for m in session["messages"]] == [ + "root user", + "tip assistant", + "sidecar tail", + ] From fecfc5f6dbf832e230e914505ce9656c4a5782b6 Mon Sep 17 00:00:00 2001 From: dobby-d-elf Date: Sun, 10 May 2026 10:31:14 -0600 Subject: [PATCH 170/298] fix: reanchor live context usage updates --- api/streaming.py | 8 ++++++- static/messages.js | 8 ------- tests/test_issue1617_tps_message_header.py | 26 ++++++++++++++++++++++ 3 files changed, 33 insertions(+), 9 deletions(-) diff --git a/api/streaming.py b/api/streaming.py index 1fe2852130..2653f6d3d0 100644 --- a/api/streaming.py +++ b/api/streaming.py @@ -1939,6 +1939,7 @@ def _run_agent_streaming( agent = None _live_prompt_estimate_tokens = [0] + _live_prompt_exact_tokens = [0] _live_prompt_estimate_seen_ids = set() def _seed_live_prompt_estimate() -> int: @@ -1961,6 +1962,7 @@ def _seed_live_prompt_estimate() -> int: except Exception: _base = 0 _live_prompt_estimate_tokens[0] = int(_base or 0) + _live_prompt_exact_tokens[0] = _live_prompt_estimate_tokens[0] return _live_prompt_estimate_tokens[0] def _bump_live_prompt_estimate(messages) -> int: @@ -2023,7 +2025,11 @@ def _live_usage_snapshot(): except Exception: pass - if _live_prompt_estimate_tokens[0] > (_usage.get('last_prompt_tokens') or 0): + _real_prompt_tokens = int(_usage.get('last_prompt_tokens') or 0) + if _real_prompt_tokens and _real_prompt_tokens != _live_prompt_exact_tokens[0]: + _live_prompt_exact_tokens[0] = _real_prompt_tokens + _live_prompt_estimate_tokens[0] = _real_prompt_tokens + elif _live_prompt_estimate_tokens[0] > _real_prompt_tokens: _usage['last_prompt_tokens'] = _live_prompt_estimate_tokens[0] return _usage diff --git a/static/messages.js b/static/messages.js index fd5cd03636..6ee504fd60 100644 --- a/static/messages.js +++ b/static/messages.js @@ -1161,14 +1161,6 @@ function attachLiveStream(activeSid, streamId, uploaded=[], options={}){ if((d.session_id||activeSid)!==activeSid) return; if(d.usage&&typeof _syncCtxIndicator==='function'){ S.lastUsage={...(S.lastUsage||{}),...d.usage}; - if(S.session&&S.session.session_id===activeSid){ - S.session.input_tokens=d.usage.input_tokens??S.session.input_tokens; - S.session.output_tokens=d.usage.output_tokens??S.session.output_tokens; - S.session.estimated_cost=d.usage.estimated_cost??S.session.estimated_cost; - S.session.context_length=d.usage.context_length??S.session.context_length; - S.session.threshold_tokens=d.usage.threshold_tokens??S.session.threshold_tokens; - S.session.last_prompt_tokens=d.usage.last_prompt_tokens??S.session.last_prompt_tokens; - } _syncCtxIndicator(S.lastUsage); } if(d.estimated===true||d.tps_available!==true||typeof d.tps!=='number'||d.tps<=0){ diff --git a/tests/test_issue1617_tps_message_header.py b/tests/test_issue1617_tps_message_header.py index b3c49db2d0..814d2ea71d 100644 --- a/tests/test_issue1617_tps_message_header.py +++ b/tests/test_issue1617_tps_message_header.py @@ -46,6 +46,32 @@ def test_live_metering_updates_only_real_tps_and_never_placeholders(): ) +def test_live_metering_usage_is_provisional_until_done(): + listener_start = MESSAGES_JS.find("source.addEventListener('metering'") + assert listener_start != -1, "messages.js should listen for metering SSE events" + listener_end = MESSAGES_JS.find("source.addEventListener('apperror'", listener_start) + assert listener_end != -1, "apperror listener should follow metering listener" + listener = MESSAGES_JS[listener_start:listener_end] + + assert "S.lastUsage={...(S.lastUsage||{}),...d.usage}" in listener, ( + "live usage should update the transient usage cache for the indicator" + ) + assert "_syncCtxIndicator(S.lastUsage)" in listener, ( + "live usage should refresh the context indicator" + ) + assert "S.session.input_tokens=d.usage.input_tokens" not in listener + assert "S.session.last_prompt_tokens=d.usage.last_prompt_tokens" not in listener + + +def test_live_prompt_estimate_reanchors_to_fresh_exact_prompt_tokens(): + assert "_live_prompt_exact_tokens = [0]" in STREAMING_PY, ( + "live prompt estimates need a separate exact-token anchor" + ) + assert "_real_prompt_tokens = int(_usage.get('last_prompt_tokens') or 0)" in STREAMING_PY + assert "_real_prompt_tokens != _live_prompt_exact_tokens[0]" in STREAMING_PY + assert "_live_prompt_estimate_tokens[0] = _real_prompt_tokens" in STREAMING_PY + + def test_done_payload_persists_final_tps_when_exact_usage_available(): assert "usage['tps']" in STREAMING_PY, "done usage payload should include final exact TPS when available" assert "output_tokens" in STREAMING_PY and "duration_seconds" in STREAMING_PY, ( From 52c1053baa184f3306c451c63a66e873ee8fbd37 Mon Sep 17 00:00:00 2001 From: nesquena-hermes Date: Sun, 10 May 2026 17:00:40 +0000 Subject: [PATCH 171/298] =?UTF-8?q?chore:=20CHANGELOG=20for=20v0.51.35=20?= =?UTF-8?q?=E2=80=94=20Release=20K=20(kanban=20polish=20+=20i18n=20DE)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG.md | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6f60fbcd15..29315b84a5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,32 @@ # Hermes Web UI -- Changelog +## [v0.51.35] — 2026-05-10 — Release K (kanban polish + i18n DE pluralization) + +### Fixed + +- **PR #1990** by @franksong2702 — Kanban dispatcher race guard. Adds `_kanbanIsDispatching` flag around `runKanbanDispatcher()` and `nudgeKanbanDispatcher()` in `static/panels.js`; both Run/Preview buttons go disabled while the call is in-flight, so a fast double-click can't fire the dispatcher twice (which would post duplicate POSTs and surface duplicate toasts). Re-enables on success or error in `finally`. Closes #1984. + +- **PR #1991** by @franksong2702 — German `profile_skill_count` pluralization. The DE locale had `profile_skill_count: '{count} Fähigkeiten'` as a literal string with the placeholder token still in it (so 1, 2, 5 skills all rendered as `{count} Fähigkeiten`). Switched to the same `(count) => …` interpolation function form already used by the other locales. Regression test `tests/test_issue1989_profile_skill_count.py` pins DE to function form and asserts the literal token never reaches the rendered string. Closes #1989. + +- **PR #1993** by @franksong2702 — Kanban assignee-dropdown profile cache invalidation. `_kanbanProfileNamesCache` was populated lazily on first modal open and never expired; creating or deleting a profile elsewhere in the UI didn't refresh it, so the assignee dropdown could show a freshly-deleted profile or miss a freshly-created one. Added a 30-second TTL (`_kanbanProfileNamesCacheAt` + `_KANBAN_PROFILE_NAMES_CACHE_TTL_MS`) and an explicit `_invalidateKanbanProfileCache()` helper called from `saveProfileForm()`, `deleteCurrentProfile()`, and `deleteProfile()`. Closes #1985. + +- **PR #1995** by @franksong2702 — Kanban modal focus trap + edit-mode status hint. Two related fixes bundled (#1995 was rebased on top of #1994 in the contributor's branch): + - **Focus trap (#1974).** Tab/Shift-Tab in the Kanban task and board modals could move keyboard focus to controls behind the modal. Added a shared `_trapModalFocus(modalEl)` helper in `static/panels.js`; wired into `openKanbanCreate()`, `openKanbanEdit()`, `openKanbanCreateBoard()`, and `openKanbanRenameBoard()`. Cleanup tracker `_kanbanTaskModalFocusCleanup` removes the trap on close so a sequence of open→close→open doesn't leak listeners. + - **Status hint (#1986).** When opening Edit on a task whose real status is `running`/`blocked`/`done`/`archived` (which the dropdown displays as `triage` because the dispatcher only writes to `triage`/`todo`/`ready`), the modal now shows an inline hint explaining the displayed-vs-real mismatch. The dropdown behaviour is unchanged — only an additional UX cue. New CSS for `.kanban-status-hint`, new i18n key `kanban_status_hint_real` across all 8 locales. + + Closes #1974, #1986. + +- **PR #1996** by @franksong2702 — Kanban modal locale parity regression test. Adds `tests/test_kanban_ui_static.py::test_kanban_modal_locales_have_full_modal_vocabulary` that anchors on the existing `kanban_no_comments` key and asserts every locale supporting Kanban has the modal vocabulary. Hardens locale-block parsing to handle quoted locales. Pure test addition. + +### Tests + +5049 → **5054 collected, 5054 passing, 0 regressions** (+5 net new). Full suite 154s on Python 3.11 with `HERMES_HOME` isolation. + +### Notes + +- `static/panels.js` was the high-collision file in this batch (5 PRs touched it). Stage merge cleanly; one syntactic conflict at the `_kanbanProfileNamesCache` declaration block when #1995 landed on top of #1993 — both PRs added new module-level `let` declarations adjacent to `_kanbanProfileNamesCache`. Resolved by preserving both declaration blocks (the variables are independent). +- Six PRs in batch, all from @franksong2702. Disjoint concerns, disjoint i18n keys, disjoint tests. The 5-files panels.js overlap was the only nontrivial integration risk and resolved cleanly. + ## [v0.51.34] — 2026-05-09 — Release J (kanban edit/dispatch + zh-Hant kanban i18n) ### Added From 9242305a819fc8bb2abfc77741747124b396bab3 Mon Sep 17 00:00:00 2001 From: nesquena-hermes Date: Sun, 10 May 2026 17:06:10 +0000 Subject: [PATCH 172/298] fix(stage-329): zh-Hant locale parity for kanban_status_original_hint + extend locale parity test (Opus advisor SHIP-WITH-CAVEATS follow-up) --- static/i18n.js | 1 + tests/test_kanban_ui_static.py | 1 + 2 files changed, 2 insertions(+) diff --git a/static/i18n.js b/static/i18n.js index de28507cf1..6d691189ec 100644 --- a/static/i18n.js +++ b/static/i18n.js @@ -6535,6 +6535,7 @@ const LOCALES = { kanban_description: '描述', kanban_description_placeholder: '選填 — 需要完成的事項、驗收標準、連結', kanban_status: '狀態', + kanban_status_original_hint: '實際狀態:{0}。此對話框僅支援編輯 Triage/Todo/Ready。', kanban_assignee: '指派對象', kanban_assignee_placeholder: '選填 — 個人資料或名稱', kanban_tenant: '租戶', diff --git a/tests/test_kanban_ui_static.py b/tests/test_kanban_ui_static.py index 8a0f26229c..dcdfd52ad2 100644 --- a/tests/test_kanban_ui_static.py +++ b/tests/test_kanban_ui_static.py @@ -593,6 +593,7 @@ def test_kanban_modal_locale_parity(): "kanban_priority", "kanban_priority_hint", "kanban_title_required", + "kanban_status_original_hint", ] anchor_key = "kanban_status" missing = [ From 941c8051a92801b47065560bde0301f2f3af47e6 Mon Sep 17 00:00:00 2001 From: nesquena-hermes Date: Sun, 10 May 2026 17:06:27 +0000 Subject: [PATCH 173/298] chore: CHANGELOG note for stage augmentation 9242305a --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 29315b84a5..235c92d81b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -22,6 +22,10 @@ 5049 → **5054 collected, 5054 passing, 0 regressions** (+5 net new). Full suite 154s on Python 3.11 with `HERMES_HOME` isolation. +### Stage augmentation + +- **`9242305a`** — Opus advisor flagged that `kanban_status_original_hint` (added by #1995) was missing in the `zh-Hant` block, so Traditional Chinese users would get the English fallback. Added the Traditional Chinese translation (`實際狀態:{0}。此對話框僅支援編輯 Triage/Todo/Ready。`) at line 6537 and extended `tests/test_kanban_ui_static.py::test_kanban_modal_locales_have_full_modal_vocabulary`'s `modal_keys` list to assert the key — so any future kanban modal key added without zh-Hant translation will fail CI. + ### Notes - `static/panels.js` was the high-collision file in this batch (5 PRs touched it). Stage merge cleanly; one syntactic conflict at the `_kanbanProfileNamesCache` declaration block when #1995 landed on top of #1993 — both PRs added new module-level `let` declarations adjacent to `_kanbanProfileNamesCache`. Resolved by preserving both declaration blocks (the variables are independent). From 71aaad6e7fa30d776d100bbb9151e7e085ec4379 Mon Sep 17 00:00:00 2001 From: nesquena-hermes Date: Sun, 10 May 2026 17:13:52 +0000 Subject: [PATCH 174/298] fix(stage-330): broaden chinese-locale test to accept both \uXXXX and literal CJK forms (PR #2002 source-form refresh) --- tests/test_chinese_locale.py | 27 ++++++++++++++++----------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/tests/test_chinese_locale.py b/tests/test_chinese_locale.py index cac4217873..ac06bd04c7 100644 --- a/tests/test_chinese_locale.py +++ b/tests/test_chinese_locale.py @@ -79,18 +79,23 @@ def test_chinese_locale_block_exists(): def test_chinese_locale_includes_representative_translations(): src = read(REPO / "static" / "i18n.js") - expected = [ - "settings_title: '\\u8bbe\\u7f6e'", - "login_title: '\\u767b\\u5f55'", - "approval_heading: '需要审批'", - "tab_tasks: '任务'", - "tab_profiles: '配置'", - "session_time_bucket_today: '今天'", - "onboarding_title: '欢迎使用 Hermes Web UI'", - "onboarding_complete: '引导完成'", + # Each tuple is a list of acceptable source forms for the same translation — + # either escape-encoded `\uXXXX` form or literal CJK characters. They produce + # the same runtime string; do not pin source encoding. + expected_alternatives = [ + [r"settings_title: '\u8bbe\u7f6e'", "settings_title: '设置'"], + [r"login_title: '\u767b\u5f55'", "login_title: '登录'"], + ["approval_heading: '需要审批'"], + ["tab_tasks: '任务'"], + ["tab_profiles: '配置'"], + ["session_time_bucket_today: '今天'"], + ["onboarding_title: '欢迎使用 Hermes Web UI'"], + ["onboarding_complete: '引导完成'"], ] - for entry in expected: - assert entry in src + for alts in expected_alternatives: + assert any(alt in src for alt in alts), ( + f"None of the expected forms found in i18n.js: {alts!r}" + ) def test_chinese_locale_covers_english_keys(): From 4ba31f946200aa8cfcd159400acce4705f0f89d0 Mon Sep 17 00:00:00 2001 From: Michael De Gols Date: Sun, 10 May 2026 19:14:49 +0200 Subject: [PATCH 175/298] fix(docker_init): fall back when /tmp not root-writable (Railway) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit On user-namespaced rootless runtimes (Railway), in-container UID 0 maps to a host UID outside the writable subuid range, so /tmp writes fail despite id -u returning 0. The existing read-only-rootfs guard only covers /etc/{group,passwd} and doesn't catch this. Probe /tmp writability before save_env and fall back through $itdir → /app, exporting _HW_ROOT_ENV_PATH so the post-su phase reads from the same path. Closes #2010 Co-Authored-By: Claude Opus 4.7 (1M context) --- docker_init.bash | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/docker_init.bash b/docker_init.bash index fde98d2890..fbe71780c1 100644 --- a/docker_init.bash +++ b/docker_init.bash @@ -227,9 +227,22 @@ if [ "A${whoami}" == "Aroot" ]; then chown hermeswebui:hermeswebui "${UV_CACHE_DIR}" || error_exit "Failed to set owner of ${UV_CACHE_DIR} to hermeswebui user" chown -R "${WANTED_UID}:${WANTED_GID}" "$itdir" || error_exit "Failed to set owner of $itdir" - save_env /tmp/hermeswebui_root_env.txt - chown "${WANTED_UID}:${WANTED_GID}" /tmp/hermeswebui_root_env.txt || error_exit "Failed to set owner of /tmp/hermeswebui_root_env.txt" - chmod 600 /tmp/hermeswebui_root_env.txt || error_exit "Failed to secure /tmp/hermeswebui_root_env.txt" + # Issue #2010 — Railway / user-namespaced runtimes: in-container UID 0 may map + # to a host UID outside the writable subuid range, so /tmp writes fail despite + # id -u == 0. Probe writability and fall back through $itdir → /app. + ENV_FILE="/tmp/hermeswebui_root_env.txt" + if ! ( : > "$ENV_FILE" ) 2>/dev/null; then + ENV_FILE="${itdir:-/tmp/hermeswebui_init}/hermeswebui_root_env.txt" + mkdir -p "$(dirname "$ENV_FILE")" 2>/dev/null + if ! ( : > "$ENV_FILE" ) 2>/dev/null; then + ENV_FILE="/app/.hermeswebui_root_env" + fi + echo " !! /tmp not writable by root — falling back to $ENV_FILE (user-namespaced runtime?)" + fi + save_env "$ENV_FILE" + chown "${WANTED_UID}:${WANTED_GID}" "$ENV_FILE" || error_exit "Failed to set owner of $ENV_FILE" + chmod 600 "$ENV_FILE" || error_exit "Failed to secure $ENV_FILE" + export _HW_ROOT_ENV_PATH="$ENV_FILE" # restart the script as hermeswebui set with the correct UID/GID this time echo "-- Restarting as hermeswebui user with UID ${WANTED_UID} GID ${WANTED_GID}" @@ -248,7 +261,7 @@ if [ "$WANTED_UID" != "$new_uid" ]; then error_exit "hermeswebui MUST be running echo ""; echo "== Running as hermeswebui" # Load environment variables one by one if they do not exist from the root init phase -tmp_root_env=/tmp/hermeswebui_root_env.txt +tmp_root_env="${_HW_ROOT_ENV_PATH:-/tmp/hermeswebui_root_env.txt}" if [ -f $tmp_root_env ]; then echo "-- Loading not already set environment variables from $tmp_root_env" load_env $tmp_root_env true From ce27499762ae44640c95dcd87306dde4afe83fca Mon Sep 17 00:00:00 2001 From: Robert Helmer Date: Sun, 10 May 2026 10:15:16 -0700 Subject: [PATCH 176/298] Fix Stop button not refreshing after chat/start stream id Call updateSendBtn after S.activeStreamId is cleared for a new turn and again after the server returns streamId, since setBusy(true) already refreshed the button while activeStreamId was still null. Add regression tests in test_1062_busy_input_modes (TestBusySendButton). --- static/messages.js | 5 ++++ tests/test_1062_busy_input_modes.py | 45 +++++++++++++++++++++++++++++ 2 files changed, 50 insertions(+) diff --git a/static/messages.js b/static/messages.js index 75758f7c4d..5d43d344d5 100644 --- a/static/messages.js +++ b/static/messages.js @@ -210,6 +210,7 @@ async function send(){ startClarifyPolling(activeSid); _fetchYoloState(activeSid); // sync YOLO pill with backend state S.activeStreamId = null; // will be set after stream starts + if(typeof updateSendBtn==='function') updateSendBtn(); // Set provisional title from user message immediately so session appears // in the sidebar right away with a meaningful name (server may refine later) @@ -243,6 +244,7 @@ async function send(){ profile:S.activeProfile||S.session.profile||'default', attachments:uploaded.length?uploaded:undefined })}); + if(startData.effective_model && S.session){ S.session.model=startData.effective_model; S.session.model_provider=startData.effective_model_provider||S.session.model_provider||null; @@ -259,6 +261,9 @@ async function send(){ } streamId=startData.stream_id; S.activeStreamId = streamId; + // setBusy(true) already ran with activeStreamId=null; refresh now that we + // have a stream id so the primary button can switch to Stop (see getComposerPrimaryAction). + if(typeof updateSendBtn==='function') updateSendBtn(); if(S.session&&typeof startData.pending_started_at==='number'){ S.session.pending_started_at=startData.pending_started_at; } diff --git a/tests/test_1062_busy_input_modes.py b/tests/test_1062_busy_input_modes.py index 7e70ca5b5a..bb7514d29f 100644 --- a/tests/test_1062_busy_input_modes.py +++ b/tests/test_1062_busy_input_modes.py @@ -207,6 +207,51 @@ def test_send_button_click_uses_primary_action_handler(self): "boot.js should wire btnSend to handleComposerPrimaryAction(), not directly to send()" ) + def test_send_refreshes_primary_button_after_clearing_active_stream_id(self): + """send() must call updateSendBtn after resetting activeStreamId for a new turn. + + getComposerPrimaryAction maps to Stop only when S.activeStreamId is set; after + nulling the id, btnSend must refresh so a stale Stop icon cannot linger until + the next composer input event. + """ + send_start = MESSAGES_JS.find("async function send(") + assert send_start >= 0, "send() not found in messages.js" + send_end = MESSAGES_JS.find("const LIVE_STREAMS={}", send_start) + assert send_end > send_start, "could not find end of send() body" + send_body = MESSAGES_JS[send_start:send_end] + marker = "S.activeStreamId = null; // will be set after stream starts" + mpos = send_body.find(marker) + assert mpos >= 0, "send() must reset activeStreamId before chat/start" + window = send_body[mpos : mpos + 200] + assert "updateSendBtn" in window, ( + "send() must call updateSendBtn() after clearing activeStreamId " + "so btnSend state matches the pending-start phase" + ) + + def test_send_refreshes_primary_button_after_chat_start_stream_id(self): + """send() must call updateSendBtn in the chat/start try block after assigning streamId. + + setBusy(true) already ran updateSendBtn while activeStreamId was still null, so the + Stop affordance did not appear until something else (e.g. typing) called + updateSendBtn again. + """ + send_start = MESSAGES_JS.find("async function send(") + assert send_start >= 0, "send() not found in messages.js" + send_end = MESSAGES_JS.find("const LIVE_STREAMS={}", send_start) + assert send_end > send_start, "could not find end of send() body" + send_body = MESSAGES_JS[send_start:send_end] + assign = "S.activeStreamId = streamId;" + apos = send_body.find(assign) + assert apos >= 0, "send() must assign S.activeStreamId from startData" + after_assign = send_body[apos:] + end_try = after_assign.find(" }catch(e){") + assert end_try > 0, "send() outer try/catch not found after stream id assign" + try_after_assign = after_assign[:end_try] + assert "updateSendBtn" in try_after_assign, ( + "send() must call updateSendBtn() in the chat/start try block after assigning " + "streamId so the primary button switches to Stop without waiting for composer input" + ) + class TestSendBusyBranchDispatch: """send()'s busy block must read window._busyInputMode and branch accordingly.""" From d922845bbd68210938e4b288c07bcd8ffa865ae9 Mon Sep 17 00:00:00 2001 From: nesquena-hermes Date: Sun, 10 May 2026 17:31:32 +0000 Subject: [PATCH 177/298] chore: CHANGELOG for v0.51.36 (stage-330) --- CHANGELOG.md | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6f60fbcd15..18bf4e7b50 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,38 @@ # Hermes Web UI -- Changelog +## [v0.51.36] — 2026-05-10 — Release L (locale + provider + cross-cutting) + +### Fixed + +- **PR #1992** by @29n — `ctl.sh` line 42 used `[[ -v ${key} ]]`, which requires bash 4.2+. macOS ships with bash 3.2 → `conditional binary operator expected` error. Replaced with `[[ -n "${!key+x}" ]]` — a portable variable-set check that works on bash 3.2+, zsh, and POSIX-compatible shells. No behavior change. + +- **PR #1998** by @franksong2702 — Localized `/goal` runtime status strings. Added 13 i18n keys (`goal_evaluating_progress`, `goal_working_toward`, `goal_continuing_toast`, `goal_status_*`, `goal_set/paused/resumed/cleared/no_goal`, `goal_achieved`, `goal_paused_budget_exhausted`, `goal_continuing`) across all locales; new keys reach `static/messages.js` and `static/commands.js` so the goal UI no longer hardcodes English. Closes #1933. + +- **PR #2000** by @qxxaa — Skill tools resolve from the wrong profile after per-request profile switch. `tools/skills_tool.py` and `tools/skill_manager_tool.py` cache `HERMES_HOME` as a module-level constant at import time. The process-wide `switch_profile()` path patches both modules via `_set_hermes_home()`, but the per-request path (`switch_profile(process_wide=False)`, introduced in #1700) only updated `os.environ['HERMES_HOME']` and skipped the module patching. Result: agents on non-default profiles always saw the root profile's skills. Fix adds the same monkeypatching to the per-request branch in `api/streaming.py`. Closes the parity gap with #1700. + +- **PR #2001** by @franksong2702 — `clarify.timeout` config was ignored by WebUI clarify prompts. The callback used a hardcoded `timeout = 120`. Now reads `clarify.timeout` from `api.config.get_config()` with bounded fallback (defaults to 120 on missing/invalid config), and threads `timeout_seconds` into the `api.clarify.submit_pending` payload so the frontend countdown matches the backend timeout. Regression test in `tests/test_sprint42.py`. Closes #1999. + +- **PR #2005** by @vikarag — Added Xiaomi as a first-class provider in the WebUI's model catalog. `hermes-agent` already registered Xiaomi (verified at `hermes_cli/models.py:782` + auth entries) but `api/config.py` was missing the corresponding `_PROVIDER_DISPLAY` / `_PROVIDER_ALIASES` / `_PROVIDER_MODELS` entries, so the provider list showed Xiaomi as `Unsupported` and the model dropdown fell back to OpenRouter. Adds `xiaomi` display name, `mimo`/`xiaomi-mimo` aliases, and 5 MiMo models (V2.5 Pro/V2.5/V2 Pro/V2 Omni/V2 Flash). + +### i18n + +- **PR #2002** by @eov128 — Refreshed Simplified Chinese (zh) translation. Two kinds of changes: + - Decoded `\uXXXX` escape sequences to literal CJK characters in already-translated strings (semantically identical at runtime; improves source readability and grep-ability) + - Translated 30+ previously-untranslated strings tagged `// TODO: translate` — covering MCP server status (`mcp_status_active`, `mcp_status_configured`, ...), MCP tools panel, session toolsets, workspace hidden files, terminal pane, and personality switch hint + + **Stage 330 conflict resolution:** #1998 added new `goal_*` English keys interleaved with the `cmd_interrupt` block that #2002 was rewriting; resolved by preserving #1998's new English keys (TODO: translate) above the section while taking #2002's CJK literals for `cmd_*` / `settings_*` keys. + + **Stage 330 test fix:** `tests/test_chinese_locale.py::test_chinese_locale_includes_representative_translations` was pinned to the source-encoded `\uXXXX` form for `settings_title` and `login_title`. Broadened to accept either `\uXXXX` or literal CJK (same runtime behavior). Other source-form assertions in this test were already on literal CJK. + +### Tests + +5049 → **5049 collected, 5049 passing, 0 regressions** (one PR added new tests in `test_kanban_ui_static.py` already counted in stage 329; stage 330 net is flat). Full suite 158s on Python 3.11 with `HERMES_HOME` isolation. + +### Notes + +- `api/streaming.py` was the high-collision file (4 PRs touched it: #1998 #2000 #2001 #2006-not-in-this-stage). Stage merge clean; #2000 and #2001 each added separate ~17-LOC blocks at distinct anchor points, no overlap. +- All 6 PRs from 6 different authors except for #1998+#2001 (both @franksong2702). Disjoint themes. + ## [v0.51.34] — 2026-05-09 — Release J (kanban edit/dispatch + zh-Hant kanban i18n) ### Added From dc522ad0c03b2e4f6fffe9c6a4274dae83551169 Mon Sep 17 00:00:00 2001 From: nesquena-hermes Date: Sun, 10 May 2026 17:31:34 +0000 Subject: [PATCH 178/298] chore: CHANGELOG for v0.51.37 (stage-331) --- CHANGELOG.md | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6f60fbcd15..b80d1d5703 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,32 @@ # Hermes Web UI -- Changelog +## [v0.51.37] — 2026-05-10 — Release M (compression / lineage backend) + +### Fixed + +- **PR #2004** by @franksong2702 — Persisted compression boundary summary for reload UI. Both manual `/session/compress` and auto-compression paths now persist `compression_anchor_summary`, `compression_anchor_visible_idx`, and `compression_anchor_message_key` so the compression card renders correctly after a page reload. Closes #1833. + +- **PR #2006** by @qxxaa — Stamp profile on continuation session after context compression. In multi-profile deployments, memory writes after auto-compression silently targeted the **default profile's** `MEMORY.md`, regardless of which profile the browser session was using. Root cause: the compression migration block in `_periodic_checkpoint` did not carry `s.profile` across to the continuation session, so subsequent requests fell back to the default profile's `HERMES_HOME`. Fix resolves the profile name from `s.profile` (or `get_active_profile_name()` while TLS still holds) at streaming-thread start, then stamps `s.profile = _resolved_profile_name` on the continuation session. Verified evidence: session `0dfefb` had read the wrong profile's `MEMORY.md` (16% / 4 entries) instead of the troubleshooting profile's bank (72-77% / 5000+ chars). + +- **PR #2011** by @ai-ag2026 — Sidebar lineage collapse: prefer the latest compressed segment when a parent row is touched. Previously the sidebar collapse helper picked representatives by timestamp only, which could surface a touched-parent row instead of the newer compressed tip. Now keys on `_compression_segment_count` so the highest-count segment wins. Regression test added. + +- **PR #2014** by @ai-ag2026 — Keep explicit `/api/session/branch` forks out of compression-lineage collapse. Forked sessions now mark `session_source="fork"` on creation, and the sidebar lineage helper guards against folding fork rows into the compression-collapse path even when the parent isn't currently in the rendered window. Backend marker test + sidebar guard test added. + +- **PR #2015** by @Jellypowered — Stitch continuation-lineage transcripts in WebUI. Sessions split by continuation events (compression boundary, CLI-close) could show only the latest segment in the WebUI message history. `get_cli_session_messages()` now walks the valid continuation lineage and stitches messages across sessions so the full conversation is visible. + +### Added + +- **PR #2012** by @dso2ng — New read-only `/api/session/lineage-report/` endpoint exposing a bounded JSON diagnostic of a session's compression/branching lineage. Pure backend probe — no client UI changes. The sidebar lineage UI (#1906/#1943) already covers user-facing affordances; this fills the bounded backend probe gap for CLI/scripting use. + +### Tests + +5049 → **5058 collected, 5058 passing, 0 regressions** (+9 net new across `test_session_lineage_collapse.py`, `test_session_lineage_full_transcript.py`, `test_session_lineage_report.py`, `test_465_session_branching.py`, `test_auto_compression_card.py`, `test_sprint46.py`). Full suite 157s on Python 3.11 with `HERMES_HOME` isolation. + +### Notes + +- `api/routes.py` (4 PRs touched it) and `api/streaming.py` (2 PRs) were the multi-PR files. All hunks at distinct anchors; stage merge clean with no conflicts. +- Theme coherence: every PR in this batch addresses session compression, lineage, or continuation-stitching — the same conceptual surface from different angles. + ## [v0.51.34] — 2026-05-09 — Release J (kanban edit/dispatch + zh-Hant kanban i18n) ### Added From 024cd87580ded5df52971662315b1bc1eb8b43de Mon Sep 17 00:00:00 2001 From: nesquena-hermes Date: Sun, 10 May 2026 17:31:37 +0000 Subject: [PATCH 179/298] chore: CHANGELOG for v0.51.38 (stage-332) --- CHANGELOG.md | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3515237107..701d0cd049 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,21 @@ # Hermes Web UI -- Changelog +## [v0.51.38] — 2026-05-10 — Release N (UI polish — toast + mobile + diff renderer + sidebar) + +### Fixed + +- **PR #1988** by @Michaelyklam — Auto-compression toast lifetime increased so the user sees the boundary summary long enough to register what happened. Auto-compression rewrites session context, so its completion toast carries more trust weight than a generic "settings saved" notification. Per #1834 Option A — the smallest safe slice. Adds regression coverage. + +- **PR #2007** by @insecurejezza — Wrap markdown code blocks on mobile instead of forcing horizontal scrolling. Desktop behavior unchanged. Includes Prism token spans, preview markdown, and diff line spans in the mobile wrapping rules. Regression coverage in `test_mobile_markdown_wrapping.py`. + +- **PR #2008** by @franksong2702 — CLI session patch diff rendering. Historical CLI sessions that predate session-level `tool_calls` reconstruct tool cards from per-message metadata in `static/ui.js`; that fallback truncated tool results to 200 chars and only showed the first 120 chars of tool arguments, so `apply_patch`/edit diffs recorded with `verbosity=all` could disappear behind a generic `Success` result. The renderer now preserves diff-like tool outputs, promotes `apply_patch`/edit payloads into the tool-card snippet when the result is non-diff, and labels long diff expanders as `Show diff`. 245-line regression test (`test_issue1824_cli_patch_diff_rendering.py`) covers both the API payload preservation and the renderer fallback. Closes #1824. + +- **PR #2013** by @ai-ag2026 — Avoid sidebar jumps when the active session is already visible. Previously the virtualized session sidebar always re-anchored on the active row, which produced a jump even when the row was inside the current window. Now only re-anchors when the active row is outside the rendered window. Regression coverage in `test_issue500_session_list_virtualization.py`. + +### Tests + +5049 → **5057 collected, 5057 passing, 0 regressions** (+8 net new). Full suite 154s on Python 3.11 with `HERMES_HOME` isolation. + ## [v0.51.34] — 2026-05-09 — Release J (kanban edit/dispatch + zh-Hant kanban i18n) ### Added @@ -45,12 +61,6 @@ Three nice-to-have polish items called out by Opus that don't block this release - **Profile-cache invalidation hook** for `_kanbanProfileNamesCache` so profile create/delete from elsewhere in the WebUI propagates without a reload. Current behavior is graceful degradation (orphaned-profile assignee → dispatcher logs `skipped_nonspawnable`, user can re-edit). - **Status-display hint** near the modal status `
    ${esc(t('cron_schedule_hint') || "Cron expression or shorthand like 'every 1h'.")}
    +
    @@ -759,6 +780,12 @@ function _renderCronForm({ name, schedule, prompt, deliver, profile, no_agent=fa if (empty) empty.style.display = 'none'; _setCronHeaderButtons(isEdit ? 'edit' : 'create'); _renderCronSkillTags(); + const scheduleEl = $('cronFormSchedule'); + if (scheduleEl) { + scheduleEl.addEventListener('input', _syncCronScheduleWarning); + scheduleEl.addEventListener('change', _syncCronScheduleWarning); + _syncCronScheduleWarning(); + } const focusEl = $('cronFormName'); if (focusEl) focusEl.focus(); } diff --git a/static/style.css b/static/style.css index 2e438f37a8..b1ce49854d 100644 --- a/static/style.css +++ b/static/style.css @@ -3216,6 +3216,8 @@ main.main > .main-view:not([id="mainChat"]):not([id="mainSettings"]) .main-view- .detail-form-row input:disabled{opacity:.6;cursor:not-allowed;} .detail-form-row textarea{resize:vertical;font-family:'SF Mono',ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;} .detail-form-row .detail-form-hint{font-size:11px;color:var(--muted);line-height:1.5;} +.detail-form-warning{font-size:11px;line-height:1.5;border:1px solid rgba(245,158,11,.35);background:rgba(245,158,11,.1);color:rgba(245,158,11,.98);border-radius:8px;padding:8px 10px;} +.cron-once-warning{margin-top:2px;} .detail-form-row label.detail-form-check{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text);cursor:pointer;font-weight:400;} .detail-form-row label.detail-form-check input{accent-color:var(--accent,var(--link));} .detail-form-error{font-size:12px;color:var(--error,#e05);padding:8px 10px;border:1px solid color-mix(in srgb,var(--error,#e05) 35%,transparent);background:color-mix(in srgb,var(--error,#e05) 8%,transparent);border-radius:8px;line-height:1.5;} diff --git a/tests/test_issue2031_cron_once_visibility.py b/tests/test_issue2031_cron_once_visibility.py new file mode 100644 index 0000000000..9bc00aeafd --- /dev/null +++ b/tests/test_issue2031_cron_once_visibility.py @@ -0,0 +1,82 @@ +"""Regression coverage for #2031 one-shot cron schedule visibility.""" + +import json +import shutil +import subprocess +from pathlib import Path + +import pytest + + +ROOT = Path(__file__).resolve().parent.parent +PANELS_JS = ROOT / "static" / "panels.js" +STYLE_CSS = ROOT / "static" / "style.css" +I18N_JS = ROOT / "static" / "i18n.js" +NODE = shutil.which("node") + +pytestmark = pytest.mark.skipif(NODE is None, reason="node not on PATH") + + +def _cron_schedule_source() -> str: + src = PANELS_JS.read_text(encoding="utf-8") + start = src.find("function _cronScheduleKindForInput") + if start < 0: + pytest.fail("_cronScheduleKindForInput is missing") + end = src.find("function _hasUnlimitedRepeat", start) + if end < 0: + pytest.fail("_cronScheduleKindForInput must stay near the cron schedule helpers") + return src[start:end] + + +def _run_node(script: str) -> str: + proc = subprocess.run( + [NODE, "-e", script], + check=True, + capture_output=True, + text=True, + ) + return proc.stdout.strip() + + +def test_cron_schedule_input_classifier_flags_agent_one_shot_forms(): + script = _cron_schedule_source() + r""" +const cases = { + "30m": _cronScheduleKindForInput("30m"), + "2h": _cronScheduleKindForInput("2h"), + "1 day": _cronScheduleKindForInput("1 day"), + "2026-05-11": _cronScheduleKindForInput("2026-05-11"), + "2026-05-11T08:00": _cronScheduleKindForInput("2026-05-11T08:00"), + "every 30m": _cronScheduleKindForInput("every 30m"), + "Every 2h": _cronScheduleKindForInput("Every 2h"), + "0 9 * * *": _cronScheduleKindForInput("0 9 * * *"), + "not_a_schedule": _cronScheduleKindForInput("not_a_schedule"), +}; +console.log(JSON.stringify(cases)); +""" + kinds = json.loads(_run_node(script)) + + assert kinds["30m"] == "once" + assert kinds["2h"] == "once" + assert kinds["1 day"] == "once" + assert kinds["2026-05-11"] == "once" + assert kinds["2026-05-11T08:00"] == "once" + assert kinds["every 30m"] == "interval" + assert kinds["Every 2h"] == "interval" + assert kinds["0 9 * * *"] == "cron" + assert kinds["not_a_schedule"] == "" + + +def test_cron_form_surfaces_one_shot_warning_copy_and_styles(): + panels = PANELS_JS.read_text(encoding="utf-8") + style = STYLE_CSS.read_text(encoding="utf-8") + i18n = I18N_JS.read_text(encoding="utf-8") + + assert "id=\"cronFormScheduleOnceWarning\"" in panels + assert "cron_schedule_once_warning" in panels + assert "_syncCronScheduleWarning" in panels + assert "addEventListener('input', _syncCronScheduleWarning" in panels + assert "addEventListener('change', _syncCronScheduleWarning" in panels + + assert ".cron-once-warning" in style + assert i18n.count("cron_schedule_once_warning") >= 9 + assert "Duration forms like '30m' run once" in i18n From 128e734df4f93d1c9b4229e92a91b67c55cc39d3 Mon Sep 17 00:00:00 2001 From: Frank Song Date: Mon, 11 May 2026 07:33:52 +0800 Subject: [PATCH 185/298] Fix Xiaomi API key env detection --- CHANGELOG.md | 6 ++ README.md | 2 +- api/config.py | 3 + api/onboarding.py | 9 +++ api/providers.py | 1 + tests/conftest.py | 2 +- tests/test_issue1094_provider_bugs.py | 2 +- ...test_issue1240_generic_cli_catalog_sync.py | 1 + ...est_issue1420_lmstudio_provider_env_var.py | 2 +- tests/test_issue1538_nous_live_catalog.py | 1 + ...e1567_nous_picker_capacity_and_symmetry.py | 1 + ...est_issue1568_duplicate_provider_groups.py | 1 + tests/test_issue2025_xiaomi_env_key.py | 68 +++++++++++++++++++ 13 files changed, 95 insertions(+), 4 deletions(-) create mode 100644 tests/test_issue2025_xiaomi_env_key.py diff --git a/CHANGELOG.md b/CHANGELOG.md index c75a2334ba..f8cd873fc7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,11 @@ # Hermes Web UI -- Changelog +## [Unreleased] + +### Fixed + +- **fix(providers): detect Xiaomi MiMo from `XIAOMI_API_KEY`** ([#2025](https://github.com/nesquena/hermes-webui/issues/2025)). WebUI now treats Xiaomi like the other API-key providers: exported or `.env`-stored `XIAOMI_API_KEY` enables the Xiaomi model group, Settings provider-key detection, and onboarding help text without requiring a manual provider config entry. + ## [v0.51.39] — 2026-05-10 — Release O (4-PR contributor batch — Railway docker fix + Stop-button race + provider resolver + live context tracking) ### Fixed diff --git a/README.md b/README.md index 5fa41870c8..951ec728dc 100644 --- a/README.md +++ b/README.md @@ -375,7 +375,7 @@ across 100+ test files. ### Chat and agent - Streaming responses via SSE (tokens appear as they are generated) -- Multi-provider model support -- any Hermes API provider (OpenAI, Anthropic, Google, DeepSeek, Nous Portal, OpenRouter, MiniMax, Z.AI); dynamic model dropdown populated from configured keys +- Multi-provider model support -- any Hermes API provider (OpenAI, Anthropic, Google, DeepSeek, Nous Portal, OpenRouter, MiniMax, Xiaomi MiMo, Z.AI); dynamic model dropdown populated from configured keys - Send a message while one is processing -- it queues automatically - Edit any past user message inline and regenerate from that point - Retry the last assistant response with one click diff --git a/api/config.py b/api/config.py index 5a592dea22..906d1fcd0c 100644 --- a/api/config.py +++ b/api/config.py @@ -2760,6 +2760,7 @@ def _build_configured_model_badges() -> dict[str, dict[str, str]]: "GLM_API_KEY", "KIMI_API_KEY", "DEEPSEEK_API_KEY", + "XIAOMI_API_KEY", "OPENCODE_ZEN_API_KEY", "OPENCODE_GO_API_KEY", "MINIMAX_API_KEY", @@ -2795,6 +2796,8 @@ def _build_configured_model_badges() -> dict[str, dict[str, str]]: detected_providers.add("minimax-cn") if all_env.get("DEEPSEEK_API_KEY"): detected_providers.add("deepseek") + if all_env.get("XIAOMI_API_KEY"): + detected_providers.add("xiaomi") if all_env.get("XAI_API_KEY"): detected_providers.add("x-ai") if all_env.get("MISTRAL_API_KEY"): diff --git a/api/onboarding.py b/api/onboarding.py index 84da3ca65a..806e4856d8 100644 --- a/api/onboarding.py +++ b/api/onboarding.py @@ -139,6 +139,15 @@ "models": list(_PROVIDER_MODELS.get("deepseek", [])), "category": "specialized", }, + "xiaomi": { + "label": "Xiaomi MiMo", + "env_var": "XIAOMI_API_KEY", + "default_model": "mimo-v2.5-pro", + "default_base_url": "https://api.xiaomimimo.com/v1", + "requires_base_url": False, + "models": list(_PROVIDER_MODELS.get("xiaomi", [])), + "category": "specialized", + }, "zai": { "label": "Z.AI / GLM (智谱)", "env_var": "GLM_API_KEY", diff --git a/api/providers.py b/api/providers.py index 495325f808..07cfe2f359 100644 --- a/api/providers.py +++ b/api/providers.py @@ -102,6 +102,7 @@ def _snapshot_payload(snapshot): "minimax-cn": "MINIMAX_CN_API_KEY", "mistralai": "MISTRAL_API_KEY", "x-ai": "XAI_API_KEY", + "xiaomi": "XIAOMI_API_KEY", "opencode-zen": "OPENCODE_ZEN_API_KEY", "opencode-go": "OPENCODE_GO_API_KEY", # NOTE: bare "ollama" (local) deliberately omitted — local Ollama is keyless diff --git a/tests/conftest.py b/tests/conftest.py index b1a095809c..f8b6eca57e 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -291,7 +291,7 @@ def test_server(): for _k in list(env): if any(_k.startswith(p) for p in ( 'OPENROUTER_API_KEY', 'OPENAI_API_KEY', 'ANTHROPIC_API_KEY', - 'GOOGLE_API_KEY', 'DEEPSEEK_API_KEY', + 'GOOGLE_API_KEY', 'DEEPSEEK_API_KEY', 'XIAOMI_API_KEY', )): del env[_k] env.update({ diff --git a/tests/test_issue1094_provider_bugs.py b/tests/test_issue1094_provider_bugs.py index edd17e8595..6c37799ee4 100644 --- a/tests/test_issue1094_provider_bugs.py +++ b/tests/test_issue1094_provider_bugs.py @@ -85,7 +85,7 @@ def _setup_clean_config(monkeypatch, tmp_path): "OPENROUTER_API_KEY", "ANTHROPIC_API_KEY", "OPENAI_API_KEY", "GOOGLE_API_KEY", "GEMINI_API_KEY", "GLM_API_KEY", "KIMI_API_KEY", "DEEPSEEK_API_KEY", "MINIMAX_API_KEY", - "MISTRAL_API_KEY", "XAI_API_KEY", "OLLAMA_API_KEY", + "XIAOMI_API_KEY", "MISTRAL_API_KEY", "XAI_API_KEY", "OLLAMA_API_KEY", "OPENCODE_ZEN_API_KEY", "OPENCODE_GO_API_KEY", ] for var in _provider_env_vars: diff --git a/tests/test_issue1240_generic_cli_catalog_sync.py b/tests/test_issue1240_generic_cli_catalog_sync.py index d0ba5dd086..0f59de5229 100644 --- a/tests/test_issue1240_generic_cli_catalog_sync.py +++ b/tests/test_issue1240_generic_cli_catalog_sync.py @@ -22,6 +22,7 @@ "GLM_API_KEY", "KIMI_API_KEY", "DEEPSEEK_API_KEY", + "XIAOMI_API_KEY", "OPENCODE_ZEN_API_KEY", "OPENCODE_GO_API_KEY", "MINIMAX_API_KEY", diff --git a/tests/test_issue1420_lmstudio_provider_env_var.py b/tests/test_issue1420_lmstudio_provider_env_var.py index 1143da8056..6db74a2a22 100644 --- a/tests/test_issue1420_lmstudio_provider_env_var.py +++ b/tests/test_issue1420_lmstudio_provider_env_var.py @@ -243,7 +243,7 @@ def test_lmstudio_does_not_collide_with_other_providers(self, monkeypatch, tmp_p "OPENAI_API_KEY", "OPENROUTER_API_KEY", "ANTHROPIC_API_KEY", "GH_TOKEN", "GITHUB_TOKEN", "OLLAMA_API_KEY", "GOOGLE_API_KEY", "GEMINI_API_KEY", "DEEPSEEK_API_KEY", "MINIMAX_API_KEY", - "MINIMAX_CN_API_KEY", "MISTRAL_API_KEY", "XAI_API_KEY", + "MINIMAX_CN_API_KEY", "XIAOMI_API_KEY", "MISTRAL_API_KEY", "XAI_API_KEY", "GLM_API_KEY", "KIMI_API_KEY", "OPENCODE_ZEN_API_KEY", "OPENCODE_GO_API_KEY", "NVIDIA_API_KEY", "LMSTUDIO_API_KEY", ): diff --git a/tests/test_issue1538_nous_live_catalog.py b/tests/test_issue1538_nous_live_catalog.py index 4a9ddb0375..9e718a9a66 100644 --- a/tests/test_issue1538_nous_live_catalog.py +++ b/tests/test_issue1538_nous_live_catalog.py @@ -126,6 +126,7 @@ def _scrub_provider_env(monkeypatch): "OLLAMA_CLOUD_API_KEY", "OLLAMA_API_KEY", "GLM_API_KEY", "KIMI_API_KEY", "MOONSHOT_API_KEY", "MINIMAX_API_KEY", "MINIMAX_CN_API_KEY", + "XIAOMI_API_KEY", "OPENCODE_ZEN_API_KEY", "OPENCODE_GO_API_KEY", "NOUS_API_KEY", "NVIDIA_API_KEY", "LM_API_KEY", "LMSTUDIO_API_KEY", ): diff --git a/tests/test_issue1567_nous_picker_capacity_and_symmetry.py b/tests/test_issue1567_nous_picker_capacity_and_symmetry.py index 75a0914460..c04f28f1e7 100644 --- a/tests/test_issue1567_nous_picker_capacity_and_symmetry.py +++ b/tests/test_issue1567_nous_picker_capacity_and_symmetry.py @@ -127,6 +127,7 @@ def _scrub_provider_env(monkeypatch): "OLLAMA_CLOUD_API_KEY", "OLLAMA_API_KEY", "GLM_API_KEY", "KIMI_API_KEY", "MOONSHOT_API_KEY", "MINIMAX_API_KEY", "MINIMAX_CN_API_KEY", + "XIAOMI_API_KEY", "OPENCODE_ZEN_API_KEY", "OPENCODE_GO_API_KEY", "NOUS_API_KEY", "NVIDIA_API_KEY", "LM_API_KEY", "LMSTUDIO_API_KEY", ): diff --git a/tests/test_issue1568_duplicate_provider_groups.py b/tests/test_issue1568_duplicate_provider_groups.py index 70e5938a66..911ba6443b 100644 --- a/tests/test_issue1568_duplicate_provider_groups.py +++ b/tests/test_issue1568_duplicate_provider_groups.py @@ -85,6 +85,7 @@ def _scrub_provider_env(monkeypatch): "OLLAMA_CLOUD_API_KEY", "OLLAMA_API_KEY", "GLM_API_KEY", "KIMI_API_KEY", "MOONSHOT_API_KEY", "MINIMAX_API_KEY", "MINIMAX_CN_API_KEY", + "XIAOMI_API_KEY", "OPENCODE_ZEN_API_KEY", "OPENCODE_GO_API_KEY", "NOUS_API_KEY", "NVIDIA_API_KEY", "LM_API_KEY", "LMSTUDIO_API_KEY", ): diff --git a/tests/test_issue2025_xiaomi_env_key.py b/tests/test_issue2025_xiaomi_env_key.py new file mode 100644 index 0000000000..4c3cbebe15 --- /dev/null +++ b/tests/test_issue2025_xiaomi_env_key.py @@ -0,0 +1,68 @@ +"""Regression coverage for #2025: Xiaomi MiMo should honor XIAOMI_API_KEY.""" + +from __future__ import annotations + +import builtins + +import api.config as config +import api.onboarding as onboarding +import api.providers as providers + + +def _force_env_fallback(monkeypatch): + """Force get_available_models() down its explicit env-var fallback path.""" + real_import = builtins.__import__ + + def fake_import(name, globals=None, locals=None, fromlist=(), level=0): + if name in ("hermes_cli.models", "hermes_cli.auth"): + raise ImportError(name) + return real_import(name, globals, locals, fromlist, level) + + monkeypatch.setattr(builtins, "__import__", fake_import) + + +def _run_available_models_with_cfg(monkeypatch, tmp_path, cfg): + old_cfg = dict(config.cfg) + old_mtime = config._cfg_mtime + monkeypatch.setattr(config, "_models_cache_path", tmp_path / "models_cache.json") + monkeypatch.setattr(config, "_get_config_path", lambda: tmp_path / "missing-config.yaml") + monkeypatch.setattr("api.profiles.get_active_hermes_home", lambda: tmp_path, raising=False) + config.cfg.clear() + config.cfg.update(cfg) + config._cfg_mtime = 0.0 + config.invalidate_models_cache() + try: + return config.get_available_models() + finally: + config.cfg.clear() + config.cfg.update(old_cfg) + config._cfg_mtime = old_mtime + config.invalidate_models_cache() + + +def test_xiaomi_api_key_env_var_detects_model_group(monkeypatch, tmp_path): + _force_env_fallback(monkeypatch) + monkeypatch.setenv("XIAOMI_API_KEY", "test-xiaomi-key") + + result = _run_available_models_with_cfg(monkeypatch, tmp_path, {"model": {}}) + groups = {group["provider_id"]: group for group in result["groups"]} + + assert "xiaomi" in groups + assert groups["xiaomi"]["provider"] == "Xiaomi" + assert "mimo-v2.5-pro" in {model["id"] for model in groups["xiaomi"]["models"]} + + +def test_xiaomi_provider_settings_detects_env_key(monkeypatch, tmp_path): + monkeypatch.setattr(providers, "_get_hermes_home", lambda: tmp_path) + monkeypatch.setenv("XIAOMI_API_KEY", "test-xiaomi-key") + + assert providers._PROVIDER_ENV_VAR["xiaomi"] == "XIAOMI_API_KEY" + assert providers._provider_has_key("xiaomi") is True + + +def test_onboarding_lists_xiaomi_api_key_help(): + setup = onboarding._SUPPORTED_PROVIDER_SETUPS["xiaomi"] + + assert setup["env_var"] == "XIAOMI_API_KEY" + assert setup["default_base_url"] == "https://api.xiaomimimo.com/v1" + assert {model["id"] for model in setup["models"]} >= {"mimo-v2.5-pro"} From 663817570cecfe5fdefa422cd047caf00cae22d9 Mon Sep 17 00:00:00 2001 From: ai-ag2026 <261867348+ai-ag2026@users.noreply.github.com> Date: Mon, 11 May 2026 02:03:37 +0200 Subject: [PATCH 186/298] fix: recover orphaned session backups on startup --- api/routes.py | 1 + api/session_recovery.py | 92 ++++++++++++++++++++++++--- server.py | 7 +- tests/test_metadata_save_wipe_1558.py | 65 +++++++++++++++++++ tests/test_regressions.py | 13 ++++ 5 files changed, 167 insertions(+), 11 deletions(-) diff --git a/api/routes.py b/api/routes.py index 33567d0dbb..015b37b6b1 100644 --- a/api/routes.py +++ b/api/routes.py @@ -4147,6 +4147,7 @@ def handle_post(handler, parsed) -> bool: return bad(handler, "Invalid session_id", 400) try: p.unlink(missing_ok=True) + p.with_suffix('.json.bak').unlink(missing_ok=True) except Exception: logger.debug("Failed to unlink session file %s", p) # Prune the per-session agent lock so deleted sessions don't leak diff --git a/api/session_recovery.py b/api/session_recovery.py index 9ae6d2543d..86fc16ac1d 100644 --- a/api/session_recovery.py +++ b/api/session_recovery.py @@ -5,13 +5,16 @@ ``Session.save()`` writes a ``.json.bak`` snapshot of the previous state whenever an incoming save would shrink the messages array. This module reads those snapshots back and restores any session whose live -file has fewer messages than its backup. +file has fewer messages than its backup, or whose live file is missing +while a valid backup remains. Three integration points: 1. ``recover_all_sessions_on_startup()`` — called from server.py at boot, scans the session dir, restores any session whose JSON has fewer - messages than its .bak. Idempotent: a clean run is a no-op. + messages than its .bak, and recreates a missing ``.json`` from an + orphaned ``.json.bak`` when the canonical state DB still has that + session. Idempotent: a clean run is a no-op. 2. ``recover_session(sid)`` — single-session helper backing the ``POST /api/session/recover`` endpoint, so users can re-run recovery @@ -25,6 +28,7 @@ import json import logging import shutil +import sqlite3 from pathlib import Path logger = logging.getLogger(__name__) @@ -117,24 +121,81 @@ def recover_session(session_path: Path) -> dict: return {**status, "restored": True} -def recover_all_sessions_on_startup(session_dir: Path) -> dict: - """Scan session_dir for shrunken sessions, restore each from its .bak. +def _state_db_has_session(session_id: str, state_db_path: Path | None) -> bool: + """Return whether state.db still knows this session. - Returns {"scanned": N, "restored": M, "details": [...]}. + The check is deliberately fail-open: recovery must not be prevented by a + locked, absent, or older-schema state DB. When a DB is readable and has no + row, treat the orphan backup as a tombstoned/deleted session and skip it. + """ + if state_db_path is None or not state_db_path.exists(): + return True + try: + with sqlite3.connect(f"file:{state_db_path}?mode=ro", uri=True) as conn: + cur = conn.execute( + "select 1 from sqlite_master where type='table' and name='sessions'" + ) + if cur.fetchone() is None: + return True + cur = conn.execute("select 1 from sessions where id = ? limit 1", (session_id,)) + return cur.fetchone() is not None + except Exception as exc: + logger.debug("state_db session tombstone check failed for %s: %s", session_id, exc) + return True + + +def _orphaned_backup_live_paths( + session_dir: Path, + state_db_path: Path | None = None, +) -> list[Path]: + """Return live ``.json`` paths whose ``.json.bak`` exists. + + ``Path.glob('*.json')`` does not see orphan backups because their suffix is + ``.bak``. Existing startup recovery only handled shrunken live files; this + helper covers the crash shape where the live sidecar is gone but the rescue + copy remains. + """ + paths: list[Path] = [] + for bak_path in sorted(session_dir.glob('*.json.bak')): + live_path = bak_path.with_suffix('') + if live_path.name.startswith('_') or live_path.exists(): + continue + if _msg_count(bak_path) < 0: + continue + session_id = live_path.stem + if not _state_db_has_session(session_id, state_db_path): + logger.info( + "recover_all_sessions_on_startup: skipped orphan backup %s; " + "state.db has no live session row", + bak_path.name, + ) + continue + paths.append(live_path) + return paths + + +def recover_all_sessions_on_startup( + session_dir: Path, + rebuild_index: bool = False, + state_db_path: Path | None = None, +) -> dict: + """Scan session_dir for shrunken/orphaned sessions and restore from .bak. + + Returns {"scanned": N, "restored": M, "orphaned_backups": K, "details": [...]}. """ if not session_dir.exists(): - return {"scanned": 0, "restored": 0, "details": []} + return {"scanned": 0, "restored": 0, "orphaned_backups": 0, "details": []} scanned = 0 restored = 0 details: list[dict] = [] - for path in session_dir.glob('*.json'): + live_paths = [path for path in sorted(session_dir.glob('*.json')) if not path.name.startswith('_')] + orphan_paths = _orphaned_backup_live_paths(session_dir, state_db_path=state_db_path) + for path in [*live_paths, *orphan_paths]: # Skip non-session JSON files in the same dir: # - ``_index.json`` is a top-level list of session metadata # - any future non-session JSON marked with the ``_`` convention is # skipped automatically (project convention for system files in # directories that otherwise hold user data) - if path.name.startswith('_'): - continue scanned += 1 try: result = recover_session(path) @@ -155,4 +216,15 @@ def recover_all_sessions_on_startup(session_dir: Path) -> dict: "If you weren't expecting this, check the session list for missing " "messages — see #1558.", restored, scanned, ) - return {"scanned": scanned, "restored": restored, "details": details} + if rebuild_index: + try: + from api.models import _write_session_index + _write_session_index(updates=None) + except Exception as exc: + logger.warning("recover_all_sessions_on_startup: index rebuild failed: %s", exc) + return { + "scanned": scanned, + "restored": restored, + "orphaned_backups": len(orphan_paths), + "details": details, + } diff --git a/server.py b/server.py index 7e1563ac08..bbaf1cb88f 100644 --- a/server.py +++ b/server.py @@ -220,8 +220,13 @@ def main() -> None: # its .bak (the data-loss shape #1558 produced), restore from the .bak. # Safe to run unconditionally — a clean install is a no-op. try: + from api.models import _active_state_db_path from api.session_recovery import recover_all_sessions_on_startup - result = recover_all_sessions_on_startup(SESSION_DIR) + result = recover_all_sessions_on_startup( + SESSION_DIR, + rebuild_index=True, + state_db_path=_active_state_db_path(), + ) if result.get("restored"): print(f"[recovery] Restored {result['restored']}/{result['scanned']} sessions from .bak (see #1558).", flush=True) except Exception as exc: diff --git a/tests/test_metadata_save_wipe_1558.py b/tests/test_metadata_save_wipe_1558.py index 3cb5153d21..ce1b76cce2 100644 --- a/tests/test_metadata_save_wipe_1558.py +++ b/tests/test_metadata_save_wipe_1558.py @@ -204,6 +204,71 @@ def test_recover_all_sessions_on_startup_restores_shrunken_session(temp_session_ assert len(restored["messages"]) == 1000 +def test_recover_all_sessions_on_startup_restores_orphan_bak(temp_session_dir): + """Startup self-heal: if only .json.bak survived, recreate .json.""" + sid = _make_session_on_disk(temp_session_dir, n_msgs=293) + live_path = temp_session_dir / f"{sid}.json" + bak_path = temp_session_dir / f"{sid}.json.bak" + bak_path.write_text(live_path.read_text(encoding="utf-8"), encoding="utf-8") + live_path.unlink() + + from api.session_recovery import recover_all_sessions_on_startup + result = recover_all_sessions_on_startup(temp_session_dir) + + assert result["restored"] == 1 + assert result["scanned"] == 1 + assert result.get("orphaned_backups") == 1 + restored = json.loads(live_path.read_text(encoding="utf-8")) + assert len(restored["messages"]) == 293 + + +def test_recover_all_sessions_on_startup_rebuilds_index_after_orphan_restore(temp_session_dir, monkeypatch): + """A restored orphan must be visible through the WebUI session index immediately.""" + import api.models as _m + + sid = _make_session_on_disk(temp_session_dir, n_msgs=42) + live_path = temp_session_dir / f"{sid}.json" + bak_path = temp_session_dir / f"{sid}.json.bak" + bak_path.write_text(live_path.read_text(encoding="utf-8"), encoding="utf-8") + live_path.unlink() + + stale_index = temp_session_dir / "_index.json" + stale_index.write_text(json.dumps([]), encoding="utf-8") + monkeypatch.setattr(_m, "SESSION_INDEX_FILE", stale_index) + + from api.session_recovery import recover_all_sessions_on_startup + result = recover_all_sessions_on_startup(temp_session_dir, rebuild_index=True) + + assert result["restored"] == 1 + index = json.loads(stale_index.read_text(encoding="utf-8")) + assert [entry["session_id"] for entry in index] == [sid] + assert index[0]["message_count"] == 42 + + +def test_orphan_bak_recovery_skips_sessions_absent_from_state_db(temp_session_dir): + """Do not resurrect an explicitly deleted session when state.db lacks the row.""" + import sqlite3 + + sid = _make_session_on_disk(temp_session_dir, n_msgs=12) + live_path = temp_session_dir / f"{sid}.json" + bak_path = temp_session_dir / f"{sid}.json.bak" + bak_path.write_text(live_path.read_text(encoding="utf-8"), encoding="utf-8") + live_path.unlink() + + state_db = temp_session_dir / "state.db" + with sqlite3.connect(state_db) as conn: + conn.execute("create table sessions (id text primary key)") + conn.execute("insert into sessions (id) values (?)", ("different_session",)) + + from api.session_recovery import recover_all_sessions_on_startup + result = recover_all_sessions_on_startup(temp_session_dir, state_db_path=state_db) + + assert result["restored"] == 0 + assert result["scanned"] == 0 + assert result["orphaned_backups"] == 0 + assert not live_path.exists() + + def test_recover_all_sessions_on_startup_is_idempotent_no_op_on_clean_state(temp_session_dir): """A clean install (no .bak files) must not modify anything.""" sid = _make_session_on_disk(temp_session_dir, n_msgs=1000) diff --git a/tests/test_regressions.py b/tests/test_regressions.py index 0022bcb947..068afdcf2a 100644 --- a/tests/test_regressions.py +++ b/tests/test_regressions.py @@ -335,6 +335,19 @@ def test_server_delete_invalidates_index(cleanup_test_sessions): return assert False, "session/delete handler not found in server.py or api/routes.py" + +def test_server_delete_removes_session_bak_snapshot(cleanup_test_sessions): + """session/delete must remove sidecar backups so deleted sessions stay deleted.""" + routes_src = (REPO_ROOT / "api" / "routes.py").read_text() + delete_idx = max( + routes_src.find("if parsed.path == '/api/session/delete':"), + routes_src.find('if parsed.path == "/api/session/delete":'), + ) + assert delete_idx >= 0, "session/delete handler not found in api/routes.py" + delete_block = routes_src[delete_idx:delete_idx+1400] + assert "with_suffix('.json.bak').unlink" in delete_block or 'with_suffix(".json.bak").unlink' in delete_block, \ + "session/delete must unlink .json.bak to avoid later orphan-backup recovery" + # ── R9: Token/tool SSE events write to wrong session after switch ───────────── def test_token_handler_guards_session_id(cleanup_test_sessions): From 7b6d91d490d71eea851f01fec297981805d9ffa7 Mon Sep 17 00:00:00 2001 From: ai-ag2026 <261867348+ai-ag2026@users.noreply.github.com> Date: Mon, 11 May 2026 02:06:43 +0200 Subject: [PATCH 187/298] feat: add read-only session recovery audit --- api/session_recovery.py | 132 +++++++++++++++++++++++++++ tests/test_session_recovery_audit.py | 100 ++++++++++++++++++++ 2 files changed, 232 insertions(+) create mode 100644 tests/test_session_recovery_audit.py diff --git a/api/session_recovery.py b/api/session_recovery.py index 86fc16ac1d..65e772a74a 100644 --- a/api/session_recovery.py +++ b/api/session_recovery.py @@ -25,6 +25,7 @@ """ from __future__ import annotations +import argparse import json import logging import shutil @@ -174,6 +175,120 @@ def _orphaned_backup_live_paths( return paths +def _new_audit_item( + session_id: str, + kind: str, + category: str, + recommendation: str, + live_messages: int = -1, + bak_messages: int = -1, +) -> dict: + return { + "session_id": session_id, + "kind": kind, + "category": category, + "recommendation": recommendation, + "live_messages": live_messages, + "bak_messages": bak_messages, + } + + +def _read_index_session_ids(index_path: Path) -> set[str]: + try: + data = json.loads(index_path.read_text(encoding='utf-8')) + except (OSError, json.JSONDecodeError, ValueError): + return set() + if not isinstance(data, list): + return set() + ids: set[str] = set() + for entry in data: + if isinstance(entry, dict) and isinstance(entry.get('session_id'), str): + ids.add(entry['session_id']) + return ids + + +def audit_session_recovery(session_dir: Path, state_db_path: Path | None = None) -> dict: + """Read-only audit of session recovery state. + + The audit intentionally does not mutate files. It classifies only the safe + recovery primitives this module knows how to perform: backup restores and + derived index rebuilds. Call ``recover_all_sessions_on_startup`` separately + for safe repairs. + """ + if not session_dir.exists(): + return { + "status": "ok", + "summary": {"ok": 0, "repairable": 0, "unsafe_to_repair": 0}, + "items": [], + } + + items: list[dict] = [] + live_paths = sorted(p for p in session_dir.glob('*.json') if not p.name.startswith('_')) + live_ids = {p.stem for p in live_paths} + + for live_path in live_paths: + status = inspect_session_recovery_status(live_path) + if status.get('recommend') == 'restore': + items.append(_new_audit_item( + status['session_id'], + "shrunken_live", + "repairable", + "restore_from_bak", + status.get('live_messages', -1), + status.get('bak_messages', -1), + )) + + for bak_path in sorted(session_dir.glob('*.json.bak')): + live_path = bak_path.with_suffix('') + if live_path.exists() or live_path.name.startswith('_'): + continue + bak_messages = _msg_count(bak_path) + session_id = live_path.stem + if bak_messages < 0: + items.append(_new_audit_item( + session_id, "malformed_orphan_backup", "unsafe_to_repair", "manual_review", -1, bak_messages + )) + elif _state_db_has_session(session_id, state_db_path): + items.append(_new_audit_item( + session_id, "orphan_backup", "repairable", "restore_from_bak", -1, bak_messages + )) + else: + items.append(_new_audit_item( + session_id, + "orphan_backup_without_state_row", + "unsafe_to_repair", + "manual_review", + -1, + bak_messages, + )) + + index_path = session_dir / '_index.json' + if index_path.exists(): + index_ids = _read_index_session_ids(index_path) + for session_id in sorted(index_ids - live_ids): + items.append(_new_audit_item( + session_id, "index_missing_file", "repairable", "rebuild_index" + )) + for session_id in sorted(live_ids - index_ids): + items.append(_new_audit_item( + session_id, "index_missing_entry", "repairable", "rebuild_index", + _msg_count(session_dir / f"{session_id}.json"), -1, + )) + + summary = {"ok": len(live_paths), "repairable": 0, "unsafe_to_repair": 0} + for item in items: + category = item.get('category') + if category in summary: + summary[category] += 1 + if summary["unsafe_to_repair"]: + overall = "needs_manual_review" + elif summary["repairable"]: + overall = "warn" + else: + overall = "ok" + return {"status": overall, "summary": summary, "items": items} + + def recover_all_sessions_on_startup( session_dir: Path, rebuild_index: bool = False, @@ -228,3 +343,20 @@ def recover_all_sessions_on_startup( "orphaned_backups": len(orphan_paths), "details": details, } + + +def _main() -> int: + parser = argparse.ArgumentParser(description="Audit Hermes WebUI session recovery state") + parser.add_argument("--audit", action="store_true", help="run a read-only recovery audit") + parser.add_argument("--session-dir", type=Path, required=True, help="path to WebUI sessions directory") + parser.add_argument("--state-db", type=Path, default=None, help="optional Hermes state.db path") + args = parser.parse_args() + if not args.audit: + parser.error("currently only --audit is supported") + report = audit_session_recovery(args.session_dir, state_db_path=args.state_db) + print(json.dumps(report, sort_keys=True)) + return 0 + + +if __name__ == "__main__": + raise SystemExit(_main()) diff --git a/tests/test_session_recovery_audit.py b/tests/test_session_recovery_audit.py new file mode 100644 index 0000000000..dc9ad49b2a --- /dev/null +++ b/tests/test_session_recovery_audit.py @@ -0,0 +1,100 @@ +import json +import sqlite3 +import subprocess +import sys +from pathlib import Path + +from api.session_recovery import audit_session_recovery + +REPO_ROOT = Path(__file__).resolve().parents[1] + + +def _write_session(session_dir, sid, messages=1): + path = session_dir / f"{sid}.json" + path.write_text( + json.dumps({"id": sid, "session_id": sid, "title": sid, "messages": [{"role": "user", "content": str(i)} for i in range(messages)]}), + encoding="utf-8", + ) + return path + + +def _state_db(session_dir, *session_ids): + db = session_dir / "state.db" + with sqlite3.connect(db) as conn: + conn.execute("create table sessions (id text primary key)") + conn.executemany("insert into sessions (id) values (?)", [(sid,) for sid in session_ids]) + return db + + +def test_audit_reports_repairable_orphan_backup_when_state_db_has_session(tmp_path): + sid = "abc123" + live = _write_session(tmp_path, sid, messages=3) + bak = tmp_path / f"{sid}.json.bak" + bak.write_text(live.read_text(encoding="utf-8"), encoding="utf-8") + live.unlink() + db = _state_db(tmp_path, sid) + + report = audit_session_recovery(tmp_path, state_db_path=db) + + assert report["status"] == "warn" + assert report["summary"]["repairable"] == 1 + assert report["items"] == [ + { + "session_id": sid, + "kind": "orphan_backup", + "category": "repairable", + "recommendation": "restore_from_bak", + "live_messages": -1, + "bak_messages": 3, + } + ] + + +def test_audit_marks_orphan_backup_without_state_row_unsafe(tmp_path): + sid = "abc123" + live = _write_session(tmp_path, sid, messages=2) + bak = tmp_path / f"{sid}.json.bak" + bak.write_text(live.read_text(encoding="utf-8"), encoding="utf-8") + live.unlink() + db = _state_db(tmp_path, "different") + + report = audit_session_recovery(tmp_path, state_db_path=db) + + assert report["status"] == "needs_manual_review" + assert report["summary"]["unsafe_to_repair"] == 1 + assert report["items"][0]["kind"] == "orphan_backup_without_state_row" + assert report["items"][0]["recommendation"] == "manual_review" + + +def test_audit_reports_index_drift(tmp_path): + sid = "abc123" + _write_session(tmp_path, sid, messages=1) + (tmp_path / "_index.json").write_text( + json.dumps([{"session_id": "missing", "message_count": 1}]), + encoding="utf-8", + ) + + report = audit_session_recovery(tmp_path) + kinds = {item["kind"] for item in report["items"]} + + assert "index_missing_file" in kinds + assert "index_missing_entry" in kinds + assert report["summary"]["repairable"] == 2 + + +def test_session_recovery_module_audit_cli_outputs_json(tmp_path): + sid = "abc123" + _write_session(tmp_path, sid, messages=1) + + result = subprocess.run( + [sys.executable, "-m", "api.session_recovery", "--audit", "--session-dir", str(tmp_path)], + cwd=str(REPO_ROOT), + text=True, + stdout=subprocess.PIPE, + stderr=subprocess.PIPE, + check=True, + ) + + payload = json.loads(result.stdout) + assert payload["status"] == "ok" + assert payload["summary"]["ok"] == 1 From e5dc58b700b443ca88429c47a5b961f4bc10b56c Mon Sep 17 00:00:00 2001 From: nesquena-hermes Date: Mon, 11 May 2026 00:09:50 +0000 Subject: [PATCH 188/298] docs: CHANGELOG v0.51.40 Release P --- CHANGELOG.md | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0f0d4e9b43..b51faaddaf 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,10 +2,26 @@ ## [Unreleased] +## [v0.51.40] — 2026-05-11 — Release P (4-PR contributor batch — quota subprocess hardening + env-lock prewarm + cron one-shot warning + Xiaomi env key) + ### Fixed -- **bug(cron): clarify one-shot schedule deletion semantics** ([#2031](https://github.com/nesquena/hermes-webui/issues/2031)). The Scheduled Jobs form now makes the Hermes Agent cron contract visible: recurring jobs should use `every 30m` or a cron expression, while bare durations/dates such as `30m`, `2h`, or `2026-05-11T08:00` create one-shot jobs that are removed after they run. Adds a live warning under the Schedule input when the entered value matches the one-shot forms. -- **fix(providers): detect Xiaomi MiMo from `XIAOMI_API_KEY`** ([#2025](https://github.com/nesquena/hermes-webui/issues/2025)). WebUI now treats Xiaomi like the other API-key providers: exported or `.env`-stored `XIAOMI_API_KEY` enables the Xiaomi model group, Settings provider-key detection, and onboarding help text without requiring a manual provider config entry. +- **PR #2030** by @Michaelyklam — Hardened the account-usage quota probe subprocess path (#1912 slice 1 of N): added a module-level bounded semaphore to cap concurrent profile-isolated probe children, set `stdin=subprocess.DEVNULL` for the child, and wired `preexec_fn` + `prctl(PR_SET_PDEATHSIG, SIGTERM)` so probe children receive SIGTERM if the WebUI parent dies. Persistent warm worker reuse remains the next follow-up if this slice is not enough under load. + +- **PR #2032** by @Michaelyklam — Moved skill-tool imports outside the streaming `_ENV_LOCK` critical section (closes #2024). First-time `tools.skills_tool` / `tools.skill_manager_tool` imports now run via `_prewarm_skill_tool_modules()` before the lock is acquired; the in-lock path uses `sys.modules.get(...)` lookups and existing `HERMES_HOME` / `SKILLS_DIR` attribute patching. Keeps the lock critical section limited to lightweight env/cache mutation so concurrent streams don't wait behind cold import latency. AST/source-level regression test guards against reintroducing in-lock imports. + +- **PR #2033** by @franksong2702 — Surfaced one-shot cron schedule semantics in the WebUI Scheduled Jobs form (refs #2031). Hermes Agent treats bare durations/dates (`30m`, `2h`, `2026-05-11T08:00`) as one-shot schedules that get removed after they run; the form now classifies the input and shows a live warning hint pointing users toward `every 30m` or a cron expression for recurring jobs. Static regression coverage for the classifier, warning wiring, i18n keys, and CSS class. + +- **PR #2034** by @franksong2702 — Closed the Xiaomi MiMo `XIAOMI_API_KEY` env-detection gap (issue #2025). WebUI now treats Xiaomi like the other API-key providers: exported or `.env`-stored `XIAOMI_API_KEY` enables the Xiaomi model group fallback in `get_available_models()`, Settings provider-key detection via `/api/providers`, and onboarding provider metadata with the direct API base URL. README/CHANGELOG provider notes updated; provider-env scrub lists extended so real local Xiaomi keys don't leak into tests. + +### Tests + +5082 → **5100 passing, 0 regressions** (+18 net new across the four new test files for #2024 invariant, quota subprocess, cron one-shot warning, and Xiaomi env detection). Full suite under 152s on Python 3.11 with `HERMES_HOME` isolation. + +### Notes + +- 4 PRs from 3 different authors. `api/providers.py` was touched by #2030 (+110/-7 in quota probe path) and #2034 (+1 in `_PROVIDER_ENV_VAR` map) with disjoint hunks. `CHANGELOG.md` Unreleased section was the only true conflict (#2033 + #2034 both added bullets); resolved by keeping both entries. Stage merge otherwise clean. + ## [v0.51.39] — 2026-05-10 — Release O (4-PR contributor batch — Railway docker fix + Stop-button race + provider resolver + live context tracking) From 642249747fd7b07a050b9fcc6959ff58a7c78311 Mon Sep 17 00:00:00 2001 From: Frank Song Date: Mon, 11 May 2026 08:14:50 +0800 Subject: [PATCH 189/298] Fix session message identity dedup --- CHANGELOG.md | 6 ++ api/routes.py | 19 ++++-- tests/test_session_lineage_full_transcript.py | 64 +++++++++++++++++++ 3 files changed, 82 insertions(+), 7 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c75a2334ba..5e0e2ad0a5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,11 @@ # Hermes Web UI -- Changelog +## [Unreleased] + +### Fixed + +- **fix(sessions): preserve distinct retried messages when merging transcripts** ([#2027](https://github.com/nesquena/hermes-webui/issues/2027)). Messaging session transcript merges now use `id`/`message_id` when present before falling back to the legacy role/content/timestamp/tool metadata key, so repeated turns with identical visible text are not silently collapsed. + ## [v0.51.39] — 2026-05-10 — Release O (4-PR contributor batch — Railway docker fix + Stop-button race + provider resolver + live context tracking) ### Fixed diff --git a/api/routes.py b/api/routes.py index 33567d0dbb..47e8a15ef3 100644 --- a/api/routes.py +++ b/api/routes.py @@ -3040,13 +3040,18 @@ def handle_get(handler, parsed) -> bool: str(m.get("role") or ""), str(m.get("content") or ""), )): - key = ( - str(msg.get("role") or ""), - str(msg.get("content") or ""), - str(msg.get("timestamp") or ""), - str(msg.get("tool_call_id") or ""), - str(msg.get("tool_name") or msg.get("name") or ""), - ) + message_identity = msg.get("id") or msg.get("message_id") + if message_identity: + key = ("message_id", str(message_identity)) + else: + key = ( + "legacy", + str(msg.get("role") or ""), + str(msg.get("content") or ""), + str(msg.get("timestamp") or ""), + str(msg.get("tool_call_id") or ""), + str(msg.get("tool_name") or msg.get("name") or ""), + ) if key in seen_message_keys: continue seen_message_keys.add(key) diff --git a/tests/test_session_lineage_full_transcript.py b/tests/test_session_lineage_full_transcript.py index 7efc6d1812..63cdd20327 100644 --- a/tests/test_session_lineage_full_transcript.py +++ b/tests/test_session_lineage_full_transcript.py @@ -59,3 +59,67 @@ class Parsed: "tip assistant", "sidecar tail", ] + + +def test_session_endpoint_preserves_distinct_messages_with_different_ids(monkeypatch): + class DummySession: + def __init__(self): + self.messages = [ + { + "id": "sidecar-retry", + "role": "user", + "content": "retry the same request", + "timestamp": 2.0, + } + ] + self.tool_calls = [] + self.active_stream_id = None + self.pending_user_message = None + self.pending_attachments = [] + self.pending_started_at = None + self.context_length = 0 + self.threshold_tokens = 0 + self.last_prompt_tokens = 0 + self.model = "openai/gpt-5" + self.session_id = "tip" + + def compact(self): + return {"session_id": "tip", "title": "Tip", "model": "openai/gpt-5"} + + captured = {} + + monkeypatch.setattr(routes, "get_session", lambda sid, metadata_only=False: DummySession()) + monkeypatch.setattr(routes, "_clear_stale_stream_state", lambda s: None) + monkeypatch.setattr(routes, "_lookup_cli_session_metadata", lambda sid: {"session_source": "messaging"}) + monkeypatch.setattr(routes, "_is_messaging_session_record", lambda s: True) + monkeypatch.setattr( + routes, + "get_cli_session_messages", + lambda sid: [ + {"role": "user", "content": "root user", "timestamp": 1.0}, + { + "id": "cli-retry", + "role": "user", + "content": "retry the same request", + "timestamp": 2.0, + }, + ], + ) + monkeypatch.setattr(routes, "_resolve_effective_session_model_for_display", lambda s: getattr(s, "model", None)) + monkeypatch.setattr(routes, "_resolve_effective_session_model_provider_for_display", lambda s: None) + monkeypatch.setattr(routes, "_merge_cli_sidebar_metadata", lambda raw, meta: raw) + monkeypatch.setattr(routes, "redact_session_data", lambda raw: raw) + monkeypatch.setattr(routes, "j", lambda handler, payload, status=200: captured.setdefault("payload", payload)) + + class Handler: + pass + + class Parsed: + path = "/api/session" + query = "session_id=tip" + + routes.handle_get(Handler(), Parsed()) + + session = captured["payload"]["session"] + retry_messages = [m for m in session["messages"] if m.get("content") == "retry the same request"] + assert [m.get("id") for m in retry_messages] == ["cli-retry", "sidecar-retry"] From 2ead7daa2fe29e99696c4786123ce2a8dd646bcf Mon Sep 17 00:00:00 2001 From: ai-ag2026 <261867348+ai-ag2026@users.noreply.github.com> Date: Mon, 11 May 2026 02:15:00 +0200 Subject: [PATCH 190/298] fix: expose active run lifecycle in health --- api/config.py | 40 ++++++++++++++++++++++++ api/routes.py | 41 ++++++++++++++++++++++++ api/streaming.py | 14 +++++++++ tests/test_run_lifecycle_health.py | 50 ++++++++++++++++++++++++++++++ 4 files changed, 145 insertions(+) create mode 100644 tests/test_run_lifecycle_health.py diff --git a/api/config.py b/api/config.py index 5a592dea22..d2675e69eb 100644 --- a/api/config.py +++ b/api/config.py @@ -3681,8 +3681,48 @@ def create_stream_channel() -> StreamChannel: STREAM_LIVE_TOOL_CALLS: dict = {} # stream_id -> live tool calls accumulated during streaming (#1361 §B) STREAM_GOAL_RELATED: dict = {} # stream_id -> bool: only evaluate goal for goal-related turns (#1932) PENDING_GOAL_CONTINUATION: set = set() # session_ids awaiting a goal continuation turn (#1932) + +# Active agent-run registry. This intentionally tracks worker lifecycle rather +# than SSE lifecycle: cancel/reconnect may remove STREAMS while the worker is +# still unwinding, blocked in a provider call, or waiting for delegated work. +ACTIVE_RUNS: dict = {} +ACTIVE_RUNS_LOCK = threading.Lock() +LAST_RUN_FINISHED_AT: float | None = None SERVER_START_TIME = time.time() + +def register_active_run(stream_id: str, **metadata) -> None: + """Mark a WebUI agent worker as alive until its outer finally exits.""" + if not stream_id: + return + now = time.time() + entry = dict(metadata or {}) + entry.setdefault("stream_id", stream_id) + entry.setdefault("started_at", now) + entry.setdefault("phase", "running") + with ACTIVE_RUNS_LOCK: + ACTIVE_RUNS[stream_id] = entry + + +def update_active_run(stream_id: str, **metadata) -> None: + """Update active-run metadata without creating a new run implicitly.""" + if not stream_id: + return + with ACTIVE_RUNS_LOCK: + entry = ACTIVE_RUNS.get(stream_id) + if entry is not None: + entry.update(metadata) + + +def unregister_active_run(stream_id: str) -> None: + """Remove a worker from the active-run registry and record idle start.""" + if not stream_id: + return + global LAST_RUN_FINISHED_AT + with ACTIVE_RUNS_LOCK: + ACTIVE_RUNS.pop(stream_id, None) + LAST_RUN_FINISHED_AT = time.time() + # Agent cache: reuse AIAgent across messages in the same WebUI session so that # _user_turn_count survives between turns. This mirrors the gateway's # _agent_cache pattern and is required for injectionFrequency: "first-turn". diff --git a/api/routes.py b/api/routes.py index 33567d0dbb..926250fcef 100644 --- a/api/routes.py +++ b/api/routes.py @@ -2529,6 +2529,39 @@ def _streams_lock_health(timeout_seconds: float = 0.5) -> dict: STREAMS_LOCK.release() +def _run_lifecycle_health() -> dict: + """Return active worker-run state independent of SSE stream presence.""" + # Import the module rather than relying only on imported scalar aliases so + # LAST_RUN_FINISHED_AT stays fresh after unregister_active_run() updates it. + from api import config as _live_config + + now = time.time() + with _live_config.ACTIVE_RUNS_LOCK: + runs = [] + for stream_id, raw in (_live_config.ACTIVE_RUNS or {}).items(): + item = dict(raw or {}) + started_at = item.get("started_at") + try: + age = max(0.0, now - float(started_at)) + except Exception: + age = 0.0 + item.setdefault("stream_id", stream_id) + item["age_seconds"] = round(age, 1) + runs.append(item) + last_finished = _live_config.LAST_RUN_FINISHED_AT + runs.sort(key=lambda item: float(item.get("started_at") or 0.0)) + payload = { + "active_runs": len(runs), + "runs": runs, + "last_run_finished_at": last_finished, + } + if runs: + payload["oldest_run_age_seconds"] = runs[0].get("age_seconds", 0.0) + elif last_finished: + payload["idle_seconds_since_last_run"] = round(max(0.0, now - float(last_finished)), 1) + return payload + + def _deep_health_checks(stream_check: dict | None = None) -> tuple[dict, bool]: """Run cheap probes that exercise the state paths used by the UI shell. @@ -2609,13 +2642,21 @@ def _deep_health_checks(stream_check: dict | None = None) -> tuple[dict, bool]: def _handle_health(handler, parsed): deep = parse_qs(parsed.query or "").get("deep", [""])[0].lower() in {"1", "true", "yes", "on"} stream_check = _streams_lock_health() + run_check = _run_lifecycle_health() payload = { "status": "ok" if stream_check.get("status") == "ok" else "degraded", "sessions": len(SESSIONS), "active_streams": int(stream_check.get("active_streams") or 0), + "active_runs": int(run_check.get("active_runs") or 0), + "runs": run_check.get("runs", []), + "last_run_finished_at": run_check.get("last_run_finished_at"), "uptime_seconds": round(time.time() - SERVER_START_TIME, 1), "accept_loop": _accept_loop_health(handler), } + if "oldest_run_age_seconds" in run_check: + payload["oldest_run_age_seconds"] = run_check["oldest_run_age_seconds"] + if "idle_seconds_since_last_run" in run_check: + payload["idle_seconds_since_last_run"] = run_check["idle_seconds_since_last_run"] if deep: if stream_check.get("status") != "ok": payload["checks"] = {"streams_lock": stream_check} diff --git a/api/streaming.py b/api/streaming.py index 7968c6edbf..8e231041a6 100644 --- a/api/streaming.py +++ b/api/streaming.py @@ -26,6 +26,7 @@ STREAM_GOAL_RELATED, PENDING_GOAL_CONTINUATION, LOCK, SESSIONS, SESSION_DIR, _get_session_agent_lock, _set_thread_env, _clear_thread_env, + register_active_run, update_active_run, unregister_active_run, SESSION_AGENT_LOCKS, SESSION_AGENT_LOCKS_LOCK, resolve_model_provider, resolve_custom_provider_connection, @@ -2006,6 +2007,16 @@ def _run_agent_streaming( q = STREAMS.get(stream_id) if q is None: return + register_active_run( + stream_id, + session_id=session_id, + started_at=time.time(), + phase="starting", + workspace=str(workspace), + model=model, + provider=model_provider, + ephemeral=bool(ephemeral), + ) s = None _rt = {} old_cwd = None @@ -2187,6 +2198,7 @@ def _agent_status_callback(kind, message): _agent_lock = None try: s = get_session(session_id) + update_active_run(stream_id, phase="running", session_id=session_id) s.workspace = str(Path(workspace).expanduser().resolve()) s.model = model provider_context = ( @@ -3882,6 +3894,7 @@ def _periodic_checkpoint(): if (s is not None and getattr(s, 'active_stream_id', None) == stream_id and getattr(s, 'pending_user_message', None)): + update_active_run(stream_id, phase="finalizing") _last_resort_sync_from_core(s, stream_id, _agent_lock) _clear_thread_env() # TD1: always clear thread-local context with STREAMS_LOCK: @@ -3892,6 +3905,7 @@ def _periodic_checkpoint(): STREAM_REASONING_TEXT.pop(stream_id, None) # Clean up reasoning trace (#1361 §A) STREAM_LIVE_TOOL_CALLS.pop(stream_id, None) # Clean up tool calls (#1361 §B) STREAM_GOAL_RELATED.pop(stream_id, None) # Clean up goal-related flag (#1932) + unregister_active_run(stream_id) # NOTE: do NOT discard PENDING_GOAL_CONTINUATION here. The marker # is set by goal_continue (line ~3328) inside the SAME function # call and consumed atomically by `_start_chat_stream_for_session` diff --git a/tests/test_run_lifecycle_health.py b/tests/test_run_lifecycle_health.py new file mode 100644 index 0000000000..8913ade7f4 --- /dev/null +++ b/tests/test_run_lifecycle_health.py @@ -0,0 +1,50 @@ +"""Regression coverage for restart-safety run lifecycle reporting.""" + +import time + + +def test_health_counts_active_runs_even_when_no_sse_streams(): + """A worker run can outlive its SSE channel; health must expose the run.""" + from api import config, routes + + with config.STREAMS_LOCK: + config.STREAMS.clear() + with config.ACTIVE_RUNS_LOCK: + config.ACTIVE_RUNS.clear() + config.ACTIVE_RUNS["stream-1"] = { + "stream_id": "stream-1", + "session_id": "session-1", + "started_at": time.time() - 42, + "phase": "running", + } + + try: + stream_check = routes._streams_lock_health() + run_check = routes._run_lifecycle_health() + + assert stream_check["active_streams"] == 0 + assert run_check["active_runs"] == 1 + assert run_check["oldest_run_age_seconds"] >= 40 + assert run_check["runs"][0]["session_id"] == "session-1" + finally: + with config.ACTIVE_RUNS_LOCK: + config.ACTIVE_RUNS.clear() + + +def test_run_registry_unregister_records_last_finished_time(): + """Guards need a grace window after the last real worker exits.""" + from api import config + + with config.ACTIVE_RUNS_LOCK: + config.ACTIVE_RUNS.clear() + config.LAST_RUN_FINISHED_AT = None + + config.register_active_run("stream-2", session_id="session-2", phase="starting") + with config.ACTIVE_RUNS_LOCK: + assert "stream-2" in config.ACTIVE_RUNS + + config.unregister_active_run("stream-2") + + with config.ACTIVE_RUNS_LOCK: + assert "stream-2" not in config.ACTIVE_RUNS + assert isinstance(config.LAST_RUN_FINISHED_AT, float) From 4bbed44b214bc446b1027d94928e324461df1e05 Mon Sep 17 00:00:00 2001 From: nesquena-hermes Date: Mon, 11 May 2026 00:43:59 +0000 Subject: [PATCH 191/298] docs: CHANGELOG v0.51.41 Release Q --- CHANGELOG.md | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 234cdcf0c2..119df2f469 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,9 +2,34 @@ ## [Unreleased] +## [v0.51.41] — 2026-05-11 — Release Q (3-PR contributor batch — session recovery audit + run-lifecycle health + transcript dedup) + ### Fixed -- **fix(sessions): preserve distinct retried messages when merging transcripts** ([#2027](https://github.com/nesquena/hermes-webui/issues/2027)). Messaging session transcript merges now use `id`/`message_id` when present before falling back to the legacy role/content/timestamp/tool metadata key, so repeated turns with identical visible text are not silently collapsed. +- **PR #2035** by @ai-ag2026 — Recover orphaned `.json.bak` snapshots on startup (extends #1558 P0 fix). The existing post-#1558 recovery path only scanned `*.json`, so a crash that left only the `.bak` snapshot meant data was on disk but invisible to `/api/sessions` and the sidebar. Now the startup self-heal looks up the orphan `sid` in `state.db.sessions`; if the row exists, the snapshot is restored, the session index rebuilt, and the live sidecar appears again. If `state.db` lacks the row (explicit tombstone), the orphan is left alone. Companion change in `api/routes.py` unlinks `.json.bak` on explicit delete so intentional deletes don't get resurrected later. Fail-open on `state.db` unreadable/locked/older-schema — recovery stays best-effort. + +- **PR #2036** by @ai-ag2026 — Read-only `audit_session_recovery()` report + module CLI (`python -m api.session_recovery --audit --session-dir [--state-db ]`). Classifies shrunken live sidecars, orphan backups, orphans without a `state.db` row, and stale `_index.json` entries. Pure read-only audit — no writes, no rebuilds, no restores. Outputs machine-readable JSON. Stacked on #2035 (and auto-closed it). + +- **PR #2038** by @franksong2702 — Closed the message-identity dedup gap in `/api/session` messaging transcript merges (closes #2027). The dedup key now prefers `id`/`message_id` when message identity is available; legacy role/content/timestamp/tool-metadata key remains as fallback for messages without IDs. Prevents silent loss of legitimate retries (rare but high-impact when it hits). + +### Added + +- **PR #2039** by @ai-ag2026 — Active-run lifecycle visibility in `/health`. SSE `active_streams` only describes channel state; a worker can outlive its SSE stream while unwinding, blocked in a provider call, handling cancellation, or waiting on delegated work. Adds `active_runs`, per-run metadata/age, `oldest_run_age_seconds`, `last_run_finished_at`, and idle grace timing. Restart/update guards now have visibility into worker lifecycle, not just SSE channel state. Worker lifecycle wired through `_register_run` / `_update_run` / `_unregister_run` in streaming. + +### Tests + +5100 → **5108 passing, 0 regressions** (+8 net new across new test files for session-recovery audit, run-lifecycle health, transcript dedup, and orphan-backup recovery). Full suite ~160s on Python 3.11 with `HERMES_HOME` isolation. + +### Notes + +- 3 PRs from 2 different authors (#2035 stacked under #2036 — auto-closed when #2036 merged). +- `api/routes.py` was touched by all three PRs with disjoint hunks (#2039 at lines 2529/2609, #2038 at 3040, #2036 at 4147). +- `CHANGELOG.md` was the only true conflict (`#2038` predates v0.51.40 release entry); resolved by preserving v0.51.40 history and re-adding the #2038 bullet under [Unreleased] before promoting. + +### Follow-ups + +- Test isolation: at least one test in `test_update_banner_fixes.py` or `test_updates.py` triggers a real `os.execv` that re-executes the entire pytest suite. Suite still passes (~5108 each loop) but full run takes 4× the time. Worth a targeted fix in the next maintenance batch. + ## [v0.51.40] — 2026-05-11 — Release P (4-PR contributor batch — quota subprocess hardening + env-lock prewarm + cron one-shot warning + Xiaomi env key) From 90c361173254520bfab54bf43582772dcf79fc3c Mon Sep 17 00:00:00 2001 From: ai-ag2026 <261867348+ai-ag2026@users.noreply.github.com> Date: Mon, 11 May 2026 02:26:08 +0200 Subject: [PATCH 192/298] feat: expose session recovery audit and safe repair endpoints --- api/routes.py | 9 ++++ api/session_recovery.py | 35 ++++++++++++++-- tests/test_session_recovery_api.py | 67 ++++++++++++++++++++++++++++++ 3 files changed, 108 insertions(+), 3 deletions(-) create mode 100644 tests/test_session_recovery_api.py diff --git a/api/routes.py b/api/routes.py index bd3486bf0a..7ed10967c2 100644 --- a/api/routes.py +++ b/api/routes.py @@ -3263,6 +3263,10 @@ def handle_get(handler, parsed) -> bool: return bad(handler, "Session not found", 404) return j(handler, report) + if parsed.path == "/api/session/recovery/audit": + from api.session_recovery import audit_session_recovery + return j(handler, audit_session_recovery(SESSION_DIR, state_db_path=_active_state_db_path())) + if parsed.path == "/api/session/status": sid = parse_qs(parsed.query).get("session_id", [""])[0] if not sid: @@ -3816,6 +3820,11 @@ def handle_post(handler, parsed) -> bool: diag.finish() raise + if parsed.path == "/api/session/recovery/repair-safe": + from api.session_recovery import repair_safe_session_recovery + result = repair_safe_session_recovery(SESSION_DIR, state_db_path=_active_state_db_path()) + return j(handler, result, status=200 if result.get("ok") else 409) + if parsed.path.startswith("/api/kanban/"): from api.kanban_bridge import handle_kanban_post diff --git a/api/session_recovery.py b/api/session_recovery.py index 65e772a74a..b42ab7f4be 100644 --- a/api/session_recovery.py +++ b/api/session_recovery.py @@ -289,6 +289,31 @@ def audit_session_recovery(session_dir: Path, state_db_path: Path | None = None) return {"status": overall, "summary": summary, "items": items} +def repair_safe_session_recovery(session_dir: Path, state_db_path: Path | None = None) -> dict: + """Run safe, deterministic session recovery repairs. + + This mutates only repairable classes already handled by startup recovery: + shrunken live sidecars and orphan backups that are not tombstoned by a + readable state.db. Unsafe audit findings remain for manual review. + """ + before = audit_session_recovery(session_dir, state_db_path=state_db_path) + repair = recover_all_sessions_on_startup( + session_dir, + rebuild_index=True, + state_db_path=state_db_path, + ) + after = audit_session_recovery(session_dir, state_db_path=state_db_path) + unsafe_remaining = int((after.get("summary") or {}).get("unsafe_to_repair") or 0) + repairable_remaining = int((after.get("summary") or {}).get("repairable") or 0) + return { + "ok": unsafe_remaining == 0 and repairable_remaining == 0, + "repaired": int(repair.get("restored") or 0), + "before": before, + "repair": repair, + "after": after, + } + + def recover_all_sessions_on_startup( session_dir: Path, rebuild_index: bool = False, @@ -350,10 +375,14 @@ def _main() -> int: parser.add_argument("--audit", action="store_true", help="run a read-only recovery audit") parser.add_argument("--session-dir", type=Path, required=True, help="path to WebUI sessions directory") parser.add_argument("--state-db", type=Path, default=None, help="optional Hermes state.db path") + parser.add_argument("--repair-safe", action="store_true", help="run safe deterministic repairs after auditing") args = parser.parse_args() - if not args.audit: - parser.error("currently only --audit is supported") - report = audit_session_recovery(args.session_dir, state_db_path=args.state_db) + if args.repair_safe: + report = repair_safe_session_recovery(args.session_dir, state_db_path=args.state_db) + elif args.audit: + report = audit_session_recovery(args.session_dir, state_db_path=args.state_db) + else: + parser.error("choose --audit or --repair-safe") print(json.dumps(report, sort_keys=True)) return 0 diff --git a/tests/test_session_recovery_api.py b/tests/test_session_recovery_api.py new file mode 100644 index 0000000000..2638219f29 --- /dev/null +++ b/tests/test_session_recovery_api.py @@ -0,0 +1,67 @@ +import json + +from api.session_recovery import audit_session_recovery, repair_safe_session_recovery + + +def _write_session(session_dir, sid, messages=1): + path = session_dir / f"{sid}.json" + path.write_text( + json.dumps({"id": sid, "session_id": sid, "title": sid, "messages": [{"role": "user", "content": str(i)} for i in range(messages)]}), + encoding="utf-8", + ) + return path + + +def test_repair_safe_session_recovery_restores_backup_and_rebuilds_index(tmp_path, monkeypatch): + import api.models as _m + + sid = "abc123" + live = _write_session(tmp_path, sid, messages=4) + bak = tmp_path / f"{sid}.json.bak" + bak.write_text(live.read_text(encoding="utf-8"), encoding="utf-8") + live.unlink() + index = tmp_path / "_index.json" + index.write_text(json.dumps([]), encoding="utf-8") + monkeypatch.setattr(_m, "SESSION_DIR", tmp_path) + monkeypatch.setattr(_m, "SESSION_INDEX_FILE", index) + + result = repair_safe_session_recovery(tmp_path) + + assert result["ok"] is True + assert result["repaired"] == 1 + assert live.exists() + assert audit_session_recovery(tmp_path)["status"] == "ok" + idx = json.loads(index.read_text(encoding="utf-8")) + assert [entry["session_id"] for entry in idx] == [sid] + + +def test_repair_safe_session_recovery_leaves_unsafe_orphan_for_manual_review(tmp_path): + import sqlite3 + + sid = "abc123" + live = _write_session(tmp_path, sid, messages=1) + bak = tmp_path / f"{sid}.json.bak" + bak.write_text(live.read_text(encoding="utf-8"), encoding="utf-8") + live.unlink() + db = tmp_path / "state.db" + with sqlite3.connect(db) as conn: + conn.execute("create table sessions (id text primary key)") + conn.execute("insert into sessions (id) values (?)", ("other",)) + + result = repair_safe_session_recovery(tmp_path, state_db_path=db) + + assert result["ok"] is False + assert result["repaired"] == 0 + assert not live.exists() + assert result["after"]["status"] == "needs_manual_review" + + +def test_recovery_audit_routes_are_registered(): + from pathlib import Path + + src = Path("api/routes.py").read_text(encoding="utf-8") + + assert 'parsed.path == "/api/session/recovery/audit"' in src + assert 'parsed.path == "/api/session/recovery/repair-safe"' in src + assert "audit_session_recovery" in src + assert "repair_safe_session_recovery" in src From a34ded8e996d1100dab4579be0ffdc8333be25bb Mon Sep 17 00:00:00 2001 From: ai-ag2026 <261867348+ai-ag2026@users.noreply.github.com> Date: Mon, 11 May 2026 02:30:00 +0200 Subject: [PATCH 193/298] feat: reconcile missing WebUI sidecars from state db --- api/session_recovery.py | 169 +++++++++++++++++- .../test_session_db_sidecar_reconciliation.py | 69 +++++++ 2 files changed, 235 insertions(+), 3 deletions(-) create mode 100644 tests/test_session_db_sidecar_reconciliation.py diff --git a/api/session_recovery.py b/api/session_recovery.py index b42ab7f4be..6347bdb7a3 100644 --- a/api/session_recovery.py +++ b/api/session_recovery.py @@ -175,6 +175,150 @@ def _orphaned_backup_live_paths( return paths +def _read_state_db_missing_sidecar_rows(session_dir: Path, state_db_path: Path | None) -> list[dict]: + """Return WebUI-origin state.db rows whose JSON sidecar is missing.""" + if state_db_path is None or not state_db_path.exists(): + return [] + try: + with sqlite3.connect(f"file:{state_db_path}?mode=ro", uri=True) as conn: + conn.row_factory = sqlite3.Row + session_cols = {row[1] for row in conn.execute("PRAGMA table_info(sessions)").fetchall()} + message_cols = {row[1] for row in conn.execute("PRAGMA table_info(messages)").fetchall()} + if not {'id', 'source'}.issubset(session_cols): + return [] + title_expr = _sql_optional_col('title', session_cols) + model_expr = _sql_optional_col('model', session_cols) + started_expr = _sql_optional_col('started_at', session_cols, '0') + parent_expr = _sql_optional_col('parent_session_id', session_cols) + msg_count_expr = _sql_optional_col('message_count', session_cols, '0') + rows = [] + for row in conn.execute( + f""" + SELECT id, source, {title_expr}, {model_expr}, {started_expr}, + {parent_expr}, {msg_count_expr} + FROM sessions + WHERE source = 'webui' + ORDER BY COALESCE(started_at, 0) DESC + """ + ).fetchall(): + data = dict(row) + sid = str(data.get('id') or '').strip() + if not sid or (session_dir / f"{sid}.json").exists(): + continue + message_rows: list[dict] = [] + if {'session_id', 'role', 'content'}.issubset(message_cols): + order = "timestamp, id" if 'timestamp' in message_cols and 'id' in message_cols else "rowid" + ts_expr = 'timestamp' if 'timestamp' in message_cols else 'NULL AS timestamp' + for msg in conn.execute( + f"SELECT role, content, {ts_expr} FROM messages WHERE session_id = ? ORDER BY {order}", + (sid,), + ).fetchall(): + message = { + 'role': msg['role'], + 'content': msg['content'] or '', + } + if msg['timestamp'] is not None: + message['timestamp'] = msg['timestamp'] + message_rows.append(message) + if not message_rows: + continue + data['messages'] = message_rows + rows.append(data) + return rows + except Exception as exc: + logger.debug("state_db sidecar reconciliation scan failed for %s: %s", state_db_path, exc) + return [] + + +def _sql_optional_col(name: str, columns: set[str], fallback: str = "NULL") -> str: + return name if name in columns else f"{fallback} AS {name}" + + +def _state_db_row_to_sidecar(row: dict) -> dict: + try: + from api.agent_sessions import normalize_agent_session_source + except Exception: + normalize_agent_session_source = None + source = str(row.get('source') or '').strip().lower() + source_meta = normalize_agent_session_source(source) if normalize_agent_session_source else { + 'raw_source': source or None, + 'session_source': source or None, + 'source_label': source.title() if source else None, + } + started_at = row.get('started_at') or 0 + messages = row.get('messages') if isinstance(row.get('messages'), list) else [] + last_ts = messages[-1].get('timestamp') if messages and isinstance(messages[-1], dict) else started_at + return { + 'session_id': row.get('id'), + 'title': row.get('title') or 'Recovered WebUI Session', + 'workspace': '', + 'model': row.get('model') or 'unknown', + 'model_provider': None, + 'created_at': started_at, + 'updated_at': last_ts or started_at, + 'pinned': False, + 'archived': False, + 'project_id': None, + 'profile': None, + 'input_tokens': 0, + 'output_tokens': 0, + 'estimated_cost': None, + 'personality': None, + 'active_stream_id': None, + 'pending_user_message': None, + 'pending_attachments': [], + 'pending_started_at': None, + 'compression_anchor_visible_idx': None, + 'compression_anchor_message_key': None, + 'compression_anchor_summary': None, + 'context_length': None, + 'threshold_tokens': None, + 'last_prompt_tokens': None, + 'gateway_routing': None, + 'gateway_routing_history': [], + 'llm_title_generated': False, + 'parent_session_id': row.get('parent_session_id'), + 'is_cli_session': False, + 'source_tag': source or None, + **source_meta, + 'enabled_toolsets': None, + 'composer_draft': {}, + 'messages': messages, + 'tool_calls': [], + '_recovered_from_state_db': True, + } + + +def recover_missing_sidecars_from_state_db(session_dir: Path, state_db_path: Path | None) -> dict: + """Materialize missing WebUI JSON sidecars from canonical state.db rows.""" + rows = _read_state_db_missing_sidecar_rows(session_dir, state_db_path) + materialized = 0 + details: list[dict] = [] + session_dir.mkdir(parents=True, exist_ok=True) + for row in rows: + sid = str(row.get('id') or '').strip() + if not sid: + continue + target = session_dir / f"{sid}.json" + if target.exists(): + continue + payload = _state_db_row_to_sidecar(row) + tmp = target.with_suffix('.json.reconcile.tmp') + try: + tmp.write_text(json.dumps(payload, ensure_ascii=False, indent=2), encoding='utf-8') + tmp.replace(target) + except OSError as exc: + try: + tmp.unlink(missing_ok=True) + except OSError: + pass + details.append({'session_id': sid, 'materialized': False, 'error': str(exc)}) + continue + materialized += 1 + details.append({'session_id': sid, 'materialized': True, 'messages': len(payload.get('messages') or [])}) + return {'scanned': len(rows), 'materialized': materialized, 'details': details} + + def _new_audit_item( session_id: str, kind: str, @@ -275,6 +419,17 @@ def audit_session_recovery(session_dir: Path, state_db_path: Path | None = None) _msg_count(session_dir / f"{session_id}.json"), -1, )) + for row in _read_state_db_missing_sidecar_rows(session_dir, state_db_path): + sid = str(row.get('id') or '') + items.append(_new_audit_item( + sid, + "state_db_missing_sidecar", + "repairable", + "materialize_from_state_db", + -1, + -1, + )) + summary = {"ok": len(live_paths), "repairable": 0, "unsafe_to_repair": 0} for item in items: category = item.get('category') @@ -297,19 +452,27 @@ def repair_safe_session_recovery(session_dir: Path, state_db_path: Path | None = readable state.db. Unsafe audit findings remain for manual review. """ before = audit_session_recovery(session_dir, state_db_path=state_db_path) - repair = recover_all_sessions_on_startup( + backup_repair = recover_all_sessions_on_startup( session_dir, rebuild_index=True, state_db_path=state_db_path, ) + sidecar_repair = recover_missing_sidecars_from_state_db(session_dir, state_db_path) + if sidecar_repair.get('materialized'): + try: + from api.models import _write_session_index + _write_session_index(updates=None) + except Exception as exc: + logger.warning("repair_safe_session_recovery: index rebuild after state.db reconciliation failed: %s", exc) after = audit_session_recovery(session_dir, state_db_path=state_db_path) unsafe_remaining = int((after.get("summary") or {}).get("unsafe_to_repair") or 0) repairable_remaining = int((after.get("summary") or {}).get("repairable") or 0) return { "ok": unsafe_remaining == 0 and repairable_remaining == 0, - "repaired": int(repair.get("restored") or 0), + "repaired": int(backup_repair.get("restored") or 0) + int(sidecar_repair.get("materialized") or 0), "before": before, - "repair": repair, + "backup_repair": backup_repair, + "sidecar_repair": sidecar_repair, "after": after, } diff --git a/tests/test_session_db_sidecar_reconciliation.py b/tests/test_session_db_sidecar_reconciliation.py new file mode 100644 index 0000000000..631bf227fd --- /dev/null +++ b/tests/test_session_db_sidecar_reconciliation.py @@ -0,0 +1,69 @@ +import json +import sqlite3 + +from api.session_recovery import recover_missing_sidecars_from_state_db, audit_session_recovery + + +def _make_state_db(path, *, sid="state_only_001", source="webui", messages=2): + conn = sqlite3.connect(path) + conn.execute( + "CREATE TABLE sessions (id TEXT PRIMARY KEY, source TEXT, title TEXT, model TEXT, started_at REAL, message_count INTEGER, parent_session_id TEXT)" + ) + conn.execute( + "CREATE TABLE messages (id INTEGER PRIMARY KEY AUTOINCREMENT, session_id TEXT, role TEXT, content TEXT, timestamp REAL)" + ) + conn.execute( + "INSERT INTO sessions (id, source, title, model, started_at, message_count, parent_session_id) VALUES (?, ?, ?, ?, ?, ?, ?)", + (sid, source, "Recovered from DB", "openai/gpt-5", 1234.0, messages, "parent-1"), + ) + for i in range(messages): + conn.execute( + "INSERT INTO messages (session_id, role, content, timestamp) VALUES (?, ?, ?, ?)", + (sid, "user" if i % 2 == 0 else "assistant", f"message {i + 1}", 1234.0 + i), + ) + conn.commit() + conn.close() + return sid + + +def test_recover_missing_sidecars_from_state_db_materializes_webui_row(tmp_path): + sid = _make_state_db(tmp_path / "state.db") + + result = recover_missing_sidecars_from_state_db(tmp_path, tmp_path / "state.db") + + assert result["materialized"] == 1 + sidecar = tmp_path / f"{sid}.json" + assert sidecar.exists() + data = json.loads(sidecar.read_text(encoding="utf-8")) + assert data["session_id"] == sid + assert data["title"] == "Recovered from DB" + assert data["model"] == "openai/gpt-5" + assert data["parent_session_id"] == "parent-1" + assert data["source_tag"] == "webui" + assert data["session_source"] == "webui" + assert [m["content"] for m in data["messages"]] == ["message 1", "message 2"] + + +def test_recover_missing_sidecars_from_state_db_skips_existing_sidecar(tmp_path): + sid = _make_state_db(tmp_path / "state.db") + existing = tmp_path / f"{sid}.json" + existing.write_text(json.dumps({"session_id": sid, "messages": [{"role": "user", "content": "keep"}]}), encoding="utf-8") + + result = recover_missing_sidecars_from_state_db(tmp_path, tmp_path / "state.db") + + assert result["materialized"] == 0 + assert json.loads(existing.read_text(encoding="utf-8"))["messages"][0]["content"] == "keep" + + +def test_audit_reports_state_db_row_missing_sidecar(tmp_path): + sid = _make_state_db(tmp_path / "state.db") + + report = audit_session_recovery(tmp_path, state_db_path=tmp_path / "state.db") + + assert any( + item["session_id"] == sid + and item["kind"] == "state_db_missing_sidecar" + and item["category"] == "repairable" + and item["recommendation"] == "materialize_from_state_db" + for item in report["items"] + ) From c710efb463df4953e727d52c012e6f6468581d84 Mon Sep 17 00:00:00 2001 From: ai-ag2026 <261867348+ai-ag2026@users.noreply.github.com> Date: Mon, 11 May 2026 02:31:47 +0200 Subject: [PATCH 194/298] docs: propose crash-safe turn journal --- docs/turn-journal-rfc.md | 154 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 154 insertions(+) create mode 100644 docs/turn-journal-rfc.md diff --git a/docs/turn-journal-rfc.md b/docs/turn-journal-rfc.md new file mode 100644 index 0000000000..a62479f38c --- /dev/null +++ b/docs/turn-journal-rfc.md @@ -0,0 +1,154 @@ +# RFC: WebUI Turn Journal for Crash-Safe Chat Submissions + +## Problem + +A WebUI chat turn crosses several durability boundaries: + +1. browser submits a user message, +2. WebUI creates or updates session runtime metadata, +3. the agent worker starts streaming, +4. assistant output is appended, +5. the JSON sidecar and derived index are saved. + +If the server crashes between submission and the final sidecar save, recovery has to infer what happened from `pending_user_message`, `active_stream_id`, `.json.bak`, `_index.json`, and `state.db`. Those safeguards are useful, but they are still reconstructing intent after the fact. + +The missing primitive is a small write-ahead journal for turns: record the submitted user turn durably before the worker starts, then advance the journal as the turn progresses. + +## Goals + +- Preserve the exact user-submitted turn, including attachments metadata, before any provider or worker work starts. +- Make crash recovery deterministic: a submitted-but-unfinished turn can be reported or reconstructed without guessing. +- Keep the journal append/update format simple enough for startup recovery, CLI audit, and future API repair endpoints. +- Avoid turning recovery into a background daemon. This is storage hygiene, not a tiny cult with a scheduler. + +## Non-goals + +- Replacing `state.db.sessions` or WebUI JSON sidecars. +- Journaling every token or every SSE event. +- Replaying tool calls or provider streams. +- Automatically inventing assistant messages after ambiguous crashes. + +## Proposed storage + +Use one JSONL file per session under the existing WebUI state area: + +```text +/_turn_journal/.jsonl +``` + +Each line is an immutable event. Recovery can scan by `turn_id` and choose the latest status. + +### Event shape + +```json +{ + "version": 1, + "event": "submitted", + "turn_id": "20260511T001122Z-abcdef", + "session_id": "abc123", + "stream_id": "stream-xyz", + "created_at": 1778458282.123, + "role": "user", + "content": "...", + "attachments": [], + "workspace": "/workspace", + "model": "openai/gpt-5", + "model_provider": "openai" +} +``` + +Later events for the same `turn_id`: + +```json +{"version":1,"event":"worker_started","turn_id":"...","created_at":1778458283.0} +{"version":1,"event":"assistant_started","turn_id":"...","created_at":1778458284.0} +{"version":1,"event":"completed","turn_id":"...","created_at":1778458299.0,"assistant_message_index":12} +{"version":1,"event":"interrupted","turn_id":"...","created_at":1778458301.0,"reason":"server_startup_recovery"} +``` + +## Turn state machine + +```text +submitted -> worker_started -> assistant_started -> completed +submitted -> interrupted +worker_started -> interrupted +assistant_started -> interrupted +``` + +`completed` is terminal. `interrupted` is terminal unless a later explicit repair creates a new turn. Recovery should not silently resume a provider call. + +## Write rules + +1. On `/api/chat/start` or equivalent turn-submission path: + - generate `turn_id`, + - append `submitted`, + - fsync the journal file, + - only then start the worker. +2. When worker thread enters `_run_agent_streaming`, append `worker_started`. +3. When assistant output is first persisted or clearly begins, append `assistant_started`. +4. After the sidecar save that includes the assistant answer succeeds, append `completed`. +5. On cancellation or known worker exception, append `interrupted` with a reason. + +## Startup recovery semantics + +On startup, for each journal file: + +- Latest event is `completed`: no action. +- Latest event is `submitted` or `worker_started` and no matching user message exists in sidecar: + - append/recover the user message into the session sidecar with a recovery marker. +- Latest event is `submitted`, `worker_started`, or `assistant_started` and no completed assistant turn exists: + - add a visible interruption marker, not a fake assistant answer. +- Existing `.json.bak` and `state.db` recovery still run first so the sidecar is as complete as possible before journal reconciliation. + +## Audit additions + +`audit_session_recovery()` can report: + +- `turn_journal_pending_turn` — repairable if the user message is absent from sidecar. +- `turn_journal_interrupted_turn` — ok/warn depending on whether a visible marker exists. +- `turn_journal_malformed_event` — manual review. + +Safe repair should only materialize submitted user messages and interruption markers when the journal event content is valid JSON and the target message is absent. + +## API surface + +Initial read-only endpoint can be folded into the existing recovery audit: + +```text +GET /api/session/recovery/audit +``` + +Later, if needed: + +```text +GET /api/session/turn-journal?session_id= +``` + +The latter should be diagnostic-only and redact or omit large attachment payloads. + +## Rollout plan + +1. Land backup/sidecar recovery and audit primitives. +2. Add this journal writer in the turn-submission path behind no config flag; it is local-only and append-only. +3. Add read-only audit reporting for pending journal turns. +4. Add safe repair for missing user messages and interruption markers. +5. Once stable, consider pruning completed journal entries older than a retention window, but only after sidecar/index recovery has no findings. + +## Open questions + +- Exact place to define `turn_id` so browser retry and server retry do not duplicate the same user message. +- Whether attachment files need their own durable manifest entry or whether metadata-only is enough for v1. +- How much of the assistant partial output, if any, should be recoverable after `assistant_started` but before `completed`. +- Whether completed journal entries should be compacted into a per-session checkpoint file. + +## Minimal implementation slice + +The first implementation PR should be deliberately small: + +- helper: `append_turn_journal_event(session_id, event)` +- helper: `read_turn_journal(session_id)` +- unit tests for atomic append, malformed-line tolerance, and state derivation +- one call site: append `submitted` before worker start +- audit-only report of pending journal turns + +Do **not** combine the first implementation with replay/repair. Replay is where footguns rent office space. From 9f3f8ea902ed0357ee7d569e41419d727bf38bd1 Mon Sep 17 00:00:00 2001 From: nesquena-hermes Date: Mon, 11 May 2026 02:44:38 +0000 Subject: [PATCH 195/298] fix(recovery): close concurrency hazards in state.db sidecar reconciliation MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Two concrete data-corruption vectors flagged in Opus review of PR #2041, both fixed atomically so the new repair-safe endpoint is safe for production: 1. Shared tmp filename under concurrent calls `tmp = target.with_suffix('.json.reconcile.tmp')` produced a fixed path per session ID. Two simultaneous repair-safe POSTs would interleave bytes in the same tmp file, then both rename → corrupted JSON. Now matches the `Session.save()` convention at api/models.py:484 with a pid+tid suffix. 2. TOCTOU between target.exists() check and tmp.replace(target) `os.replace()` overwrites unconditionally. If a concurrent Session.save() for the same SID materialized the live sidecar in the microsecond window between the existence check and the rename, the reconciliation would silently overwrite a live sidecar with a (lossier) state.db reconstruction. Switched to `os.link()` + `unlink(tmp)` which is atomic create-or-fail — on FileExistsError we record `skipped: sidecar_appeared_during_reconcile` and keep the live sidecar untouched. Plus a round-trip schema-parity test: materialize a sidecar from state.db, then load it back through `Session.load()` and assert the messages survive. Catches future schema drift between `_state_db_row_to_sidecar()` and `Session.__init__()`. Also adds a guard test confirming the .reconcile.tmp suffix includes pid+tid (regression guard for hazard #1). Tests: 23 passing across the recovery suite (was 21; +2 new in this commit). Co-authored-by: ai-ag2026 <261867348+ai-ag2026@users.noreply.github.com> --- api/session_recovery.py | 34 +++++++++-- .../test_session_db_sidecar_reconciliation.py | 58 +++++++++++++++++++ 2 files changed, 88 insertions(+), 4 deletions(-) diff --git a/api/session_recovery.py b/api/session_recovery.py index 6347bdb7a3..0e93033ad8 100644 --- a/api/session_recovery.py +++ b/api/session_recovery.py @@ -28,8 +28,10 @@ import argparse import json import logging +import os import shutil import sqlite3 +import threading from pathlib import Path logger = logging.getLogger(__name__) @@ -303,10 +305,13 @@ def recover_missing_sidecars_from_state_db(session_dir: Path, state_db_path: Pat if target.exists(): continue payload = _state_db_row_to_sidecar(row) - tmp = target.with_suffix('.json.reconcile.tmp') + # Per-process/per-thread tmp suffix to avoid corruption under + # concurrent reconciliation calls (matches api/models.py:484 + # Session.save() convention). + tmp_suffix = f".json.reconcile.tmp.{os.getpid()}.{threading.current_thread().ident}" + tmp = target.with_suffix(tmp_suffix) try: tmp.write_text(json.dumps(payload, ensure_ascii=False, indent=2), encoding='utf-8') - tmp.replace(target) except OSError as exc: try: tmp.unlink(missing_ok=True) @@ -314,8 +319,29 @@ def recover_missing_sidecars_from_state_db(session_dir: Path, state_db_path: Pat pass details.append({'session_id': sid, 'materialized': False, 'error': str(exc)}) continue - materialized += 1 - details.append({'session_id': sid, 'materialized': True, 'messages': len(payload.get('messages') or [])}) + # Atomic create-or-fail: os.link() refuses to overwrite an existing + # target. Closes the TOCTOU window between the target.exists() check + # above and the rename — a concurrent Session.save() for the same SID + # will win and we silently skip rather than overwrite a live sidecar. + materialized_now = False + try: + os.link(str(tmp), str(target)) + materialized_now = True + except FileExistsError: + # Live sidecar appeared between the check and the link — keep it. + pass + except OSError as exc: + details.append({'session_id': sid, 'materialized': False, 'error': str(exc)}) + finally: + try: + tmp.unlink(missing_ok=True) + except OSError: + pass + if materialized_now: + materialized += 1 + details.append({'session_id': sid, 'materialized': True, 'messages': len(payload.get('messages') or [])}) + elif not any(d.get('session_id') == sid for d in details[-1:]): + details.append({'session_id': sid, 'materialized': False, 'skipped': 'sidecar_appeared_during_reconcile'}) return {'scanned': len(rows), 'materialized': materialized, 'details': details} diff --git a/tests/test_session_db_sidecar_reconciliation.py b/tests/test_session_db_sidecar_reconciliation.py index 631bf227fd..95b64d97f0 100644 --- a/tests/test_session_db_sidecar_reconciliation.py +++ b/tests/test_session_db_sidecar_reconciliation.py @@ -67,3 +67,61 @@ def test_audit_reports_state_db_row_missing_sidecar(tmp_path): and item["recommendation"] == "materialize_from_state_db" for item in report["items"] ) + + +def test_materialized_sidecar_round_trips_through_session_load(tmp_path, monkeypatch): + """Schema parity guard: a materialized sidecar must be readable by Session.load + and the resulting Session must have the same messages we put in state.db. + + Catches future schema drift where the hardcoded 35-key dict in + _state_db_row_to_sidecar() falls out of sync with what Session.__init__ + expects. See Opus review on PR #2041 for context. + """ + import api.models as _m + + sid = _make_state_db(tmp_path / "state.db", sid="rt_001", messages=3) + + monkeypatch.setattr(_m, "SESSION_DIR", tmp_path) + + result = recover_missing_sidecars_from_state_db(tmp_path, tmp_path / "state.db") + assert result["materialized"] == 1 + + loaded = _m.Session.load(sid) + assert loaded is not None, "Session.load returned None for materialized sidecar" + assert loaded.session_id == sid + assert len(loaded.messages) == 3 + assert [m["content"] for m in loaded.messages] == [ + "message 1", + "message 2", + "message 3", + ] + assert loaded.model == "openai/gpt-5" + assert loaded.parent_session_id == "parent-1" + + +def test_recover_missing_sidecars_uses_per_process_tmp_suffix(tmp_path): + """The tmp filename used during reconciliation must include pid/tid so + concurrent calls cannot corrupt each other's writes. See Opus review on + PR #2041 (matches Session.save() pattern at api/models.py:484). + """ + import os + import threading + + _make_state_db(tmp_path / "state.db", sid="tmp_suffix_001", messages=1) + + # Snapshot the directory before, run reconciliation, then check no + # generic ".json.reconcile.tmp" residue exists — it must have a + # pid.tid suffix and be cleaned up after. + result = recover_missing_sidecars_from_state_db(tmp_path, tmp_path / "state.db") + assert result["materialized"] == 1 + + # No leftover tmp files + leftover = list(tmp_path.glob("*.reconcile.tmp*")) + assert leftover == [], f"Reconciliation left tmp residue: {leftover}" + + # And the source explicitly references pid + tid in the suffix + from pathlib import Path + src = (Path(__file__).resolve().parent.parent / "api" / "session_recovery.py").read_text(encoding="utf-8") + assert "os.getpid()" in src and "threading.current_thread().ident" in src, ( + ".reconcile.tmp suffix must include pid + tid for concurrency safety" + ) From 7690e08e70be373d3d96d07deacb48024f36269f Mon Sep 17 00:00:00 2001 From: nesquena-hermes Date: Mon, 11 May 2026 02:45:38 +0000 Subject: [PATCH 196/298] docs(rfcs): establish docs/rfcs/ convention and polish turn-journal RFC MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Moves docs/turn-journal-rfc.md → docs/rfcs/turn-journal.md, establishing the convention for future design documents on hermes-webui's data-at-rest and recovery surfaces. Adds docs/rfcs/README.md describing when an RFC applies (large changes, durability/recovery semantics, new infrastructure primitives) and the simple status header convention. Polish on turn-journal.md: - Added 3-line status header (Status / Author / Created) at top. - Light tone edits on two flourishes that read fine in a PR description but felt off in permanent repo documentation. Author's voice preserved throughout the rest of the document. Co-authored-by: ai-ag2026 <261867348+ai-ag2026@users.noreply.github.com> --- .gitignore | 2 ++ docs/rfcs/README.md | 35 +++++++++++++++++++ .../turn-journal.md} | 8 +++-- 3 files changed, 43 insertions(+), 2 deletions(-) create mode 100644 docs/rfcs/README.md rename docs/{turn-journal-rfc.md => rfcs/turn-journal.md} (96%) diff --git a/.gitignore b/.gitignore index 0edd66af46..529563ba5a 100644 --- a/.gitignore +++ b/.gitignore @@ -40,6 +40,8 @@ Thumbs.db docs/* !docs/ui-ux/ !docs/ui-ux/** +!docs/rfcs/ +!docs/rfcs/** !docs/docker.md !docs/supervisor.md !docs/troubleshooting.md diff --git a/docs/rfcs/README.md b/docs/rfcs/README.md new file mode 100644 index 0000000000..d86c5ed997 --- /dev/null +++ b/docs/rfcs/README.md @@ -0,0 +1,35 @@ +# RFCs + +This directory holds design documents for hermes-webui features that are +worth thinking through in writing before (or alongside) implementation — +typically when the change touches durability, recovery, schema, or cross- +cutting infrastructure. + +## Conventions + +- One file per RFC. Filename is the topic (kebab-case), not a number. +- Top of every RFC carries a small header: + + - **Status:** Proposed | Accepted | Implemented | Withdrawn + - **Author:** @github-handle + - **Created:** YYYY-MM-DD + +- Sections usually include: Problem, Goals, Non-goals, Proposal, Open + questions, Rollout plan. Skip what doesn't apply. +- An RFC is a starting point for review. Comments and revisions land via PR + edits, not separate discussion threads. + +## When to file an RFC + +- The change is large enough that you want consensus before writing code. +- The change touches data-at-rest formats or recovery semantics. +- The change introduces a new architectural primitive (journal, queue, + scheduler, cache layer) that other features will build on. +- A reviewer asks for one during code review. + +When in doubt, just ship the code — small features don't need RFCs. + +## Current RFCs + +- [`turn-journal.md`](turn-journal.md) — Crash-safe WebUI turn journal for + recovering interrupted chat submissions. diff --git a/docs/turn-journal-rfc.md b/docs/rfcs/turn-journal.md similarity index 96% rename from docs/turn-journal-rfc.md rename to docs/rfcs/turn-journal.md index a62479f38c..6c0924f442 100644 --- a/docs/turn-journal-rfc.md +++ b/docs/rfcs/turn-journal.md @@ -1,5 +1,9 @@ # RFC: WebUI Turn Journal for Crash-Safe Chat Submissions +- **Status:** Proposed +- **Author:** @ai-ag2026 +- **Created:** 2026-05-11 + ## Problem A WebUI chat turn crosses several durability boundaries: @@ -19,7 +23,7 @@ The missing primitive is a small write-ahead journal for turns: record the submi - Preserve the exact user-submitted turn, including attachments metadata, before any provider or worker work starts. - Make crash recovery deterministic: a submitted-but-unfinished turn can be reported or reconstructed without guessing. - Keep the journal append/update format simple enough for startup recovery, CLI audit, and future API repair endpoints. -- Avoid turning recovery into a background daemon. This is storage hygiene, not a tiny cult with a scheduler. +- Avoid turning recovery into a background daemon. This is storage hygiene, not a long-running service. ## Non-goals @@ -151,4 +155,4 @@ The first implementation PR should be deliberately small: - one call site: append `submitted` before worker start - audit-only report of pending journal turns -Do **not** combine the first implementation with replay/repair. Replay is where footguns rent office space. +Do **not** combine the first implementation with replay/repair. Replay is where most of the bugs in WAL systems live; ship the writer and audit first, prove the format, then add repair. From 8566462b729d1fcc18312547d762fc6da9688630 Mon Sep 17 00:00:00 2001 From: Chris Watson Date: Sun, 10 May 2026 19:57:00 -0600 Subject: [PATCH 197/298] feat: add MEDIA_ALLOWED_ROOTS env var for configurable /api/media whitelist MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The /api/media endpoint only serves files from ~/.hermes, /tmp, and the active workspace. Power users with media in custom directories (models, Downloads, Pictures, ComfyUI outputs) have no way to serve those files inline without copying or symlinking. Add MEDIA_ALLOWED_ROOTS env var — a colon-separated list of absolute paths — that extends the allowed roots at runtime. Each entry is resolved and validated as an existing directory before being appended. Non-existent or invalid paths are silently skipped. This is purely additive: the built-in security whitelist is unchanged, and if MEDIA_ALLOWED_ROOTS is unset, behavior is identical to before. --- CHANGELOG.md | 10 ++++++++++ api/routes.py | 17 +++++++++++++++++ tests/test_media_inline.py | 6 ++++++ 3 files changed, 33 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 119df2f469..8a2e3ce14f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,16 @@ ## [Unreleased] +### Added + +- **MEDIA_ALLOWED_ROOTS env var** — Configurable colon-separated list of absolute + paths to add to the `/api/media` file-serving whitelist. The built-in allowed + roots (`~/.hermes`, `/tmp`, active workspace) remain the default; setting + `MEDIA_ALLOWED_ROOTS=/home/user/models:/home/user/Pictures` extends the + whitelist at runtime without code changes. Resolves the "local MEDIA: path + blocked outside allowed roots" usability gap for power users. Added static + unit test for env var presence in source. (`api/routes.py`, `tests/test_media_inline.py`) + ## [v0.51.41] — 2026-05-11 — Release Q (3-PR contributor batch — session recovery audit + run-lifecycle health + transcript dedup) ### Fixed diff --git a/api/routes.py b/api/routes.py index 7ed10967c2..1835488511 100644 --- a/api/routes.py +++ b/api/routes.py @@ -5587,6 +5587,8 @@ def _handle_media(handler, parsed): - Only image MIME types are served inline; all others force download - SVG always served as attachment (XSS risk) - No path traversal: resolved path must stay within an allowed root + - Additional roots can be added via MEDIA_ALLOWED_ROOTS env var + (colon-separated list of absolute paths) """ import os as _os from api.auth import is_auth_enabled, parse_cookie, verify_session @@ -5630,6 +5632,21 @@ def _handle_media(handler, parsed): allowed_roots.append(ws) except Exception: pass + + # Also allow additional roots from MEDIA_ALLOWED_ROOTS env var + # (colon-separated list of absolute paths, e.g. /home/user/models:/home/user/Pictures) + extra_roots = _os.environ.get("MEDIA_ALLOWED_ROOTS", "").strip() + if extra_roots: + for root in extra_roots.split(":"): + root = root.strip() + if root: + try: + rp = Path(root).resolve() + if rp.is_dir(): + allowed_roots.append(rp) + except Exception: + pass + within_allowed = any( _os.path.commonpath([str(target), str(root)]) == str(root) for root in allowed_roots diff --git a/tests/test_media_inline.py b/tests/test_media_inline.py index 4ea802ff43..eba2a1abe4 100644 --- a/tests/test_media_inline.py +++ b/tests/test_media_inline.py @@ -235,6 +235,12 @@ def test_non_image_forces_download(self): self.assertIn("_INLINE_IMAGE_TYPES", routes_src, "_INLINE_IMAGE_TYPES whitelist must exist in _handle_media") + def test_media_allowed_roots_env_var_referenced(self): + """Handler must reference MEDIA_ALLOWED_ROOTS for configurable roots.""" + routes_src = (REPO_ROOT / "api" / "routes.py").read_text(encoding="utf-8") + self.assertIn("MEDIA_ALLOWED_ROOTS", routes_src, + "MEDIA_ALLOWED_ROOTS env var must be parsed in _handle_media") + def test_media_endpoints_advertise_byte_range_support(self): routes_src = (REPO_ROOT / "api" / "routes.py").read_text(encoding="utf-8") self.assertIn("Accept-Ranges", routes_src) From 8178c5e57ba174af0d0f745073de8e11d33d0f5b Mon Sep 17 00:00:00 2001 From: George Davis Date: Sun, 10 May 2026 22:08:12 -0400 Subject: [PATCH 198/298] feat: add slack to cron delivery options --- static/panels.js | 1 + 1 file changed, 1 insertion(+) diff --git a/static/panels.js b/static/panels.js index 86075f1bf0..caf2fabee4 100644 --- a/static/panels.js +++ b/static/panels.js @@ -755,6 +755,7 @@ function _renderCronForm({ name, schedule, prompt, deliver, profile, no_agent=fa ${deliverOpt('local', t('cron_deliver_local') || 'Local (save output only)')} ${deliverOpt('discord','Discord')} ${deliverOpt('telegram','Telegram')} + ${deliverOpt('slack','Slack')}
    From 3fd20599e8ee60150f0388655894905a066b0d7e Mon Sep 17 00:00:00 2001 From: hinotoi-agent Date: Mon, 11 May 2026 10:46:17 +0800 Subject: [PATCH 199/298] fix: validate workspaces on session import --- api/routes.py | 5 +- ...est_session_import_workspace_validation.py | 105 ++++++++++++++++++ 2 files changed, 109 insertions(+), 1 deletion(-) create mode 100644 tests/test_session_import_workspace_validation.py diff --git a/api/routes.py b/api/routes.py index bd3486bf0a..9a6cc11fb0 100644 --- a/api/routes.py +++ b/api/routes.py @@ -8832,7 +8832,10 @@ def _handle_session_import(handler, body): if not isinstance(messages, list): return bad(handler, 'JSON must contain a "messages" array') title = body.get("title", "Imported session") - workspace = body.get("workspace", str(DEFAULT_WORKSPACE)) + try: + workspace = str(resolve_trusted_workspace(body.get("workspace", str(DEFAULT_WORKSPACE)))) + except (TypeError, ValueError) as e: + return bad(handler, str(e)) model = body.get("model", DEFAULT_MODEL) s = Session( title=title, diff --git a/tests/test_session_import_workspace_validation.py b/tests/test_session_import_workspace_validation.py new file mode 100644 index 0000000000..318fcbdb4d --- /dev/null +++ b/tests/test_session_import_workspace_validation.py @@ -0,0 +1,105 @@ +import io +import json +from pathlib import Path +from urllib.parse import urlparse + +from api.config import DEFAULT_WORKSPACE, SESSION_DIR +from api.models import get_session +from api.routes import _handle_file_read, _handle_session_import +from api.workspace import resolve_trusted_workspace + + +class _DummyHandler: + def __init__(self): + self.status = None + self.response_headers = [] + self.headers = {} + self.wfile = io.BytesIO() + self.command = "GET" + self.path = "/" + + def send_response(self, status): + self.status = status + + def send_header(self, key, value): + self.response_headers.append((key, value)) + + def end_headers(self): + pass + + def json_body(self): + return json.loads(self.wfile.getvalue().decode("utf-8")) + + +def test_session_import_rejects_blocked_root_workspace(): + handler = _DummyHandler() + + _handle_session_import( + handler, + { + "title": "blocked import", + "workspace": "/", + "model": "test", + "messages": [], + }, + ) + + assert handler.status == 400 + assert "system directory" in handler.json_body()["error"] + + +def test_session_import_rejects_non_path_workspace_value(): + handler = _DummyHandler() + + _handle_session_import( + handler, + { + "title": "invalid import", + "workspace": {"not": "a path"}, + "model": "test", + "messages": [], + }, + ) + + assert handler.status == 400 + assert handler.json_body()["error"] + + +def test_imported_session_file_read_stays_under_validated_workspace(): + SESSION_DIR.mkdir(parents=True, exist_ok=True) + workspace = Path(DEFAULT_WORKSPACE) + workspace.mkdir(parents=True, exist_ok=True) + (workspace / "allowed.txt").write_text("allowed", encoding="utf-8") + + import_handler = _DummyHandler() + _handle_session_import( + import_handler, + { + "title": "valid import", + "workspace": str(workspace), + "model": "test", + "messages": [], + }, + ) + + assert import_handler.status == 200 + sid = import_handler.json_body()["session"]["session_id"] + assert get_session(sid).workspace == str(resolve_trusted_workspace(workspace)) + + read_handler = _DummyHandler() + _handle_file_read(read_handler, urlparse(f"/api/file?session_id={sid}&path=allowed.txt")) + + assert read_handler.status == 200 + assert read_handler.json_body()["content"] == "allowed" + + +def test_resolver_would_reject_imported_root_before_file_read(): + # Regression guard for the original issue shape: '/' must be rejected at + # import time rather than becoming a session workspace that makes + # Path('/')-relative reads like etc/hosts reachable through /api/file. + try: + resolve_trusted_workspace(Path("/")) + except ValueError as exc: + assert "system directory" in str(exc) + else: # pragma: no cover - this would weaken the security invariant + raise AssertionError("root workspace unexpectedly accepted") From 7e25c6f55d7cb0d617344bd27b7c825b5cdbdea2 Mon Sep 17 00:00:00 2001 From: nesquena-hermes Date: Mon, 11 May 2026 02:47:01 +0000 Subject: [PATCH 200/298] docs: CHANGELOG v0.51.42 Release R --- CHANGELOG.md | 30 +++++++++++++++++++++++------- 1 file changed, 23 insertions(+), 7 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8a2e3ce14f..de5928f959 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,15 +2,31 @@ ## [Unreleased] +## [v0.51.42] — 2026-05-11 — Release R (5-PR contributor batch — session recovery state.db reconciliation + RFC convention + MEDIA_ALLOWED_ROOTS + Slack cron delivery) + ### Added -- **MEDIA_ALLOWED_ROOTS env var** — Configurable colon-separated list of absolute - paths to add to the `/api/media` file-serving whitelist. The built-in allowed - roots (`~/.hermes`, `/tmp`, active workspace) remain the default; setting - `MEDIA_ALLOWED_ROOTS=/home/user/models:/home/user/Pictures` extends the - whitelist at runtime without code changes. Resolves the "local MEDIA: path - blocked outside allowed roots" usability gap for power users. Added static - unit test for env var presence in source. (`api/routes.py`, `tests/test_media_inline.py`) +- **PR #2040** by @ai-ag2026 — Read-only `GET /api/session/recovery/audit` endpoint that returns the existing audit report (live + `.bak` + `state.db` cross-check) over HTTP, and `POST /api/session/recovery/repair-safe` that runs the same deterministic repairs as startup recovery (`recover_all_sessions_on_startup`) and returns before/after audit evidence. The POST returns `409` when repairable/unsafe findings remain rather than reporting `ok` for an incomplete repair. Both routes inherit the global `check_auth()` gate at `server.py:133`. CLI parity: `python -m api.session_recovery --repair-safe` for operators on the box without HTTP access. + +- **PR #2041** by @ai-ag2026 — DB-backed reconciliation for WebUI-origin sessions whose JSON sidecar is missing. When `state.db.sessions` has a `source='webui'` row but `~/.hermes/webui-public/sessions/.json` is gone (failed save, manual `rm`, restore-from-backup with mismatched dirs), the new `recover_missing_sidecars_from_state_db()` materializes a safe sidecar from the canonical row plus ordered `messages` rows. **Never overwrites an existing sidecar.** Atomic write via per-pid/per-tid `.json.reconcile.tmp..` + `os.link()` create-or-fail (closes the TOCTOU window against concurrent `Session.save()`; on race-loss the live sidecar wins and reconciliation silently skips). Only `source='webui'` rows are materialized; CLI/messaging/cron rows stay on their existing bridge path. Rows without readable message bodies are skipped (no blank-shell sidecars). Audit reports unrepaired rows as `state_db_missing_sidecar` / `repairable`. Includes a round-trip schema-parity test that loads a materialized sidecar through `Session.load()` to catch future drift between `_state_db_row_to_sidecar()` and `Session.__init__()`. + +- **PR #2042** by @ai-ag2026 — Crash-safe turn-journal RFC at `docs/rfcs/turn-journal.md`. Establishes the `docs/rfcs/` convention with a small README explaining when an RFC applies (durability/recovery, schema, new architectural primitives) and the status header format. The RFC itself proposes a JSONL write-ahead log per session that records turn intent before the worker starts, so crash recovery can replace inference-from-fragments with deterministic replay. Status: Proposed; ships as a design document, not as an implementation. + +- **PR #2044** by @watzon — `MEDIA_ALLOWED_ROOTS` environment variable extends `/api/media` file-serving whitelist at runtime. The built-in allowed roots (`~/.hermes`, `/tmp`, active workspace) remain the default; setting `MEDIA_ALLOWED_ROOTS=/home/user/models:/home/user/Pictures` (colon-separated absolute paths) appends to the list. Non-existent or invalid entries are silently skipped. Resolves the "local MEDIA: path blocked outside allowed roots" usability gap for power users who keep ComfyUI outputs, model assets, or shared media in custom directories. Path-traversal validation (`Path.resolve()` + `commonpath` containment check) unchanged; SVG-as-attachment guard unchanged; image-MIME inline-only guard unchanged. Static unit test confirms the env var is referenced in source. + +- **PR #2045** by @georgebdavis — Slack appears in the cron delivery dropdown alongside Local / Discord / Telegram. The WebUI cron handler at `api/routes.py:7066` passes `body.get("deliver")` straight through to `cron.jobs.create_job`, and hermes-agent already routes `deliver=slack` to the Slack platform adapter — this was a frontend-only gap. First-time contributor. + +### Fixed (maintainer follow-up to PR #2041) + +- **Concurrency hardening** — Two data-corruption vectors flagged in Opus review of #2041, fixed in the staged release rather than left as follow-up: (1) the `.reconcile.tmp` filename now includes pid+tid (was a fixed path per SID, vulnerable to two-operator interleaved writes corrupting the same tmp); (2) `tmp.replace(target)` swapped for `os.link()` + `unlink(tmp)` so a race with a concurrent `Session.save()` for the same SID can't overwrite a live sidecar (skips with `sidecar_appeared_during_reconcile` instead). Matches the existing `Session.save()` convention at `api/models.py:484`. + +### Tests + +5108 → **5131 passing, 0 regressions** (+23 across new test files for session-recovery-API HTTP-shape contracts, state.db sidecar reconciliation including the round-trip schema-parity guard and the per-pid tmp-suffix guard, and the MEDIA_ALLOWED_ROOTS static reference). + +### Notes + +- New convention: `docs/rfcs/` for design documents on durability, recovery, schema, and cross-cutting infrastructure. First entry is the turn-journal RFC from #2042; future contributors are invited to file design proposals there before large changes. ## [v0.51.41] — 2026-05-11 — Release Q (3-PR contributor batch — session recovery audit + run-lifecycle health + transcript dedup) From 8c803c0a076149b8bd365a8ec919245bafc12611 Mon Sep 17 00:00:00 2001 From: nesquena-hermes Date: Mon, 11 May 2026 02:52:49 +0000 Subject: [PATCH 201/298] fix(tests): clear two test failures (one pre-existing, one bumped by #2044) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1. test_issue1362_codex_oauth_onboarding.py::test_anthropic_onboarding_setup_allows_linked_oauth_without_api_key Pre-existing env-collision bug, surfaced when HERMES_WEBUI_SKIP_ONBOARDING=1 is in the test runner env (set by hosting providers and by isolated test harnesses). `apply_onboarding_setup()` short-circuits without writing the config file when SKIP_ONBOARDING is set, but the test asserts the file was written, so it fails with FileNotFoundError on read_text(). Fix: `monkeypatch.delenv("HERMES_WEBUI_SKIP_ONBOARDING", raising=False)` — matches the convention already used in test_issue1499_keyless_onboarding.py and test_issue1500_lmstudio_env_var_alignment.py. 2. test_issue1800_file_html_interactions.py::test_media_html_inline_keeps_csp_sandbox Slicing-based source-string assertion (4000-char window after `def _handle_media`) broke because PR #2044's MEDIA_ALLOWED_ROOTS parsing was inserted earlier in the function and pushed the CSP block to offset 4211. Widened window to 5000. Assertion content is structural (CSP sandbox string present), not positional. --- CHANGELOG.md | 2 +- tests/test_issue1362_codex_oauth_onboarding.py | 7 +++++++ tests/test_issue1800_file_html_interactions.py | 5 ++++- 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index de5928f959..adde54b6da 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -22,7 +22,7 @@ ### Tests -5108 → **5131 passing, 0 regressions** (+23 across new test files for session-recovery-API HTTP-shape contracts, state.db sidecar reconciliation including the round-trip schema-parity guard and the per-pid tmp-suffix guard, and the MEDIA_ALLOWED_ROOTS static reference). +5108 → **5120 passing, 8 skipped, 1 xfailed, 2 xpassed, 0 regressions** (+12 net passing across new test files for session-recovery-API HTTP-shape contracts, state.db sidecar reconciliation including the round-trip schema-parity guard and the per-pid tmp-suffix guard, and the MEDIA_ALLOWED_ROOTS static reference). Full suite ~161s on Python 3.11 with `HERMES_HOME` isolation. ### Notes diff --git a/tests/test_issue1362_codex_oauth_onboarding.py b/tests/test_issue1362_codex_oauth_onboarding.py index dad7c8b8d6..6c3358aa93 100644 --- a/tests/test_issue1362_codex_oauth_onboarding.py +++ b/tests/test_issue1362_codex_oauth_onboarding.py @@ -554,6 +554,13 @@ def test_runtime_provider_reads_use_anthropic_env_lock(): def test_anthropic_onboarding_setup_allows_linked_oauth_without_api_key(monkeypatch, tmp_path): import api.onboarding as onboarding + # apply_onboarding_setup() short-circuits when HERMES_WEBUI_SKIP_ONBOARDING + # is set in the environment (hosting providers like Agent37 use it to ship + # a pre-configured WebUI). Local test runs may also set it for the same + # reason. The test exercises the file-writing branch, so delete the var + # for the test's scope. monkeypatch.delenv is a no-op if the var is unset. + monkeypatch.delenv("HERMES_WEBUI_SKIP_ONBOARDING", raising=False) + cfg_path = tmp_path / "config.yaml" home = tmp_path / "home" home.mkdir() diff --git a/tests/test_issue1800_file_html_interactions.py b/tests/test_issue1800_file_html_interactions.py index c0ab2e9183..995c24be00 100644 --- a/tests/test_issue1800_file_html_interactions.py +++ b/tests/test_issue1800_file_html_interactions.py @@ -68,7 +68,10 @@ def test_html_media_open_full_uses_inline_new_tab_not_download(): def test_media_html_inline_keeps_csp_sandbox(): """api/media may serve HTML inline only behind a CSP sandbox.""" - body = _slice_after(ROUTES_PY, "def _handle_media", 4000) + # Slice widened to 5000 (was 4000) after PR #2044 added MEDIA_ALLOWED_ROOTS + # parsing earlier in _handle_media, which pushed the CSP block past the + # original window. The assertion is structural, not positional. + body = _slice_after(ROUTES_PY, "def _handle_media", 5000) assert 'html_inline_ok = inline_preview and mime == "text/html"' in body assert 'csp = "sandbox allow-scripts" if html_inline_ok else None' in body assert "csp=csp" in body From 0c26ab3425bedc7f99af2225604610281ab77d80 Mon Sep 17 00:00:00 2001 From: nesquena-hermes Date: Mon, 11 May 2026 03:02:01 +0000 Subject: [PATCH 202/298] test(conftest): strip HERMES_WEBUI_SKIP_ONBOARDING env globally; rfcs: note discussion-first for contributor RFCs MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Two follow-ups from Opus pre-release review of stage-336: 1. tests/conftest.py — autouse session fixture that removes HERMES_WEBUI_SKIP_ONBOARDING from os.environ for the whole pytest run, and restores it after. Hosting providers and isolated harnesses set this var to short-circuit the onboarding wizard, but it leaked into pytest and caused tests that exercise apply_onboarding_setup() to fail with cryptic FileNotFoundError. Tests that specifically validate the short-circuit behavior can opt back in with monkeypatch.setenv. Surgical per-test delenv calls remain as defense-in-depth but are now redundant. 2. docs/rfcs/README.md — one-line note that first-time contributor RFCs should be discussed in an issue before opening a PR. Gates drive-by design-doc PRs without us having to decline them on contribution. Verified: 96 onboarding-related tests pass with HERMES_WEBUI_SKIP_ONBOARDING=1 exported in the test runner env (would have failed before this fixture). --- docs/rfcs/README.md | 1 + tests/conftest.py | 18 ++++++++++++++++++ 2 files changed, 19 insertions(+) diff --git a/docs/rfcs/README.md b/docs/rfcs/README.md index d86c5ed997..9f40371a60 100644 --- a/docs/rfcs/README.md +++ b/docs/rfcs/README.md @@ -28,6 +28,7 @@ cutting infrastructure. - A reviewer asks for one during code review. When in doubt, just ship the code — small features don't need RFCs. +First-time contributor RFCs should be discussed in an issue before opening a PR. ## Current RFCs diff --git a/tests/conftest.py b/tests/conftest.py index f8b6eca57e..3b9c444d63 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -152,6 +152,24 @@ def pytest_configure(config): config.addinivalue_line("markers", "requires_agent: skip when hermes-agent dir is not found") config.addinivalue_line("markers", "requires_agent_modules: skip when hermes-agent Python modules are not importable") + +# ── Environment isolation for tests ──────────────────────────────────────── +# HERMES_WEBUI_SKIP_ONBOARDING is set by hosting providers (e.g. Agent37) and +# by some isolated test harnesses to short-circuit the onboarding wizard. +# When it leaks into the pytest environment, tests that exercise the wizard +# code paths (apply_onboarding_setup, etc.) fail because the function returns +# early without writing config files. +# +# This autouse fixture removes the variable for the test session. Tests that +# specifically need to validate the SKIP_ONBOARDING short-circuit can opt back +# in with `monkeypatch.setenv("HERMES_WEBUI_SKIP_ONBOARDING", "1")`. +@pytest.fixture(autouse=True, scope="session") +def _strip_skip_onboarding_env(): + prior = os.environ.pop("HERMES_WEBUI_SKIP_ONBOARDING", None) + yield + if prior is not None: + os.environ["HERMES_WEBUI_SKIP_ONBOARDING"] = prior + def pytest_collection_modifyitems(config, items): """Auto-skip agent-dependent tests when hermes-agent is not available. From 7aa1a5f42c6df6576fda59b1945a4e61514f8ffb Mon Sep 17 00:00:00 2001 From: Frank Song Date: Mon, 11 May 2026 11:47:26 +0800 Subject: [PATCH 203/298] docs: add first-run onboarding guide --- .env.example | 2 +- README.md | 9 ++- docs/onboarding.md | 181 +++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 188 insertions(+), 4 deletions(-) create mode 100644 docs/onboarding.md diff --git a/.env.example b/.env.example index 19dff7dc1c..768eca5009 100644 --- a/.env.example +++ b/.env.example @@ -15,7 +15,7 @@ # Port to listen on (default: 8787) # HERMES_WEBUI_PORT=8787 -# Where to store sessions, workspaces, and other state (default: ~/.hermes/webui-mvp) +# Where to store sessions, workspaces, and other state (default: ~/.hermes/webui) # HERMES_WEBUI_STATE_DIR=~/.hermes/webui # Default workspace directory shown on first launch diff --git a/README.md b/README.md index 951ec728dc..84864971e9 100644 --- a/README.md +++ b/README.md @@ -131,8 +131,10 @@ The bootstrap will: > Native Windows is not supported for this bootstrap yet. Use Linux, macOS, or WSL2. > For Windows / WSL auto-start at login, see [`docs/wsl-autostart.md`](docs/wsl-autostart.md). +> A community-maintained native Windows guide is tracked in [#1952](https://github.com/nesquena/hermes-webui/issues/1952). If provider setup is still incomplete after install, the onboarding wizard will point you to finish it with `hermes model` instead of trying to replicate the full CLI setup in-browser. +For a step-by-step walkthrough of the wizard, provider choices, local model server Base URLs, and safe re-runs, see [`docs/onboarding.md`](docs/onboarding.md). --- @@ -231,7 +233,7 @@ For the deep dive on each of these, see [`docs/docker.md`](docs/docker.md). |---|---| | Hermes agent dir | `HERMES_WEBUI_AGENT_DIR` env, then `~/.hermes/hermes-agent`, then sibling `../hermes-agent` | | Python executable | Agent venv first, then `.venv` in this repo, then system `python3` | -| State directory | `HERMES_WEBUI_STATE_DIR` env, then `~/.hermes/webui-mvp` | +| State directory | `HERMES_WEBUI_STATE_DIR` env, then `~/.hermes/webui` | | Default workspace | `HERMES_WEBUI_DEFAULT_WORKSPACE` env, then `~/workspace`, then state dir | | Port | `HERMES_WEBUI_PORT` env or first argument, default `8787` | @@ -263,7 +265,7 @@ Full list of environment variables: | `HERMES_WEBUI_PYTHON` | auto-discovered | Python executable | | `HERMES_WEBUI_HOST` | `127.0.0.1` | Bind address (`0.0.0.0` for all IPv4, `::` for all IPv6, `::1` for IPv6 loopback) | | `HERMES_WEBUI_PORT` | `8787` | Port | -| `HERMES_WEBUI_STATE_DIR` | `~/.hermes/webui-mvp` | Where sessions and state are stored | +| `HERMES_WEBUI_STATE_DIR` | `~/.hermes/webui` | Where sessions and state are stored | | `HERMES_WEBUI_DEFAULT_WORKSPACE` | `~/workspace` | Default workspace | | `HERMES_WEBUI_DEFAULT_MODEL` | `openai/gpt-5.4-mini` | Default model | | `HERMES_WEBUI_PASSWORD` | *(unset)* | Set to enable password authentication | @@ -521,7 +523,7 @@ docker-compose.yml Compose with named volume and optional auth .github/workflows/ CI: multi-arch Docker build + GitHub Release on tag ``` -State lives outside the repo at `~/.hermes/webui-mvp/` by default +State lives outside the repo at `~/.hermes/webui/` by default (sessions, workspaces, settings, projects, last_workspace). Override with `HERMES_WEBUI_STATE_DIR`. --- @@ -535,6 +537,7 @@ State lives outside the repo at `~/.hermes/webui-mvp/` by default - `CHANGELOG.md` -- release notes per sprint - `SPRINTS.md` -- forward sprint plan with CLI + Claude parity targets - `THEMES.md` -- theme system documentation, custom theme guide +- `docs/onboarding.md` -- first-run wizard, provider setup, local model server Base URLs, and safe re-runs - `docs/troubleshooting.md` -- diagnostic flows for common failures (e.g. "AIAgent not available") ## Contributors diff --git a/docs/onboarding.md b/docs/onboarding.md new file mode 100644 index 0000000000..f6409f96a8 --- /dev/null +++ b/docs/onboarding.md @@ -0,0 +1,181 @@ +# First-run onboarding guide + +This guide explains what happens the first time Hermes WebUI starts, which +setup path to choose, and how to recover when the wizard cannot finish. + +The short version: run the bootstrap, open the WebUI, choose a provider, choose +a workspace, optionally set a password, then start a chat. If you are using a +local model server from Docker, pay special attention to the Base URL section +below. + +## Before you start + +Hermes WebUI is only the browser interface. The actual agent runtime, memory, +skills, config, cron jobs, and provider credentials belong to Hermes Agent. + +The bootstrap supports Linux, macOS, and WSL2. Native Windows is not supported +by the bootstrap yet. A community native Windows setup is being tracked in +[#1952](https://github.com/nesquena/hermes-webui/issues/1952), including: + +- [Native Windows guide](https://github.com/markwang2658/hermes-windows-native-guide) +- [Native Windows setup scripts](https://github.com/markwang2658/hermes-windows-native) + +For Windows users who want the supported path today, use WSL2 and see +[Windows / WSL auto-start](wsl-autostart.md). + +## Install path choices + +| Path | Use it when | Notes | +|---|---|---| +| Local bootstrap | You run WebUI directly on Linux, macOS, or WSL2 | Best for a personal server, Mac mini, VPS, or homelab host. | +| Docker single-container | You want the simplest container setup | Recommended first Docker path. WebUI runs the agent in-process. | +| Docker two-container | You already run the agent gateway separately | More isolated, but tools launched from WebUI run in the WebUI container. | +| Docker three-container | You want agent gateway plus dashboard plus WebUI | Same caveats as two-container, plus the dashboard service. | +| Native Windows community path | You are intentionally testing unsupported native Windows | Community-maintained for now, not the official bootstrap path. | + +If a Docker install gets confusing, start again with the single-container setup. +It avoids most UID/GID, source-volume, and tool-location surprises. See +[Docker setup guide](docker.md) for the full container reference. + +## Re-running onboarding safely + +Do not delete `~/.hermes` just to see the wizard again. That directory can hold +your real Hermes config, credentials, memory, skills, profiles, sessions, and +cron state. + +For a clean local trial, use an isolated Hermes home and WebUI state directory: + +```bash +mkdir -p ~/hermes-onboarding-test +HERMES_HOME=~/hermes-onboarding-test/.hermes \ +HERMES_WEBUI_STATE_DIR=~/hermes-onboarding-test/webui \ +HERMES_WEBUI_PORT=8789 \ +python3 bootstrap.py +``` + +Then open `http://127.0.0.1:8789`. + +If your repo has a `.env` file, remember that the bootstrap loads it. Remove or +adjust any `HERMES_HOME`, `HERMES_WEBUI_STATE_DIR`, or `HERMES_WEBUI_PORT` +entries there before using the isolated command above. + +For managed hosting or fully preconfigured images, set +`HERMES_WEBUI_SKIP_ONBOARDING=1` to bypass the wizard. + +## What the wizard checks + +The first screen reports the runtime state WebUI can see: + +- Hermes Agent importability: whether WebUI can import and run `AIAgent`. +- Provider status: whether `config.yaml` and credential state are enough for a + chat request. +- Password status: whether WebUI password protection is enabled. +- Config paths: the active `config.yaml` and `.env` locations for this profile. + +If the agent check fails, use [Troubleshooting](troubleshooting.md), especially +the `AIAgent not available` section. If provider setup is incomplete, continue +through the wizard or run `hermes model` in the same machine environment that +will run WebUI. + +## Choosing a provider + +The setup step groups providers by how much information they usually need. + +| Group | Examples | What you usually enter | +|---|---|---| +| Easy start | OpenRouter, Anthropic, OpenAI | API key and model. | +| Open / self-hosted | Ollama, LM Studio, custom OpenAI-compatible | Base URL, model, optional API key. | +| Specialized | Gemini, DeepSeek, Xiaomi MiMo, Z.AI / GLM, NVIDIA NIM, Mistral, xAI | Provider API key and default model. | + +For API-key providers, the wizard writes the key to the active Hermes `.env` +file and writes the default model/provider to `config.yaml`. + +For local providers, the API key field can be blank when the server is keyless. +Most LM Studio, Ollama, vLLM, llama-server, and TabbyAPI installs run this way. +Use **Test connection** to verify the Base URL and populate the model list +before continuing. + +Advanced provider flows such as Nous Portal and GitHub Copilot are still +terminal-first. OpenAI Codex and Anthropic Claude Code OAuth can be started in +the onboarding flow when your Hermes config selects the corresponding provider. +If the wizard points you back to `hermes model`, use that CLI flow first, then +refresh WebUI. + +## Base URL rules for local model servers + +For self-hosted providers, the Base URL should point to the OpenAI-compatible +API root. Common examples: + +| Server | Typical Base URL | +|---|---| +| LM Studio on the same non-Docker host | `http://127.0.0.1:1234/v1` | +| Ollama on the same non-Docker host | `http://127.0.0.1:11434/v1` | +| LM Studio from Docker Desktop | `http://host.docker.internal:1234/v1` | +| Ollama from Docker Desktop | `http://host.docker.internal:11434/v1` | +| Local server on another LAN machine | `http://:/v1` | + +Inside Docker, `localhost` means the WebUI container itself, not your Mac, +Windows host, or another machine on your LAN. If LM Studio or Ollama is running +outside the container, use `host.docker.internal` on Docker Desktop or the +server's LAN IP address. + +The wizard probes `/models` before saving. A successful probe fills +the model dropdown. A failed probe blocks the setup step and shows an inline +error such as DNS failure, connection refused, timeout, HTTP error, or +unexpected response shape. + +## Workspace step + +The workspace is the filesystem location Hermes should use for new sessions. +It can be a source checkout, a project directory, or a general workspace folder. + +In Docker, the default browsable path is `/workspace`, which maps to the host +directory mounted by the compose file. If the workspace appears empty, check the +Docker UID/GID and mount guidance in [Docker setup guide](docker.md). + +## Password step + +Password protection is optional for localhost-only installs. Enable it if you +expose WebUI outside `127.0.0.1`, behind a reverse proxy, or on a LAN. + +The password is stored through the normal WebUI settings path and hashed +server-side. You can change it later from Settings. + +## What gets written + +The wizard uses the same files and APIs as the normal app: + +- Active Hermes `config.yaml`: provider, default model, and Base URL when + relevant. +- Active Hermes `.env`: provider API keys when you entered one. +- WebUI `settings.json`: onboarding completion, workspace, password state, and + other WebUI preferences. + +State normally lives outside the repository. By default: + +- Hermes Agent state: `~/.hermes` +- WebUI state: `~/.hermes/webui` + +Override these with `HERMES_HOME` and `HERMES_WEBUI_STATE_DIR` when you need an +isolated test install. + +## When to file an issue + +File an issue when the diagnostics point to WebUI rather than local +configuration. Include: + +1. Install path: local bootstrap, Docker single-container, Docker + two-container, Docker three-container, WSL2, or community native Windows. +2. Output from `/health`, or the startup banner if the server never starts. +3. The provider selected in onboarding and the Base URL shape, with secrets + redacted. +4. For Docker provider problems, the result of probing from inside the + container, for example: + +```bash +docker exec hermes-webui sh -c 'curl -sS -w "\nHTTP %{http_code}\n" http://host.docker.internal:1234/v1/models | head -50' +``` + +5. Any inline wizard error text and relevant logs. + +Never paste API keys, OAuth tokens, or full `.env` contents into an issue. From 186453ea0e3cd77e2699525f9e4b0803aceeb40b Mon Sep 17 00:00:00 2001 From: Frank Song Date: Mon, 11 May 2026 12:00:07 +0800 Subject: [PATCH 204/298] Add worktree-backed session creation --- CHANGELOG.md | 2 + api/models.py | 33 +++- api/routes.py | 17 ++ api/worktrees.py | 73 ++++++++ docs/pr-media/1955/after-workspace-menu.png | Bin 0 -> 184605 bytes docs/pr-media/1955/before-workspace-menu.png | Bin 0 -> 180255 bytes static/i18n.js | 40 ++++ static/panels.js | 18 ++ static/sessions.js | 11 +- static/style.css | 15 +- tests/test_issue1955_worktree_sessions.py | 187 +++++++++++++++++++ tests/test_issue1955_worktree_ui_static.py | 44 +++++ 12 files changed, 433 insertions(+), 7 deletions(-) create mode 100644 api/worktrees.py create mode 100644 docs/pr-media/1955/after-workspace-menu.png create mode 100644 docs/pr-media/1955/before-workspace-menu.png create mode 100644 tests/test_issue1955_worktree_sessions.py create mode 100644 tests/test_issue1955_worktree_ui_static.py diff --git a/CHANGELOG.md b/CHANGELOG.md index adde54b6da..b5cf6704be 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,8 @@ ## [Unreleased] +- Added worktree-backed conversation creation for development sessions: the workspace menu can now create a new conversation in a Hermes Agent git worktree, persist the worktree path/branch/repo metadata on the session, and show a sidebar worktree indicator without adding automatic cleanup yet (#1955). + ## [v0.51.42] — 2026-05-11 — Release R (5-PR contributor batch — session recovery state.db reconciliation + RFC convention + MEDIA_ALLOWED_ROOTS + Slack cron delivery) ### Added diff --git a/api/models.py b/api/models.py index 62099f05ae..b15d553174 100644 --- a/api/models.py +++ b/api/models.py @@ -335,6 +335,10 @@ def __init__(self, session_id: str=None, title: str='Untitled', gateway_routing=None, gateway_routing_history=None, llm_title_generated: bool=False, parent_session_id: str=None, + worktree_path=None, + worktree_branch=None, + worktree_repo_root=None, + worktree_created_at=None, enabled_toolsets=None, composer_draft=None, **kwargs): @@ -370,6 +374,10 @@ def __init__(self, session_id: str=None, title: str='Untitled', self.gateway_routing_history = gateway_routing_history if isinstance(gateway_routing_history, list) else [] self.llm_title_generated = bool(llm_title_generated) self.parent_session_id = parent_session_id + self.worktree_path = str(Path(worktree_path).expanduser().resolve()) if worktree_path else None + self.worktree_branch = str(worktree_branch) if worktree_branch else None + self.worktree_repo_root = str(Path(worktree_repo_root).expanduser().resolve()) if worktree_repo_root else None + self.worktree_created_at = worktree_created_at self.is_cli_session = bool(kwargs.get('is_cli_session', False)) self.source_tag = kwargs.get('source_tag') self.raw_source = kwargs.get('raw_source') @@ -417,6 +425,7 @@ def save(self, touch_updated_at: bool = True, skip_index: bool = False) -> None: 'context_length', 'threshold_tokens', 'last_prompt_tokens', 'gateway_routing', 'gateway_routing_history', 'llm_title_generated', 'parent_session_id', + 'worktree_path', 'worktree_branch', 'worktree_repo_root', 'worktree_created_at', 'is_cli_session', 'source_tag', 'raw_source', 'session_source', 'source_label', 'enabled_toolsets', 'composer_draft', ] @@ -584,6 +593,12 @@ def compact(self, include_runtime=False, active_stream_ids=None) -> dict: # Only emit 'parent_session_id' when set (the /branch fork link, #1342). # Sessions without a fork must not leak None — see test_session_lineage_metadata_api. **({'parent_session_id': self.parent_session_id} if self.parent_session_id else {}), + **({ + 'worktree_path': self.worktree_path, + 'worktree_branch': self.worktree_branch, + 'worktree_repo_root': self.worktree_repo_root, + 'worktree_created_at': self.worktree_created_at, + } if self.worktree_path else {}), 'user_message_count': sum( 1 for message in self.messages if _message_role(message) == 'user' ) if isinstance(self.messages, list) else 0, @@ -896,7 +911,7 @@ def get_session(sid, metadata_only=False): return s raise KeyError(sid) -def new_session(workspace=None, model=None, profile=None, model_provider=None, project_id=None): +def new_session(workspace=None, model=None, profile=None, model_provider=None, project_id=None, worktree_info=None): """Create a new in-memory session. The session lives in the SESSIONS dict only — no disk write happens until @@ -911,7 +926,9 @@ def new_session(workspace=None, model=None, profile=None, model_provider=None, p Crash-safety: if the process exits between session creation and first message, the session is lost. Since it had no messages, there is - nothing to lose. + nothing to lose. Worktree-backed sessions are the exception: they are + saved immediately because creating the session also creates real + filesystem state that must remain discoverable after restart. *profile* — when supplied by the caller (e.g. from the request body sent by the active browser tab), it is used directly so that concurrent clients @@ -927,18 +944,26 @@ def new_session(workspace=None, model=None, profile=None, model_provider=None, p except ImportError: profile = None effective_model = model or get_effective_default_model() + wt = worktree_info if isinstance(worktree_info, dict) else None + workspace_path = (wt.get('path') if wt and wt.get('path') else workspace) if wt else workspace s = Session( - workspace=workspace or get_last_workspace(), + workspace=workspace_path or get_last_workspace(), model=effective_model, model_provider=model_provider, profile=profile, project_id=project_id, + worktree_path=wt.get('path') if wt else None, + worktree_branch=wt.get('branch') if wt else None, + worktree_repo_root=wt.get('repo_root') if wt else None, + worktree_created_at=wt.get('created_at') if wt else None, ) with LOCK: SESSIONS[s.session_id] = s SESSIONS.move_to_end(s.session_id) while len(SESSIONS) > SESSIONS_MAX: SESSIONS.popitem(last=False) + if wt: + s.save() return s def _hide_from_default_sidebar(session: dict) -> bool: @@ -1042,6 +1067,7 @@ def all_sessions(diag=None): and s.get('message_count', 0) == 0 and not s.get('active_stream_id') and not s.get('has_pending_user_message') + and not s.get('worktree_path') )] result = [s for s in result if not _hide_from_default_sidebar(s)] # Backfill: sessions created before Sprint 22 have no profile tag. @@ -1077,6 +1103,7 @@ def all_sessions(diag=None): and len(s.messages) == 0 and not s.active_stream_id and not s.pending_user_message + and not getattr(s, 'worktree_path', None) )] result = [s for s in result if not _hide_from_default_sidebar(s)] for s in result: diff --git a/api/routes.py b/api/routes.py index 1835488511..b753857a32 100644 --- a/api/routes.py +++ b/api/routes.py @@ -3849,6 +3849,22 @@ def handle_post(handler, parsed) -> bool: workspace = str(resolve_trusted_workspace(body.get("workspace"))) if body.get("workspace") else None except ValueError as e: return bad(handler, str(e)) + worktree_info = None + worktree_requested = ( + body.get("worktree") is True + or str(body.get("worktree")).strip().lower() in {"1", "true", "yes", "on"} + ) + if worktree_requested: + try: + from api.worktrees import create_worktree_for_workspace + base_workspace = workspace or str(resolve_trusted_workspace(get_last_workspace())) + worktree_info = create_worktree_for_workspace(base_workspace) + workspace = worktree_info["path"] + except ValueError as e: + return bad(handler, str(e), status=400) + except Exception as e: + logger.exception("failed to create worktree-backed session") + return bad(handler, f"Failed to create worktree: {e}", status=500) model, model_provider = _session_model_state_from_request( body.get("model"), body.get("model_provider"), @@ -3861,6 +3877,7 @@ def handle_post(handler, parsed) -> bool: model_provider=model_provider, profile=body.get("profile") or None, project_id=body.get("project_id") or None, + worktree_info=worktree_info, ) return j(handler, {"session": s.compact() | {"messages": s.messages}}) diff --git a/api/worktrees.py b/api/worktrees.py new file mode 100644 index 0000000000..330a43858b --- /dev/null +++ b/api/worktrees.py @@ -0,0 +1,73 @@ +"""Helpers for WebUI-managed Hermes Agent git worktrees.""" + +from __future__ import annotations + +import subprocess +import time +from contextlib import redirect_stderr, redirect_stdout +from io import StringIO +from pathlib import Path + +import logging + +logger = logging.getLogger(__name__) + + +def find_git_repo_root(workspace: str | Path) -> Path: + """Return the enclosing git repo root for *workspace*. + + Use git itself instead of checking ``workspace/.git`` so nested workspaces + and linked git worktrees are both handled correctly. + """ + ws = Path(workspace).expanduser().resolve() + if not ws.is_dir(): + raise ValueError("Workspace path does not exist or is not a directory") + try: + result = subprocess.run( + ["git", "rev-parse", "--show-toplevel"], + cwd=ws, + text=True, + capture_output=True, + timeout=5, + check=False, + ) + except (OSError, subprocess.TimeoutExpired) as exc: + raise ValueError("Workspace is not inside a git repository") from exc + if result.returncode != 0: + raise ValueError("Workspace is not inside a git repository") + root = result.stdout.strip() + if not root: + raise ValueError("Workspace is not inside a git repository") + return Path(root).expanduser().resolve() + + +def _setup_agent_worktree(repo_root: str) -> dict: + try: + import api.config # noqa: F401 # ensure Hermes Agent dir is on sys.path + from cli import _setup_worktree + except Exception as exc: + raise RuntimeError("Hermes Agent worktree helper is unavailable") from exc + output = StringIO() + with redirect_stdout(output), redirect_stderr(output): + info = _setup_worktree(repo_root) + emitted = output.getvalue().strip() + if emitted: + logger.debug("Hermes Agent worktree helper output: %s", emitted) + if not info: + raise RuntimeError("Hermes Agent failed to create a git worktree") + return info + + +def create_worktree_for_workspace(workspace: str | Path) -> dict: + repo_root = find_git_repo_root(workspace) + info = _setup_agent_worktree(str(repo_root)) + path = info.get("path") + branch = info.get("branch") + if not path or not branch: + raise RuntimeError("Hermes Agent returned incomplete worktree metadata") + return { + "path": str(Path(path).expanduser().resolve()), + "branch": str(branch), + "repo_root": str(Path(info.get("repo_root") or repo_root).expanduser().resolve()), + "created_at": time.time(), + } diff --git a/docs/pr-media/1955/after-workspace-menu.png b/docs/pr-media/1955/after-workspace-menu.png new file mode 100644 index 0000000000000000000000000000000000000000..a3db27696ee2c7ab97efb4273dea613c642c82f5 GIT binary patch literal 184605 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

    ^z7=fpx_R@wbyh9=mFE4w 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

    Lg5m2|W#^LMFinhv5%K}Qf6r>K z1b)1fIKU^>2_o?Efnp|=6Bo(*lz~CRiRkZ1IRs=Xyv4&`DTxd@e<~95h^jXNpDbUo z`$^9-(o&sZ1pqHoQ`2jkH~(q^ou+7Uu(8Ke9lCp*Aw0Sz%pA>A;L7^~)SEW*4d7eL zkE1g)W%d?Q0jXhPYa7te2Nr%xCGZcuL__oAPkt;_`cFj@^SYw4Qh`i>jZJ+cyx0&O z@AR|=u#xlUT2TTz;@9H%{D=7FC0f|Or_`t8~ zu_nx<4diI5?WZTAcDg^*89GHq<>hg}J7qL9d;i|_{d*MZ;+=aRBEta+P0wWoo6SOt z55ijG3`BH;9d;BXVuFx&r{T10@ZNzv%&^98er>Q3P;)k>rng(Aa4Ys3|N8n@+S)(< z?@+X~geGgn3_AbzuzsG)ew&)o`DJd!M(r9RCvb2<*0}-F{1JmK|g#{il{aqw7JHT5? zzXW3IeY}wz5I{=}%rD@mi1&B^uv(vY4R6pAuG5{LD|C2SYa72X6hD zFVdt}J=1*Ol}@@q#Uh=~F7FsVp(QYIW75UWf2duQcBq{Vdhu4`4FvL008efa{=|Ov z`|zI5>Vz5^-oBiWJ{qKqD^dsofndo%&;b$c55a^$=n|MnMJz*q0?YUJ>Z!8c?6+h)-rFKqiINK!ed!Jj~0D7=<0ku~xE EKLIfqXaE2J literal 0 HcmV?d00001 diff --git a/docs/pr-media/1955/before-workspace-menu.png b/docs/pr-media/1955/before-workspace-menu.png new file mode 100644 index 0000000000000000000000000000000000000000..3906dce4d3f504dc513faadf52e16ba3094e339a GIT binary patch literal 180255 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�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 + closeWsDropdown(); + try{ + await newSession(false,{worktree:true}); + await renderSessionList(); + const msg=$('msg'); + if(msg)msg.focus(); + showToast(t('workspace_worktree_created')); + }catch(e){ + showToast(t('workspace_worktree_failed')+(e&&e.message?e.message:e),'error'); + } + } + )); + dd.appendChild(document.createElement('div')).className='ws-divider'; dd.appendChild(_renderWorkspaceAction( t('workspace_choose_path'), t('workspace_choose_path_meta'), diff --git a/static/sessions.js b/static/sessions.js index 2251b90291..023cf845ec 100644 --- a/static/sessions.js +++ b/static/sessions.js @@ -340,7 +340,7 @@ function _markPollingCompletionUnreadTransitions(sessions) { } } -async function newSession(flash){ +async function newSession(flash, options={}){ updateQueueBadge(); S.toolCalls=[]; clearLiveToolCards(); @@ -371,6 +371,7 @@ async function newSession(flash){ workspace:inheritWs, profile:S.activeProfile||'default', }; + if(options&&options.worktree) reqBody.worktree=true; if(_activeProject&&_activeProject!==NO_PROJECT_FILTER) reqBody.project_id=_activeProject; const data=await api('/api/session/new',{method:'POST',body:JSON.stringify(reqBody)}); S.session=data.session;S.messages=data.session.messages||[]; @@ -2581,6 +2582,14 @@ function renderSessionListFromCache(){ pinInd.innerHTML=ICONS.pin; titleRow.appendChild(pinInd); } + if(s.worktree_path){ + const wtInd=document.createElement('span'); + wtInd.className='session-worktree-indicator'; + wtInd.innerHTML=li('git-branch',12); + const wtLabel=(typeof t==='function'?t('session_worktree_badge'):'Worktree'); + wtInd.title=`${wtLabel}: ${s.worktree_branch||s.worktree_path}`; + titleRow.appendChild(wtInd); + } // Parent session indicator for forked/branched sessions (#465) if(s.parent_session_id){ const branchInd=document.createElement('span'); diff --git a/static/style.css b/static/style.css index b1ce49854d..d1cb981423 100644 --- a/static/style.css +++ b/static/style.css @@ -2641,7 +2641,8 @@ main.main.showing-logs > #mainLogs{display:flex;} .session-pin-indicator svg{width:10px;height:10px;} /* ── Fork lineage indicator (inline, subtle until row focus/hover) ── */ -.session-branch-indicator{ +.session-branch-indicator, +.session-worktree-indicator{ flex-shrink:0; width:12px; height:12px; @@ -2654,14 +2655,22 @@ main.main.showing-logs > #mainLogs{display:flex;} pointer-events:none; transition:opacity .15s ease,color .15s ease; } -.session-branch-indicator svg{width:12px;height:12px;} +.session-branch-indicator svg, +.session-worktree-indicator svg{width:12px;height:12px;} .session-item:hover .session-branch-indicator, +.session-item:hover .session-worktree-indicator, .session-item:focus-within .session-branch-indicator, +.session-item:focus-within .session-worktree-indicator, .session-item.menu-open .session-branch-indicator{ opacity:.85; color:var(--text); } -.session-item.active .session-branch-indicator{color:var(--accent-text);} +.session-item.menu-open .session-worktree-indicator{ + opacity:.85; + color:var(--text); +} +.session-item.active .session-branch-indicator, +.session-item.active .session-worktree-indicator{color:var(--accent-text);} /* ── Cron alert badge ── */ .cron-badge{position:absolute;top:2px;right:2px;background:#e53e3e;color:#fff;font-size:9px;font-weight:700;min-width:14px;height:14px;line-height:14px;text-align:center;border-radius:7px;padding:0 3px;} diff --git a/tests/test_issue1955_worktree_sessions.py b/tests/test_issue1955_worktree_sessions.py new file mode 100644 index 0000000000..2c72d2a1a6 --- /dev/null +++ b/tests/test_issue1955_worktree_sessions.py @@ -0,0 +1,187 @@ +import json +import subprocess +import time +from types import SimpleNamespace + +import pytest + +import api.models as models +from api.models import SESSIONS, Session, new_session + + +@pytest.fixture(autouse=True) +def _isolate_sessions(tmp_path, monkeypatch): + session_dir = tmp_path / "sessions" + session_dir.mkdir() + monkeypatch.setattr(models, "SESSION_DIR", session_dir) + monkeypatch.setattr(models, "SESSION_INDEX_FILE", session_dir / "_index.json") + SESSIONS.clear() + yield session_dir + SESSIONS.clear() + + +def test_worktree_metadata_round_trips_through_session_file(_isolate_sessions): + s = Session( + session_id="worktree001", + workspace=str(_isolate_sessions.parent / "repo" / ".worktrees" / "hermes-1234"), + worktree_path=str(_isolate_sessions.parent / "repo" / ".worktrees" / "hermes-1234"), + worktree_branch="hermes/hermes-1234", + worktree_repo_root=str(_isolate_sessions.parent / "repo"), + worktree_created_at=123.5, + ) + s.save() + + raw = json.loads(s.path.read_text(encoding="utf-8")) + assert raw["worktree_path"].endswith(".worktrees/hermes-1234") + assert raw["worktree_branch"] == "hermes/hermes-1234" + assert raw["worktree_repo_root"].endswith("repo") + assert raw["worktree_created_at"] == 123.5 + + loaded = Session.load("worktree001") + assert loaded.worktree_path == s.worktree_path + assert loaded.worktree_branch == "hermes/hermes-1234" + assert loaded.worktree_repo_root == s.worktree_repo_root + assert loaded.worktree_created_at == 123.5 + assert loaded.compact()["worktree_branch"] == "hermes/hermes-1234" + + +def test_new_session_with_worktree_info_persists_immediately(_isolate_sessions): + repo = _isolate_sessions.parent / "repo" + worktree = repo / ".worktrees" / "hermes-abcd1234" + worktree.mkdir(parents=True) + + s = new_session( + workspace=str(worktree), + worktree_info={ + "path": str(worktree), + "branch": "hermes/hermes-abcd1234", + "repo_root": str(repo), + "created_at": 456.0, + }, + ) + + assert s.path.exists(), ( + "worktree-backed sessions must be persisted at creation time so the " + "real filesystem worktree is not orphaned by a browser/server restart" + ) + assert s.worktree_path == str(worktree.resolve()) + assert s.worktree_branch == "hermes/hermes-abcd1234" + assert s.worktree_repo_root == str(repo.resolve()) + assert s.worktree_created_at == 456.0 + + +def test_empty_worktree_session_remains_visible_in_sidebar(_isolate_sessions): + repo = _isolate_sessions.parent / "repo" + worktree = repo / ".worktrees" / "hermes-visible" + worktree.mkdir(parents=True) + + s = new_session( + workspace=str(worktree), + worktree_info={ + "path": str(worktree), + "branch": "hermes/hermes-visible", + "repo_root": str(repo), + "created_at": 789.0, + }, + ) + + ids = {row["session_id"] for row in models.all_sessions()} + assert s.session_id in ids, ( + "worktree-backed sessions represent real filesystem state immediately " + "and must survive the empty-session sidebar filter" + ) + + +def test_find_git_repo_root_uses_git_from_nested_workspace(tmp_path): + from api.worktrees import find_git_repo_root + + repo = tmp_path / "repo" + nested = repo / "apps" / "web" + nested.mkdir(parents=True) + subprocess.run(["git", "init"], cwd=repo, check=True, capture_output=True) + + assert find_git_repo_root(nested) == repo.resolve() + + +def test_find_git_repo_root_rejects_non_git_workspace(tmp_path): + from api.worktrees import find_git_repo_root + + with pytest.raises(ValueError, match="not inside a git repository"): + find_git_repo_root(tmp_path) + + +def test_create_worktree_for_workspace_calls_agent_setup_with_repo_root(tmp_path, monkeypatch): + import api.worktrees as worktrees + + repo = tmp_path / "repo" + nested = repo / "src" + nested.mkdir(parents=True) + subprocess.run(["git", "init"], cwd=repo, check=True, capture_output=True) + seen = {} + + def fake_setup(repo_root): + seen["repo_root"] = repo_root + return { + "path": str(repo / ".worktrees" / "hermes-test"), + "branch": "hermes/hermes-test", + "repo_root": str(repo), + } + + monkeypatch.setattr(worktrees, "_setup_agent_worktree", fake_setup) + now = time.time() + + info = worktrees.create_worktree_for_workspace(nested) + + assert seen["repo_root"] == str(repo.resolve()) + assert info["path"].endswith(".worktrees/hermes-test") + assert info["branch"] == "hermes/hermes-test" + assert info["repo_root"] == str(repo.resolve()) + assert info["created_at"] >= now + + +def test_session_new_route_creates_worktree_backed_session(tmp_path, monkeypatch): + import api.routes as routes + import api.worktrees as worktrees + + repo = tmp_path / "repo" + worktree = repo / ".worktrees" / "hermes-route" + repo.mkdir() + worktree.mkdir(parents=True) + + monkeypatch.setattr(routes, "_check_csrf", lambda handler: True) + monkeypatch.setattr( + routes, + "read_body", + lambda handler: { + "workspace": str(repo), + "worktree": True, + "profile": "default", + }, + ) + monkeypatch.setattr(routes, "resolve_trusted_workspace", lambda raw: repo if raw == str(repo) else raw) + monkeypatch.setattr( + worktrees, + "create_worktree_for_workspace", + lambda workspace: { + "path": str(worktree), + "branch": "hermes/hermes-route", + "repo_root": str(repo), + "created_at": 321.0, + }, + ) + captured = {} + monkeypatch.setattr( + routes, + "j", + lambda handler, payload, status=200, extra_headers=None: captured.update( + payload=payload, + status=status, + ) or True, + ) + + assert routes.handle_post(object(), SimpleNamespace(path="/api/session/new")) is True + assert captured["status"] == 200 + session = captured["payload"]["session"] + assert session["workspace"] == str(worktree.resolve()) + assert session["worktree_path"] == str(worktree.resolve()) + assert session["worktree_branch"] == "hermes/hermes-route" diff --git a/tests/test_issue1955_worktree_ui_static.py b/tests/test_issue1955_worktree_ui_static.py new file mode 100644 index 0000000000..d160d5a841 --- /dev/null +++ b/tests/test_issue1955_worktree_ui_static.py @@ -0,0 +1,44 @@ +from pathlib import Path + + +ROOT = Path(__file__).resolve().parents[1] + + +def read(path): + return (ROOT / path).read_text(encoding="utf-8") + + +def test_session_new_route_accepts_worktree_flag_and_uses_worktree_info(): + src = read("api/routes.py") + assert "create_worktree_for_workspace" in src + assert 'body.get("worktree")' in src or "body.get('worktree')" in src + assert "worktree_info=" in src + + +def test_new_session_request_can_include_worktree_flag(): + src = read("static/sessions.js") + assert "async function newSession(flash, options={})" in src + assert "reqBody.worktree=true" in src + + +def test_workspace_dropdown_exposes_new_worktree_conversation_action(): + src = read("static/panels.js") + assert "workspace_new_worktree_conversation" in src + assert "workspace_new_worktree_conversation_meta" in src + assert "newSession(false,{worktree:true})" in src + assert "li('git-branch',12)" in src + + +def test_session_sidebar_renders_worktree_indicator(): + src = read("static/sessions.js") + assert "session-worktree-indicator" in src + assert "s.worktree_path" in src + assert "s.worktree_branch" in src + + +def test_worktree_indicator_styles_and_i18n_exist(): + css = read("static/style.css") + i18n = read("static/i18n.js") + assert ".session-worktree-indicator" in css + assert "workspace_new_worktree_conversation" in i18n + assert "session_worktree_badge" in i18n From 2dbee503c2f01d5b217443a772e5cfbb02b8f1cd Mon Sep 17 00:00:00 2001 From: nesquena-hermes Date: Mon, 11 May 2026 04:49:18 +0000 Subject: [PATCH 205/298] feat(ux): collapse sidebar by clicking the active rail icon (fuses #1884 + #1924) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Lets desktop users collapse the session-list sidebar to maximise the chat area, without adding any visible UI affordance. Default appearance is identical to master — only users who actively try to toggle (or know the keyboard shortcut) ever see a difference. ## Behaviour (desktop only, ≥641px) | State | Action | Result | |------------------------------------|-----------------------|-----------------------------------------| | Sidebar open, click active rail | Toggle | Sidebar collapses to width:0 | | Sidebar open, click different rail | Normal switch | **Sidebar stays open** (no surprise) | | Sidebar collapsed, click any rail | Expand + switch | Sidebar expands, then panel switches | | Anywhere, Cmd/Ctrl+B | Toggle | Same as same-active-rail click | | Mobile (<641px), any of the above | No-op | Mobile overlay behaviour unchanged | Two discoverability paths, both opt-in. **No new visible buttons.** Users who never click the active rail icon see zero UI change vs. master. ## Surface-minimal design The behaviour is contained behind one extra arg on the rail/sidebar-nav onclick: `switchPanel('chat',{fromRailClick:true})`. Without that flag the function preserves master's behaviour exactly — every programmatic `switchPanel(name)` callsite (commands, deeplinks, internal state changes) is unaffected. The guard chain inside `switchPanel`: opts.fromRailClick && _isDesktopWidth() && ( _isSidebarCollapsed() ? expandSidebar() : prevPanel === nextPanel ? (toggleSidebar(true); return false)) is the ONLY new code path that can cause a collapse. Cross-panel clicks fall through to the existing switch logic untouched. ## Polish from both source PRs - **Click-active gesture** as the primary toggle (#1884 @jasonjcwu — the genuine UX innovation; no extra button needed) - **Cmd/Ctrl+B keyboard shortcut** (#1924 @spektro33; VS Code convention). Guarded against firing when typing in INPUT / TEXTAREA / contenteditable so the shortcut never steals from in-progress text editing. - **Inline flash-prevention ` + @@ -86,36 +87,36 @@

    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