文件最后提交记录最后更新时间
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(ui): jump to the newly created project after closing the wizard ProjectCreationWizard already returned the freshly created project to its onProjectCreated callback, but handleProjectCreated in AppShellV2 ignored it — only refreshing the sidebar list and closing the wizard. The active selection stayed on whatever project was previously focused (typically the default "general"), so any prompt typed straight after creation went to the wrong project. Pick up the project from the callback and reuse the existing new-session path (handleNewSession + navigate(/p/<name>) + chat tab) so closing the wizard lands the user on the new project's empty conversation screen. Same handler covers both POST /create-workspace and the GitHub clone SSE flow, which both hand back a `{ name, displayName, fullPath, path }` payload matching the sidebar entries. Co-authored-by: Cursor <cursoragent@cursor.com> 13 天前
fix(ui): tighten header and composer controls Co-authored-by: Cursor <cursoragent@cursor.com> 15 天前
fix(ui): prevent IME enter from submitting inputs 6 天前