Surface non-blocking agent startup script failures to the user
@EhabY đang làm issue này rồi.
Từ ngày 23/9/2026.
Đánh giá
Issue này chưa được đánh giá.
Mô tả
Problem
When an agent ends up in start_error or start_timeout, the extension continues the connection and only writes a line to the Coder output channel:
Non-blocking startup scripts are useful because a developer can still reach a terminal and repair the workspace when one fails. But a failed script usually means the workspace is unhealthy, and right now someone connecting through the extension gets no visible signal. Output channel messages are easy to miss.
Raised in #1113 (comment). Tracking separately because the fix does not depend on the panel redesign.
Current behaviour
src/remote/workspaceStateMachine.ts treats both states the same way: close the agent log stream, log at info level, return true to continue connecting.
start_errorlogs "Agent startup scripts failed, but continuing"start_timeoutlogs "Agent startup scripts timed out, but continuing"
Suggested ways to surface it
Roughly in order of effort:
- Warning notification on connect. Show
vscode.window.showWarningMessagewhen the agent reachesstart_errororstart_timeout. Include the agent name, and the failing script if we can identify it. Offer actions:- "View Logs" to run the existing
coder.viewLogscommand - "Show Startup Logs" to reveal the agent log terminal already populated by
streamAgentLogs - "Dismiss"
- "View Logs" to run the existing
- Write a banner to the connection terminal. The state machine already writes to a terminal during startup. A clear failure banner there survives in scrollback, so the user can find it after the fact.
- Persistent status bar warning. A notification can be missed if the window is unfocused during connect. A warning status bar item that stays until clicked gives the user something to come back to.
WorkspaceMonitoralready owns a status bar item and is a reasonable home for this. - Decorate the tree item. Longer term, an unhealthy indicator on the workspace or agent in the Workspaces panel. This is the part that overlaps with #1113, so it can follow that work.
Suggest starting with 1 and 2, then evaluating 3.
Open questions
- Should this respect
coder.disableNotifications? That setting is documented as covering notifications delivered by the Coder deployment, so a client side health warning may deserve its own setting, for examplecoder.disableStartupScriptWarnings. - Should
start_timeoutread differently fromstart_error? A timed out script may still be running and eventually succeed, so the wording should not claim it failed outright. - Can we name the specific script that failed? Worth checking whether the agent scripts payload exposes per script exit status. If not, the message stays generic and points at the logs.
Acceptance criteria
- Connecting to a workspace whose non-blocking startup script failed produces a visible warning, not just an output channel line.
- The warning gives a direct path to the relevant logs.
- The connection still succeeds, matching today's behaviour.
- Both
start_errorandstart_timeoutare covered, with wording appropriate to each.
Created on behalf of @EhabY
- Ngôn ngữ chính
- TypeScript
- Star
- 131
- Fork
- 48
- Merge trung bình
- 4 ngày 15 giờ
- Pull request đã merge (30 ngày)
- 17
Hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của coder/vscode-coder
-
Migrate CI setup to pnpm/setup Đang mởtech-debt
coder/vscode-coder#1119 · 1 bình luận · 1 người được giao ·
-
enhancement tech-debt
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 74/100
coder/vscode-coder#1118 · 1 bình luận ·
-
coder/vscode-coder#1113 · 3 bình luận · 1 người được giao ·
-
Flush the connection log buffer after N failed reconnect attempts against an unreachable server Đang mởenhancement tech-debt
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 45/100
coder/vscode-coder#1112 · 1 bình luận ·
-
bug upstream
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 42/100
coder/vscode-coder#1087 · 1 bình luận ·
Tất cả issue của coder/vscode-coder
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
vercel-labs/just-bash#464 ·
-
looksLikeSlug() is ASCII-only, so non-Latin entity slugs (e.g. Korean) skip exact match and collapse Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 65/100
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 65/100
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 90/100
TanStack/tanstack.com#1293 ·