Skip to content

feat(sessions): label Desktop sessions as Desktop instead of Extension - #7810

Merged
JoshuaLowe1002 merged 2 commits into
mainfrom
feat/desktop-platform-label
Oct 16, 2026
Merged

JoshuaLowe1002 merged 2 commits into
mainfrom
feat/desktop-platform-label

Conversation

@JoshuaLowe1002

@JoshuaLowe1002 JoshuaLowe1002 commented Oct 16, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Kilo Desktop starts the CLI with KILO_PLATFORM=desktop, so its sessions are stored with created_on_platform = 'desktop'. None of the session UIs recognised that value:

  • The web badge falls back to Extension for any platform it doesn't know.
  • desktop was missing from KNOWN_PLATFORMS, so these sessions only showed up under the Other filter.

This PR makes desktop a known platform with its own badge and filter:

 KNOWN_PLATFORMS = [..., 'vscode', 'agent-manager',
+  'desktop',
   'app-builder', ...]

 SessionsList badge (web)
   cloud-agent | cloud-agent-web → Cloud
   cli                           → CLI
   agent-manager                 → Agent Manager
+  desktop                       → Desktop (Monitor icon)
   …anything else                → Extension

 Platform filters
   web  ChatSidebar          Cloud · Extension · + Desktop · CLI · …
   web  /cloud/sessions      … · Agent Manager · + Desktop · Gastown · Other
   mobile filter modal       Cloud · Extension · + Desktop · CLI · …
   mobile row icon           desktop → Monitor (previously no icon)

No backend or data changes. Existing rows already store desktop, so they display correctly as soon as this ships.

Verification

  • Not manually tested in a browser or on mobile yet; the changes add one more branch to existing badge and filter mappings.
  • Targeted mobile Vitest suites pass: session-platform-icon, live-session-filters, session-list-helpers, platform-filter-modal.mounted, catalog-parity, platform-label (218 tests), plus the src/i18n suites.
  • tsgo typecheck passes for web, app-shared and storybook, and oxlint and oxfmt are clean on the changed files.

Visual Changes

Badge on a Desktop-created session in /cloud/sessions:

Before After
purple Puzzle Extension cyan Monitor Desktop

The Storybook Cloud Agent/SessionsList story now includes a desktop session.

Reviewer Notes

  • i18n: the mobile Desktop filter row adds agentChat.sessionFilter.platformDesktop, translated in all 87 catalogs (same as other mobile copy PRs). check:i18n passes. The non-English translations were written by AI and are worth a quick look from someone who speaks the language.
  • "Other" filter change: adding desktop to KNOWN_PLATFORMS removes Desktop sessions from Other on web and mobile. They are now under the new Desktop filter instead.
  • components/cloud-agent-next/SessionsList.tsx currently has no importers. I updated it anyway so it doesn't drift from cloud-agent/SessionsList.tsx.

@kilo-code-bot

kilo-code-bot Bot commented Oct 16, 2026 •

Copy link
Copy Markdown
Contributor

Code Review Summary

Status: No Issues Found | Recommendation: Merge

Executive Summary

The incremental change lands agentChat.sessionFilter.platformDesktop in all 86 non-English mobile catalogs and makes catalog-parity.test.ts strict again; every catalog gains exactly one valid platformDesktop entry and no bugs, security, or performance issues are present in the changed lines.

Notes

  • Verified all 87 locale catalogs (including en.json, added in the prior commit) contain exactly one platformDesktop key and parse as valid JSON, so PENDING_TRANSLATION_KEYS being empty matches the data.
  • The diff adds only static JSON copy and a test-fixture edit, so there are no memory-leak or runtime concerns.
  • Non-English copy was AI-authored per the PR description and is a translation-quality concern, not a code defect.
Files Reviewed (87 files)
  • apps/mobile/src/i18n/catalog-parity.test.ts
  • apps/mobile/src/i18n/locales/*.json (86 catalogs; one platformDesktop entry each)
Previous Review Summary (commit a6e34af)

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

Previous review (commit a6e34af)

Status: No Issues Found | Recommendation: Merge

Executive Summary

This PR makes desktop a first-class session platform across the web and mobile session UIs (badges, filters, icons) by adding it to KNOWN_PLATFORMS and the per-surface mappings; the change is a consistent, mechanical extension of existing switch/mapping patterns with matching test updates, and no bugs, security, or performance issues were found in the changed code.

Notes

  • Adding desktop to KNOWN_PLATFORMS also changes the backend "Other" pseudo-filter (NOT IN KNOWN_PLATFORMS) in unified-sessions-router.ts, cli-sessions-router.ts, and cli-sessions-v2-router.ts, so Desktop sessions move from "Other" to the new Desktop filter. This is intentional and documented in the PR description.
  • agentChat.sessionFilter.platformDesktop is intentionally en.json-only and listed in PENDING_TRANSLATION_KEYS, per apps/mobile/AGENTS.md; the remaining catalogs are filled by the translation slice, so the documented check:i18n gap is expected.
  • No memory-leak concerns: the diff adds only static mappings, a Storybook fixture, and test assertions.
Files Reviewed (14 files)
  • apps/mobile/src/components/agents/live-session-filters.test.ts
  • apps/mobile/src/components/agents/platform-filter-modal.mounted.test.tsx
  • apps/mobile/src/components/agents/platform-filter-modal.tsx
  • apps/mobile/src/components/agents/session-list-helpers.ts
  • apps/mobile/src/components/agents/session-platform-icon.test.ts
  • apps/mobile/src/components/agents/session-platform-icon.tsx
  • apps/mobile/src/i18n/catalog-parity.test.ts
  • apps/mobile/src/i18n/locales/en.json
  • apps/storybook/stories/cloud-agent/SessionsList.stories.tsx
  • apps/web/src/app/(app)/cloud/sessions/SessionsPageContent.tsx
  • apps/web/src/components/cloud-agent-next/ChatSidebar.tsx
  • apps/web/src/components/cloud-agent-next/SessionsList.tsx
  • apps/web/src/components/cloud-agent/SessionsList.tsx
  • packages/app-shared/src/platforms.ts

Reviewed by deepseek-v4.1-flash · Input: 51K · Output: 3.3K · Cached: 270K

Review guidance: REVIEW.md from base branch main

@Drixled
Drixled self-requested a review October 16, 2026 22:39
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