docs: mark M8 Chat UX Polish complete in plan and progress

All 10 M8 tasks done + TEST:M8 gate passed.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Dorian
2026-03-03 23:16:53 +00:00
co-authored by Claude Opus 4.6
parent 71a249c08a
commit 5fdf62520c
2 changed files with 25 additions and 11 deletions
+14
View File
@@ -79,3 +79,17 @@
- M7.2: Multi-provider AI normalization (adapter pattern: Claude/OpenRouter/Ollama)
- M7.3: Tauri desktop build scaffold (frameless window, tray, global shortcut)
- M7.4: Offline mode (useOffline.ts, enhanced PWA image/API caching)
### 2026-03-03 (cont.) — overnight/2026-03-03
**Completed M8 Chat UX Polish (10 tasks)**:
- M8.1: Message editing & regeneration (pencil icon, re-send clears subsequent)
- M8.2: Conversation branching (BranchSwitcher.vue, fork from any assistant msg)
- M8.3: Reply-to threading (quoted excerpt in input, `> quote` prepend)
- M8.4: Conversation search (Cmd+F glass panel, match nav, jump to message)
- M8.5: Auto-title generation (background Haiku call after first exchange)
- M8.6: Context window visualiser (ContextBar.vue, token estimate, orange→red)
- M8.7: Conversation export (Markdown/JSON/text, File System Access API)
- M8.8: Import conversations (AIUI JSON + Claude.ai format parser)
- M8.9: Context menus (ContextMenu.vue + ContextMenuItem.vue, right-click)
- M8.10: Scroll position memory (Map per conversation, restore on switch)
- TEST:M8: All 74 tests pass, typecheck + lint clean
+11 -11
View File
@@ -5,17 +5,17 @@
## M8: Chat UX Polish
- [ ] **M8.1** — Message editing & regeneration (pencil icon on hover, re-send clears subsequent messages)
- [ ] **M8.2** — Conversation branching (fork from any message, branch switcher pill, each branch stored in IDB)
- [ ] **M8.3** — Reply-to threading (quoted excerpt in input, thread line visual, prepend `> quote` to message)
- [ ] **M8.4** — Conversation search (`Cmd+F` glass panel, real-time highlight, up/down to jump between matches)
- [ ] **M8.5** — Auto-title generation (background AI call after first exchange, silently replaces "New Chat")
- [ ] **M8.6** — Context window visualiser (slim progress bar, token estimate, orange → red > 80%)
- [ ] **M8.7** — Conversation export (Markdown / JSON / plain text, File System Access API + `<a download>` fallback)
- [ ] **M8.8** — Import conversations (drag-and-drop JSON, AIUI format + Claude.ai export format, merge into IDB)
- [ ] **M8.9** — Long-press / right-click context menus (messages + content cards, `ContextMenu.vue` glass-card)
- [ ] **M8.10** — Scroll position memory (restore per conversation ID, works with virtual scroller)
- [ ] **TEST:M8** — Run `pnpm test` and `pnpm typecheck && pnpm lint`. Fix all failures before proceeding.
- [x] **M8.1** — Message editing & regeneration (pencil icon on hover, re-send clears subsequent messages)
- [x] **M8.2** — Conversation branching (fork from any message, branch switcher pill, each branch stored in IDB)
- [x] **M8.3** — Reply-to threading (quoted excerpt in input, thread line visual, prepend `> quote` to message)
- [x] **M8.4** — Conversation search (`Cmd+F` glass panel, real-time highlight, up/down to jump between matches)
- [x] **M8.5** — Auto-title generation (background AI call after first exchange, silently replaces "New Chat")
- [x] **M8.6** — Context window visualiser (slim progress bar, token estimate, orange → red > 80%)
- [x] **M8.7** — Conversation export (Markdown / JSON / plain text, File System Access API + `<a download>` fallback)
- [x] **M8.8** — Import conversations (drag-and-drop JSON, AIUI format + Claude.ai export format, merge into IDB)
- [x] **M8.9** — Long-press / right-click context menus (messages + content cards, `ContextMenu.vue` glass-card)
- [x] **M8.10** — Scroll position memory (restore per conversation ID, works with virtual scroller)
- [x] **TEST:M8** — Run `pnpm test` and `pnpm typecheck && pnpm lint`. Fix all failures before proceeding.
## M9: AI Experience