mirror of
https://github.com/nesquena/hermes-webui.git
synced 2026-07-12 02:30:24 +00:00
Render session recovery card from active session state
This commit is contained in:
+4
-1
@@ -13814,7 +13814,10 @@ function renderMessages(options){
|
||||
const summary=m.provider_details_label||'Provider details';
|
||||
bodyHtml += `<details class="provider-error-details"><summary>${esc(String(summary))}</summary><pre><code>${esc(String(m.provider_details))}</code></pre></details>`;
|
||||
}
|
||||
const recoveryHtml=(!isUser&&m._compressionRecovery) ? _compressionRecoveryHtml(m._compressionRecovery, (S.session&&S.session.session_id)||'') : '';
|
||||
const recoveryPayload=(!isUser&&m._compressionRecovery)
|
||||
? m._compressionRecovery
|
||||
: (!isUser&&isLastAssistant&&isTurnFinalAssistant&&typeof _activeCompressionRecoveryPayload==='function' ? _activeCompressionRecoveryPayload() : null);
|
||||
const recoveryHtml=recoveryPayload ? _compressionRecoveryHtml(recoveryPayload, (S.session&&S.session.session_id)||'') : '';
|
||||
if(recoveryHtml) bodyHtml += recoveryHtml;
|
||||
const statusHtml = (!isUser&&m._statusCard) ? _statusCardHtml(m._statusCard) : '';
|
||||
const isEditableUser=isUser&&rawIdx===lastUserRawIdx;
|
||||
|
||||
@@ -431,6 +431,19 @@ def test_compression_recovery_ui_wires_card_action_and_send_intercept():
|
||||
assert "_compressionRecovery:recovery||undefined" in messages
|
||||
|
||||
|
||||
def test_compression_recovery_ui_renders_session_level_recovery_on_terminal_message():
|
||||
ui = (ROOT / "static/ui.js").read_text(encoding="utf-8")
|
||||
start = ui.index("const recoveryPayload=(!isUser&&m._compressionRecovery)")
|
||||
end = ui.index("const statusHtml", start)
|
||||
body = ui[start:end]
|
||||
|
||||
assert "? m._compressionRecovery" in body
|
||||
assert "_activeCompressionRecoveryPayload()" in body
|
||||
assert "isLastAssistant&&isTurnFinalAssistant" in body
|
||||
assert "typeof _activeCompressionRecoveryPayload==='function'" in body
|
||||
assert body.index("m._compressionRecovery") < body.index("_activeCompressionRecoveryPayload()")
|
||||
|
||||
|
||||
def test_compression_recovery_ui_skips_message_fallback_after_session_clear():
|
||||
ui = (ROOT / "static/ui.js").read_text(encoding="utf-8")
|
||||
start = ui.index("function _activeCompressionRecoveryPayload(){")
|
||||
|
||||
Reference in New Issue
Block a user