文件最后提交记录最后更新时间
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 天前