Repository navigation
fix(web): a draft thread's panel says the Environment browser comes with its first message (#53) - #54
Conversation
…ith its first message On a new thread, before its first message, the right panel showed upstream's empty state with Browser "Only available in the desktop app." (#53). A draft is no thread of the server yet, so its tab stream answered 404, which an EventSource never retries. The draft also keeps its ref when its first message promotes it, so the failed stream stayed closed. Nová karta then did not appear on the new thread until the page was reloaded or the person navigated away and back. ChatView now tells the overlay whether the thread is a draft: - a draft opens no stream, and its empty panel stays upstream's; - under the list, and as the Browser row's reason, the panel says "Prohlížeč Environmentu bude k dispozici po první zprávě." (the variant Matěj chose on 2026-10-12); - once the thread is the server's, the stream opens and Nová karta follows. Where the server already said of another thread that this Environment has no browser, upstream's line stays. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
ChatView's one hook call now carries the draft flag. RightPanelTabs passes the overlay's line into the empty state, which uses it as the Browser row's reason and as one line under the list (#53). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Explains why a draft opens no tab stream, and what its empty panel says. The stream opens after the first message. The seam list and the pre-release browser check now include it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
agentrozjedemeai
left a comment
There was a problem hiding this comment.
@immakermatty APPROVED — exact head 06d3aed. Ověřil jsem přechod konceptu na serverové vlákno při stejném refu: draft neotevírá EventSource, změna příznaku znovu spouští efekt a po cleanupu otevírá stream. Věta v prázdném panelu je omezená na shell s Novou kartou a bez dřívějšího unavailable snapshotu; desktop a mobilní cesta zůstávají mimo overlay. Švy v ChatView/RightPanelTabs a kontrakt testu odpovídají diffu. Lokálně: 22/22 release-contract testů, git diff --check čistý; webové testy/typecheck/fmt jsou doložené zeleným CI na tomto headu, lokální web suite jsem bez závislostí nespouštěl. Vlákna 0, CI green, main c2dd835, mergeable. Schválení neznamená vydání stable: prohlížečový canary check a release gate zůstávají Matějovi.
Status: ready for review
Why
#53, found on the F47 canary and seen again by Matěj on 2026-10-12 in 0.0.45-preview.20261012.1. On a new thread before its first message, the right panel showed upstream's empty state, with Browser "Only available in the desktop app.", although the Environment has a browser.
A draft is no thread of the server yet. Its tab stream answered 404, which an EventSource never retries.
While fixing it, a second gap showed up. ChatView's promotion is data-driven: the draft keeps its thread ref when its first message makes it a server thread. So the failed stream was never reopened, and Nová karta did not appear on the new thread until a reload or a navigation away and back.
Matěj chose the smaller variant of #53 (2026-10-12): keep upstream's empty state on a draft, and say in one line why the browser is not there yet.
What changes
ChatView.tsx(the one hook call): it passesdraft: !isServerThreadtouseLazurioThreadTabs.LazurioEnvironmentBrowser.tsx,threadTabs.ts,LazurioNewTab.tsx):RightPanelTabs.tsx):<lazurio-new-tab>and a draft is in view, the empty state shows one line under the list: "Prohlížeč Environmentu bude k dispozici po první zprávě." (English: "The Environment browser comes with the first message.");Verification
vp test run src/lazurio(web): 72 passed, including the new cases:node --test scripts/lazurio-release-contract.test.mjs: 22 passed.vp fmt --check: clean. Web typecheck: clean.Release
Goes into the next T3 preview together with the Environment-name and panel tuning from Matěj's 2026-10-12 review, then stable
0.0.45-lazurio.8after his check.🤖 Generated with Claude Code