Skip to content

feat(vscode): show scheduled wakeup status in Agent Manager - #14292

Merged
marius-kilocode merged 5 commits into
mainfrom
add-scheduled-wakeup-clock-icon
Sep 18, 2026
Merged

marius-kilocode merged 5 commits into
mainfrom
add-scheduled-wakeup-clock-icon

Conversation

@marius-kilocode

Copy link
Copy Markdown
Collaborator

Context

Sessions can schedule a wakeup that resumes them later (schedule_wakeup). While the timer is pending the session is idle, so the Agent Manager showed a plain idle indicator with no signal that a resume was scheduled. There was no way to tell a session that is truly done from one that will wake itself up.

Implementation

  • Forward the existing session.wakeup SSE event and seed pending counts from GET /kilocode/wakeups into the webview, next to the existing session status seeding.
  • Add a client-only scheduled activity. It ranks above idle and below done, busy, retry, error, and waiting. It does not roll up from child sessions and does not count as active, so it never starts the busy spinner or blocks worktree deletion.
  • Render a neutral clock icon on Agent Manager tabs, worktree rows, the Local row, the tab switcher, and the VS Code editor tab title.
  • Reconcile a seeded wakeup to zero only when every known directory answers, and track live wakeup events so a wakeup cancelled while disconnected is cleared.

Screenshots / Video

before after
Worktree row with the idle branch icon Worktree row with the scheduled clock icon

How to Test

Manual/local verification

  • In an isolated VS Code instance, opened the Agent Manager and dispatched a pending wakeup for a worktree session. Confirmed the worktree row changed from the branch icon to a neutral clock, with aria-label="Scheduled" and the same computed color as the idle icon.
  • Dispatched pending: 0 and confirmed the row returned to the branch icon.
  • bun run typecheck, bun run lint, and the focused unit tests pass.

Reviewer test steps

  1. Open the Agent Manager.
  2. Ask a session to call schedule_wakeup with a short delay, for example "schedule a wakeup in 2 minutes to check the build".
  3. Confirm the worktree row and session tab show a gray clock, and the hover card reads Scheduled / "Waiting for a scheduled wakeup."
  4. Run cancel_wakeup, or wait for the wakeup to fire, and confirm the icon returns to the branch and then to the busy spinner.

Blocked checks and substitute verification

  • The full extension unit suite passed except two tests/unit/worktree-manager.test.ts cases that fail only under parallel full-suite load. That file passes in isolation (134 tests, 0 fail) and does not touch this change, so these are unrelated flakes.

Comment thread packages/kilo-vscode/src/KiloProvider.ts Outdated
@kilo-code-bot

kilo-code-bot Bot commented Sep 18, 2026 •

Copy link
Copy Markdown
Contributor

Code Review Summary

Status: No Issues Found | Recommendation: Merge

The only change since the prior reviewed commit 10b4789 is a CI-generated visual-regression baseline update (a Git-LFS .png pointer) — no source changes were introduced. The prior review's resolution of the live session.wakeup / seed race remains valid at HEAD.

Files Reviewed (1 file)
  • packages/kilo-docs/public/img/screenshot-tests/kilo-vscode/visual-regression/agentmanager/full-screen-diff-with-changes-chromium-linux.png (CI-generated baseline)

Reviewed at commit 3075160.

Previous Review Summaries (2 snapshots, latest commit 10b4789)

Current summary above is authoritative. Previous snapshots are kept for context only.

Previous review (commit 10b4789)

Status: No Issues Found | Recommendation: Merge

The previous WARNING is resolved at HEAD: seedSessionWakeups now snapshots wakeupSessions before the awaits, records live pending counts in wakeupLive while seeding, unions them into the reconciled set, and skips the pending: 0 post for any session a live event already updated.

Files Reviewed (2 files)
  • packages/kilo-vscode/src/KiloProvider.ts
  • packages/kilo-vscode/tests/unit/kilo-provider-session-refresh.test.ts

Reviewed at commit 10b4789.

Previous review (commit 3ef8473)

Status: 1 Issue Found | Recommendation: Address before merge

Overview

Severity Count
CRITICAL 0
WARNING 1
SUGGESTION 0
Issue Details (click to expand)

WARNING

File Line Issue
packages/kilo-vscode/src/KiloProvider.ts 3316 A live session.wakeup arriving while the seed request is in flight can be reconciled to pending: 0 and dropped from wakeupSessions, clearing a still-valid scheduled indicator.
Files Reviewed (37 files)
  • packages/kilo-vscode/src/KiloProvider.ts - 1 issue
  • packages/kilo-vscode/src/session-status.ts
  • packages/kilo-vscode/src/kilo-provider-utils.ts
  • packages/kilo-vscode/src/kilo-provider/native-tab-title.ts
  • packages/kilo-vscode/src/services/cli-backend/connection-utils.ts
  • packages/kilo-vscode/webview-ui/src/utils/session-activity.ts
  • packages/kilo-vscode/webview-ui/src/context/session.tsx
  • packages/kilo-vscode/webview-ui/src/context/session-wakeup.ts
  • packages/kilo-vscode/webview-ui/src/components/shared/ActivityIcon.tsx
  • packages/kilo-vscode/webview-ui/src/types/messages/extension-messages.ts
  • packages/kilo-vscode/webview-ui/agent-manager/agent-manager.css
  • packages/kilo-ui/src/components/icon.tsx
  • packages/kilo-vscode/webview-ui/src/stories/session-tabs.stories.tsx
  • .changeset/scheduled-wakeup-status.md
  • 21 i18n dictionaries (session.activity.scheduled, session.tabs.switcher.scheduled)
  • 9 unit test files
  • 4 visual-regression baselines (CI-generated)

Fix these issues in Kilo Cloud


Reviewed at commit 3ef8473.


Reviewed by deepseek-v4.1-flash · Input: 0 · Output: 0 · Cached: 0

Review guidance: REVIEW.md from base branch main

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants