| chore(branding): complete cleanup of legacy CloudCLI/Claude Code references
- CLOUDCLI_DISABLE_LOCAL_AUTH → PILOTDECK_DISABLE_LOCAL_AUTH
- CLOUDCLI_CRON_DAEMON_* → PILOTDECK_CRON_DAEMON_*
- CLOUDCLI_GITHUB_STARS → PILOTDECK_GITHUB_STARS
- ~/.claude-code-ui/plugins/ → ~/.pilotdeck/plugins/
- claudecodeui-server → pilotdeck-server
- edgeClawConfig i18n key → pilotDeckConfig (248 refs in TSX + settings.json)
- claude-code-main source provenance comments → generic descriptions
- CloudCLI user-facing strings → PilotDeck
- DEFAULT_PROVIDER_FALLBACK "edgeclaw" → "pilotdeck"
- .claude/ config home → .pilotdeck/ in cron daemon services
Co-authored-by: Cursor <cursoragent@cursor.com>
| 9 天前 |
| feat(ui): rewrite ui/ with EdgeClaw-derived front-end and pilotdeck bridge backend
Replaces the 4-file Vite demo (gateway-browser-client, main.tsx,
styles.css, vite.config.ts) with the full EdgeClaw-derived UI plus an
Express bridge that talks to src/gateway through pilotdeck-bridge.js,
unblocking dev-mode HMR and parity testing while the migration to the
gateway-only architecture (docs/old-ui-adaptation/04-implementation-plan)
is in flight.
- ui/server: Express bridge serving /api/* and /ws, providers / agent /
git / mcp / memory / projects / sessions routes, cron + always-on
daemon plumbing, vapid push, plugin process manager.
- ui/src: React 18 app — chat-v2 UI, app-shell, code editor, files,
git, mcp, memory, projects, settings, skills, tasks, terminals,
i18n, contexts, hooks, stores, etc.
- ui/src/stores/useSessionStore.ts: session-keyed message store with a
same-turn streaming dedup guard — fixes a bug where a NEW turn's
__streaming_<sid> message would splice out the PREVIOUS turn's
legitimate assistant tail in computeMerged, dropping the prior
assistant reply and reordering the new user message after the new
streaming row.
- ui/public: PWA manifest, icons, screenshots, service worker.
- Build/lint/typecheck config: vite.config.js (with /api /ws /shell
proxy + manualChunks split), tailwind, postcss, eslint, tsconfig,
.nvmrc (v22), node-pty postinstall fixup.
Co-authored-by: Cursor <cursoragent@cursor.com>
| 24 天前 |
| feat(ui): rewrite ui/ with EdgeClaw-derived front-end and pilotdeck bridge backend
Replaces the 4-file Vite demo (gateway-browser-client, main.tsx,
styles.css, vite.config.ts) with the full EdgeClaw-derived UI plus an
Express bridge that talks to src/gateway through pilotdeck-bridge.js,
unblocking dev-mode HMR and parity testing while the migration to the
gateway-only architecture (docs/old-ui-adaptation/04-implementation-plan)
is in flight.
- ui/server: Express bridge serving /api/* and /ws, providers / agent /
git / mcp / memory / projects / sessions routes, cron + always-on
daemon plumbing, vapid push, plugin process manager.
- ui/src: React 18 app — chat-v2 UI, app-shell, code editor, files,
git, mcp, memory, projects, settings, skills, tasks, terminals,
i18n, contexts, hooks, stores, etc.
- ui/src/stores/useSessionStore.ts: session-keyed message store with a
same-turn streaming dedup guard — fixes a bug where a NEW turn's
__streaming_<sid> message would splice out the PREVIOUS turn's
legitimate assistant tail in computeMerged, dropping the prior
assistant reply and reordering the new user message after the new
streaming row.
- ui/public: PWA manifest, icons, screenshots, service worker.
- Build/lint/typecheck config: vite.config.js (with /api /ws /shell
proxy + manualChunks split), tailwind, postcss, eslint, tsconfig,
.nvmrc (v22), node-pty postinstall fixup.
Co-authored-by: Cursor <cursoragent@cursor.com>
| 24 天前 |
| fix: allow workspace selection from any filesystem path (fixes #20)
- Remove /tmp from FORBIDDEN_PATHS so /tmp subdirs can be workspaces
- Change folder browser getParentPath('~') to return '/' instead of null,
allowing navigation above home to reach /Volumes, /mnt, /tmp, etc.
- Skip validateWorkspacePath in browse-filesystem endpoint — browsing is
read-only; workspace creation endpoints still enforce the blacklist
| 5 天前 |
| fix: purge any provider with placeholder apiKey on config save
Legacy deployments bootstrapped with a real provider name (openrouter)
plus the sentinel apiKey. After onboarding added a real provider, the
stale openrouter entry with PLACEHOLDER_RUN_ONBOARDING_TO_REPLACE
lingered. Now purgeBootstrapPlaceholder removes any provider whose
apiKey matches the sentinel, and rewrites orphaned router refs.
Co-authored-by: Cursor <cursoragent@cursor.com>
| 6 天前 |
| refactor: replace Claude references with PilotDeck across the codebase
- Updated various components and utilities to use 'PilotDeck' instead of 'Claude'.
- Adjusted session paths, command handling, and configuration file references to align with PilotDeck specifications.
- Enhanced error messages and validation to reflect the new provider.
- Ensured consistent naming conventions for PilotDeck throughout the application.
| 6 天前 |
| chore(ui): remove Claude references from comments
Drop legacy Claude wording from UI comments while leaving runtime identifiers,
protocol strings, and real CLI/model references unchanged.
| 6 天前 |
| refactor(always-on): remove legacy web execution path, rewire retry through DiscoveryFire
The old web-driven Always-On path (discovery trigger → auto-poll →
web chat execution) raced with the DiscoveryFire pipeline, causing
duplicate plan executions. This commit removes the entire legacy path:
- Add alwaysOnRerunPlan gateway RPC so the UI retry button triggers
DiscoveryFire phases 2-4 (workspace → execution → report) directly
- Remove MainContent auto-poll, discovery trigger handler, execution
lifecycle tracking, and all associated refs/callbacks/useEffects
- Delete queueExecution, updateExecution, buildExecutionPrompt
from DiscoveryPlanService and the PATCH execution REST endpoint
- Unregister /ao slash command; delete alwaysOnSlashActions.ts
- Delete discovery-trigger-client.js and its WS handler in index.js
- Delete old web discovery prompt and utility files
- Remove approvalMode field from WebPlanRecord, UI types, i18n, tests
Co-authored-by: Cursor <cursoragent@cursor.com>
| 7 天前 |
| fix: use PILOT_HOME env for multi-instance path resolution
Replace hardcoded ~/.pilotdeck paths with PILOT_HOME-aware resolution
across gateway and UI server, enabling isolated multi-instance deployments.
Also fix sessionStore removal and soften write_file description wording.
Co-authored-by: Cursor <cursoragent@cursor.com>
| 13 天前 |
| refactor(always-on): remove legacy web execution path, rewire retry through DiscoveryFire
The old web-driven Always-On path (discovery trigger → auto-poll →
web chat execution) raced with the DiscoveryFire pipeline, causing
duplicate plan executions. This commit removes the entire legacy path:
- Add alwaysOnRerunPlan gateway RPC so the UI retry button triggers
DiscoveryFire phases 2-4 (workspace → execution → report) directly
- Remove MainContent auto-poll, discovery trigger handler, execution
lifecycle tracking, and all associated refs/callbacks/useEffects
- Delete queueExecution, updateExecution, buildExecutionPrompt
from DiscoveryPlanService and the PATCH execution REST endpoint
- Unregister /ao slash command; delete alwaysOnSlashActions.ts
- Delete discovery-trigger-client.js and its WS handler in index.js
- Delete old web discovery prompt and utility files
- Remove approvalMode field from WebPlanRecord, UI types, i18n, tests
Co-authored-by: Cursor <cursoragent@cursor.com>
| 7 天前 |
| fix: allow workspace selection from any filesystem path (fixes #20)
- Remove /tmp from FORBIDDEN_PATHS so /tmp subdirs can be workspaces
- Change folder browser getParentPath('~') to return '/' instead of null,
allowing navigation above home to reach /Volumes, /mnt, /tmp, etc.
- Skip validateWorkspacePath in browse-filesystem endpoint — browsing is
read-only; workspace creation endpoints still enforce the blacklist
| 5 天前 |
| fix: use PILOT_HOME env for multi-instance path resolution
Replace hardcoded ~/.pilotdeck paths with PILOT_HOME-aware resolution
across gateway and UI server, enabling isolated multi-instance deployments.
Also fix sessionStore removal and soften write_file description wording.
Co-authored-by: Cursor <cursoragent@cursor.com>
| 13 天前 |
| Merge branch 'main' of github.com:OpenBMB/PilotDeck
| 6 天前 |
| feat(ui): rewrite ui/ with EdgeClaw-derived front-end and pilotdeck bridge backend
Replaces the 4-file Vite demo (gateway-browser-client, main.tsx,
styles.css, vite.config.ts) with the full EdgeClaw-derived UI plus an
Express bridge that talks to src/gateway through pilotdeck-bridge.js,
unblocking dev-mode HMR and parity testing while the migration to the
gateway-only architecture (docs/old-ui-adaptation/04-implementation-plan)
is in flight.
- ui/server: Express bridge serving /api/* and /ws, providers / agent /
git / mcp / memory / projects / sessions routes, cron + always-on
daemon plumbing, vapid push, plugin process manager.
- ui/src: React 18 app — chat-v2 UI, app-shell, code editor, files,
git, mcp, memory, projects, settings, skills, tasks, terminals,
i18n, contexts, hooks, stores, etc.
- ui/src/stores/useSessionStore.ts: session-keyed message store with a
same-turn streaming dedup guard — fixes a bug where a NEW turn's
__streaming_<sid> message would splice out the PREVIOUS turn's
legitimate assistant tail in computeMerged, dropping the prior
assistant reply and reordering the new user message after the new
streaming row.
- ui/public: PWA manifest, icons, screenshots, service worker.
- Build/lint/typecheck config: vite.config.js (with /api /ws /shell
proxy + manualChunks split), tailwind, postcss, eslint, tsconfig,
.nvmrc (v22), node-pty postinstall fixup.
Co-authored-by: Cursor <cursoragent@cursor.com>
| 24 天前 |
| Merge branch 'main' of github.com:OpenBMB/PilotDeck
| 6 天前 |
| feat(ui): rewrite ui/ with EdgeClaw-derived front-end and pilotdeck bridge backend
Replaces the 4-file Vite demo (gateway-browser-client, main.tsx,
styles.css, vite.config.ts) with the full EdgeClaw-derived UI plus an
Express bridge that talks to src/gateway through pilotdeck-bridge.js,
unblocking dev-mode HMR and parity testing while the migration to the
gateway-only architecture (docs/old-ui-adaptation/04-implementation-plan)
is in flight.
- ui/server: Express bridge serving /api/* and /ws, providers / agent /
git / mcp / memory / projects / sessions routes, cron + always-on
daemon plumbing, vapid push, plugin process manager.
- ui/src: React 18 app — chat-v2 UI, app-shell, code editor, files,
git, mcp, memory, projects, settings, skills, tasks, terminals,
i18n, contexts, hooks, stores, etc.
- ui/src/stores/useSessionStore.ts: session-keyed message store with a
same-turn streaming dedup guard — fixes a bug where a NEW turn's
__streaming_<sid> message would splice out the PREVIOUS turn's
legitimate assistant tail in computeMerged, dropping the prior
assistant reply and reordering the new user message after the new
streaming row.
- ui/public: PWA manifest, icons, screenshots, service worker.
- Build/lint/typecheck config: vite.config.js (with /api /ws /shell
proxy + manualChunks split), tailwind, postcss, eslint, tsconfig,
.nvmrc (v22), node-pty postinstall fixup.
Co-authored-by: Cursor <cursoragent@cursor.com>
| 24 天前 |
| feat(ui): rewrite ui/ with EdgeClaw-derived front-end and pilotdeck bridge backend
Replaces the 4-file Vite demo (gateway-browser-client, main.tsx,
styles.css, vite.config.ts) with the full EdgeClaw-derived UI plus an
Express bridge that talks to src/gateway through pilotdeck-bridge.js,
unblocking dev-mode HMR and parity testing while the migration to the
gateway-only architecture (docs/old-ui-adaptation/04-implementation-plan)
is in flight.
- ui/server: Express bridge serving /api/* and /ws, providers / agent /
git / mcp / memory / projects / sessions routes, cron + always-on
daemon plumbing, vapid push, plugin process manager.
- ui/src: React 18 app — chat-v2 UI, app-shell, code editor, files,
git, mcp, memory, projects, settings, skills, tasks, terminals,
i18n, contexts, hooks, stores, etc.
- ui/src/stores/useSessionStore.ts: session-keyed message store with a
same-turn streaming dedup guard — fixes a bug where a NEW turn's
__streaming_<sid> message would splice out the PREVIOUS turn's
legitimate assistant tail in computeMerged, dropping the prior
assistant reply and reordering the new user message after the new
streaming row.
- ui/public: PWA manifest, icons, screenshots, service worker.
- Build/lint/typecheck config: vite.config.js (with /api /ws /shell
proxy + manualChunks split), tailwind, postcss, eslint, tsconfig,
.nvmrc (v22), node-pty postinstall fixup.
Co-authored-by: Cursor <cursoragent@cursor.com>
| 24 天前 |