mirror of
https://github.com/pewdiepie-archdaemon/odysseus.git
synced 2026-11-08 14:12:22 +01:00
_isAgent was a const inside the try block of handleChatSubmit, but the catch block reads it to pick the timeout message, so a client timeout threw a ReferenceError and left the reply bubble empty. Declare it next to the other catch-visible variables and assign it where it is computed.
This commit is contained in:
+2
-1
@@ -2588,6 +2588,7 @@ import { invalidateSettings } from './appConfig.js';
|
|||||||
currentHolder = null;
|
currentHolder = null;
|
||||||
|
|
||||||
let abortCtrl = null;
|
let abortCtrl = null;
|
||||||
|
let _isAgent = false; // read by the catch block's timeout message
|
||||||
let streamingTTS = false;
|
let streamingTTS = false;
|
||||||
try {
|
try {
|
||||||
// Re-enable auto-scroll when user sends a message
|
// Re-enable auto-scroll when user sends a message
|
||||||
@@ -2985,7 +2986,7 @@ import { invalidateSettings } from './appConfig.js';
|
|||||||
currentAbort = abortCtrl;
|
currentAbort = abortCtrl;
|
||||||
|
|
||||||
const _tState = Storage.loadToggleState();
|
const _tState = Storage.loadToggleState();
|
||||||
const _isAgent = (_tState.mode || 'chat') === 'agent' || !!_tState.plan_mode || workspaceAgentIntent;
|
_isAgent = (_tState.mode || 'chat') === 'agent' || !!_tState.plan_mode || workspaceAgentIntent;
|
||||||
|
|
||||||
// Timeout: 6 min for research and agent mode, 3 min otherwise
|
// Timeout: 6 min for research and agent mode, 3 min otherwise
|
||||||
const timeoutMs = el('research-toggle').checked || _isAgent ? RESEARCH_TIMEOUT_MS : DEFAULT_TIMEOUT_MS;
|
const timeoutMs = el('research-toggle').checked || _isAgent ? RESEARCH_TIMEOUT_MS : DEFAULT_TIMEOUT_MS;
|
||||||
|
|||||||
@@ -0,0 +1,13 @@
|
|||||||
|
from pathlib import Path
|
||||||
|
import re
|
||||||
|
|
||||||
|
|
||||||
|
ROOT = Path(__file__).resolve().parents[1]
|
||||||
|
|
||||||
|
|
||||||
|
def test_timeout_catch_can_read_is_agent():
|
||||||
|
"""The catch block reads _isAgent, so it must not be a try-scoped const (#6764)."""
|
||||||
|
src = (ROOT / "static/js/chat.js").read_text()
|
||||||
|
assert re.search(r"^\s*let _isAgent = false;", src, re.M)
|
||||||
|
assert not re.search(r"\bconst _isAgent\b", src)
|
||||||
|
assert re.search(r"^\s*_isAgent = \(_tState\.mode", src, re.M)
|
||||||
Reference in New Issue
Block a user