Before submitting
Area
apps/server
Summary
In an environment-hosted browser tab, when an address typed in the address bar is slow to respond, everything else you do in that tab waits for it. Clicks, scrolling, keystrokes, Back, Reload, and a corrected address all queue for up to 15 seconds before anything happens. A normal browser cancels the slow load as soon as you do something else.
Steps to reproduce
- In a thread on an environment without an attached desktop app, open the Browser panel. The tab reports
runtime: "server".
- Type an address whose host never answers (for example
https://10.255.255.1/) and press Enter.
- Right away, type
https://example.com/ and press Enter, or press Back, or click and scroll the page.
Expected behavior
The new address loads immediately, and the slow load is abandoned, as in Chrome.
Actual behavior
Nothing happens for about 15 seconds. Then the queued input runs all at once. If you do nothing, the tab shows Loading until Chromium's own connect timeout, about 2 minutes on Linux (133 s measured), and only then shows ERR_CONNECTION_TIMED_OUT.
Root cause
Every viewer input runs inside SessionControl.human (call site). SessionControl serializes actions: each one starts only after the previous one settles.
The viewer's navigate action awaits page.goto(url, VIEWER_NAVIGATION_OPTIONS) inside that queue. VIEWER_NAVIGATION_OPTIONS is { waitUntil: "commit", timeout: 15_000 }. history and reload work the same way. So a navigation that never commits holds the queue for the full 15 seconds. When it finally times out, the TimeoutError is swallowed by the viewer input handler's catch. Chromium keeps the request alive, so the tab stays Loading.
I confirmed the queuing directly against SessionControl. While a human action awaits a 3 s promise, standing in for the hung goto, the next human action, standing in for a click, ran after 3004 ms.
Impact
Minor bug or occasional failure
Version or commit
T3 Code 0.0.46-nightly.20261006.2735. Code references are at 72d5c32ba6.
Environment
t3 serve on Ubuntu 26.04, using chrome-headless-shell 154.0.8037.92. The client is the T3 Code (Nightly) desktop app on macOS 26.
Before submitting
Area
apps/server
Summary
In an environment-hosted browser tab, when an address typed in the address bar is slow to respond, everything else you do in that tab waits for it. Clicks, scrolling, keystrokes, Back, Reload, and a corrected address all queue for up to 15 seconds before anything happens. A normal browser cancels the slow load as soon as you do something else.
Steps to reproduce
runtime: "server".https://10.255.255.1/) and press Enter.https://example.com/and press Enter, or press Back, or click and scroll the page.Expected behavior
The new address loads immediately, and the slow load is abandoned, as in Chrome.
Actual behavior
Nothing happens for about 15 seconds. Then the queued input runs all at once. If you do nothing, the tab shows Loading until Chromium's own connect timeout, about 2 minutes on Linux (133 s measured), and only then shows
ERR_CONNECTION_TIMED_OUT.Root cause
Every viewer input runs inside
SessionControl.human(call site).SessionControlserializes actions: each one starts only after the previous one settles.The viewer's
navigateaction awaitspage.goto(url, VIEWER_NAVIGATION_OPTIONS)inside that queue.VIEWER_NAVIGATION_OPTIONSis{ waitUntil: "commit", timeout: 15_000 }.historyandreloadwork the same way. So a navigation that never commits holds the queue for the full 15 seconds. When it finally times out, theTimeoutErroris swallowed by the viewer input handler'scatch. Chromium keeps the request alive, so the tab stays Loading.I confirmed the queuing directly against
SessionControl. While ahumanaction awaits a 3 s promise, standing in for the hunggoto, the nexthumanaction, standing in for a click, ran after 3004 ms.Impact
Minor bug or occasional failure
Version or commit
T3 Code
0.0.46-nightly.20261006.2735. Code references are at72d5c32ba6.Environment
t3 serveon Ubuntu 26.04, usingchrome-headless-shell154.0.8037.92. The client is the T3 Code (Nightly) desktop app on macOS 26.