| chore(branding): rename EdgeClaw / CloudCLI / CloudUI surface to PolitDeck
Brings the UI's user-visible branding in line with the PolitDeck name
across browser tab, PWA manifest, favicons, settings panel, login /
loading / setup screens, sidebar app title, chat composer placeholder,
push notifications, GitHub PR template, and internal localStorage keys.
User-visible surfaces:
* index.html: <title>, apple-mobile-web-app-title, favicon / icon links
now carry a ?v=pd1 cache-buster so existing browsers re-fetch the
new visuals on next load (the browser's native favicon DB is not
cleared by Cmd+Shift+R).
* manifest.json: name / short_name / description swapped to PolitDeck;
icon URLs also carry ?v=pd1.
* sw.js: CACHE_NAME bumped to "politdeck-v1" so the activate handler
purges the old "claude-ui-v2" cache (incl. cached manifest); push-
notification default title is now "PolitDeck".
* favicon.svg, logo.svg: "EC" text glyph → "PD".
* favicon.png, logo-128/256.png, icons/icon-{72,96,128,144,152,192,
384,512}.png: regenerated from logo.svg via sharp so every raster
size matches the new glyph.
* server startup banner: "CloudCLI Server - Ready" → "PolitDeck Server
- Ready"; TIP message now suggests pilotdeck status.
* GitHub PR template, push notification title fallback, downloaded
permissions / memory bundle filenames updated.
* i18n (en + zh-CN): sidebar.app.title, common.loading,
chat.composer.{placeholder,welcomePlaceholder}, auth.signIn.description,
settings.config.loading, settings.memory.description. npmUpgradeCommand
switched to git pull && npm run build because PolitDeck isn't
published on npm.
* React components: AuthLoadingScreen, AuthScreenLayout, LoginForm,
SetupForm (incl. logo alt), ChatInterfaceV2 placeholder fallback,
AppShellV2 delete-project copy, MainAreaV2 comment.
Internal type / file renames (cosmetic):
* hooks/useEdgeClawConfig.ts → hooks/usePilotDeckConfig.ts
* settings/view/tabs/EdgeClawConfigTab.tsx → PilotDeckConfigTab.tsx
* EdgeClawConfig type → PilotDeckConfig; EdgeClawConfigLike →
PilotDeckConfigLike.
* localStorage keys: edgeclaw:customProjectNames →
pilotdeck:customProjectNames, edgeclaw:customSessionTitles →
pilotdeck:customSessionTitles, edgeclaw:configView →
pilotdeck:configView.
* PermissionsExport.source 'edgeclaw' → 'pilotdeck'.
* onboarding default provider id 'edgeclaw' → 'pilotdeck'.
Deliberately left as-is:
* npm package edgeclaw-memory-core and its exported EdgeClawMemoryService
class — third-party package, renaming requires a fork + republish.
* DB path ~/.cloudcli/auth.db and memory data dir ~/.edgeclaw/memory —
contain existing user data; moving them is a separate migration.
* A handful of code comments referencing EdgeClaw history are kept so
future readers can trace the migration provenance.
Co-authored-by: Cursor <cursoragent@cursor.com>
| 22 天前 |
| 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 天前 |