Skip to content

feat: add /model /status /login slash commands and refactor dialog architecture#70

Merged
lewis617 merged 3 commits into
mainfrom
feat/slash-commands-dialogs
Jun 24, 2026
Merged

feat: add /model /status /login slash commands and refactor dialog architecture#70
lewis617 merged 3 commits into
mainfrom
feat/slash-commands-dialogs

Conversation

@lewis617

Copy link
Copy Markdown
Contributor

Summary

  • Replace gear button with /config, /plugin, /mcp slash commands opening three independent dialogs
  • Add /model slash command — quick model and fast model switching dialog
  • Add /status slash command — read-only status panel (version, session ID, workdir, model config, auth status)
  • Add /login slash command — SSO authentication dialog (login/logout), moved out of ConfigDialog
  • Update spec.md with new slash command documentation and screenshots
  • Add e2e demo tests and webview tests for all new dialogs

Changes

New components:

  • ModelDialog.tsx — model/fast model editor with pre-filled values
  • StatusDialog.tsx — read-only status info (version, session, workdir, config, auth)
  • LoginDialog.tsx — SSO auth dialog moved from ConfigDialog

Modified:

  • ConfigDialog.tsx — removed SSO auth section (moved to LoginDialog)
  • ChatApp.tsx — intercept /model /status /login, render new dialogs
  • MessageInput.tsx — added new commands to localCommands
  • messageHandler.ts — added getStatus/setModel handlers, new slash command definitions
  • types/index.ts — extended activeDialog types and new dialog props

Tests:

  • e2e/webview/model-status-login-commands.test.ts — 7 tests
  • e2e/demo/model-dialog.demo.ts — 2 demo tests
  • e2e/demo/status-dialog.demo.ts — 2 demo tests
  • e2e/demo/login-dialog.demo.ts — 3 demo tests

@lewis617 lewis617 merged commit adf6fa6 into main Jun 24, 2026
1 check passed
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.

1 participant