Commit graph

2096 commits

Author SHA1 Message Date
Nexus Dev
ef3a9fcc5b docs: define milestone v1.4 requirements (16 requirements) 2026-04-04 03:55:48 +00:00
Nexus Dev
2d93fd37a8 docs: start milestone v1.4 Hermes Default Provider 2026-04-04 03:55:48 +00:00
Nexus Dev
25d3b9d2d1 chore: clean up audit file location
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-04 03:55:48 +00:00
Nexus Dev
6a92c95ce4 fix: restore ROADMAP.md and REQUIREMENTS.md — deletion was not approved
Archives exist in milestones/v1.3-* as copies, not replacements.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-04 03:55:48 +00:00
Nexus Dev
ffc7b130e4 chore: archive v1.3 phase directories to milestones/
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-04 03:55:48 +00:00
Nexus Dev
aeef99432c chore: remove archived ROADMAP.md and REQUIREMENTS.md
Originals archived to milestones/v1.3-ROADMAP.md and v1.3-REQUIREMENTS.md.
Fresh files will be created by /gsd:new-milestone for v1.4.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-04 03:55:48 +00:00
Nexus Dev
3b84eee761 chore: complete v1.3 milestone — archive roadmap, requirements, evolve PROJECT.md 2026-04-04 03:55:48 +00:00
Nexus Dev
4b9d267f46 fix(v1.3): close 3 integration gaps from milestone audit
1. Push notifications: call sendPushToAll after streaming completes
2. Mobile offline: add useOfflineQueue + banners to MobileChatView
3. New conversation streaming: call startStream in Path 1 handleSend

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-04 03:55:48 +00:00
Nexus Dev
021ac1a299 docs(v1.3): milestone audit — 63/63 requirements, 3 integration gaps 2026-04-04 03:55:48 +00:00
Nexus Dev
b019db7a0e docs(phase-26): evolve PROJECT.md after phase completion 2026-04-04 03:55:48 +00:00
Nexus Dev
f192b97c49 docs(phase-26): complete phase execution 2026-04-04 03:55:48 +00:00
Nexus Dev
8235a607b7 fix(26): remove empty vendor-react chunk and mark PWA-02/PWA-08 complete
vendor-react manualChunks doesn't work with @vitejs/plugin-react JSX
runtime — react/react-dom stay in entry. Documented and removed.
PWA-02 and PWA-08 were implemented but not marked in REQUIREMENTS.md.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-04 03:55:48 +00:00
Nexus Dev
75b287032e docs(26-04): complete push notifications plan — VAPID, push routes, SW subscription hook, permission prompt 2026-04-04 03:55:48 +00:00
Nexus Dev
862cf7fef3 feat(26-04): create push API client, usePushNotifications hook, and NotificationPermissionPrompt
- Add ui/src/api/push.ts with getVapidPublicKey, subscribe, unsubscribe methods
- Add ui/src/hooks/usePushNotifications.ts with SW pushManager subscription flow
- urlBase64ToUint8Array utility converts VAPID key for applicationServerKey
- NotificationPermissionPrompt shows after 3rd agent response (engagement gate)
- Checks nexus.notifPromptDismissed localStorage key for dismiss state
- ChatPanel tracks agentResponseCount from assistant messages and renders prompt
- Install idb package (missing dependency from plan 26-00 prerequisites)
2026-04-04 03:55:48 +00:00
Nexus Dev
66bbfbf766 feat(26-04): create push_subscriptions schema, migration, pushService, and push routes
- Add push_subscriptions pgTable with endpoint, p256dh, auth, userId, companyId, deviceLabel
- Add 0055_create_push_subscriptions.sql migration with CREATE TABLE and endpoint index
- Export pushSubscriptions from schema/index.ts
- Create pushService with initVapid, getVapidPublicKey, saveSubscription, removeSubscription, sendPushToAll
- sendPushToAll auto-deletes stale subscriptions on 410/404 response
- Create pushRoutes: GET /vapid-public-key, POST /subscribe, DELETE /subscribe
- Mount /api/push routes and call initVapid() in app.ts with graceful skip
- Install web-push and @types/web-push
2026-04-04 03:55:48 +00:00
Nexus Dev
471a9daaa6 feat(26): merge worktree code from plans 26-00, 26-01, 26-03
SW cache-first rewrite, React.lazy code splitting, PWA types/test stubs,
install prompt, offline banner, offline queue, ChatPanel wiring.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-04 03:55:48 +00:00
Nexus Dev
d4c98016d7 docs(26-03): complete PWA install prompt, offline banner, and message queue plan
- InstallPromptBanner: 7-day cooldown, iOS fallback, beforeinstallprompt CTA
- OfflineBanner: amber theming, queue count, 3s auto-dismiss on reconnect
- useOfflineQueue: IndexedDB nexus-offline/message_queue, flush on online event
- ChatPanel: offline guard in handleSend, OfflineBanner + InstallPromptBanner wired
- Requirements PWA-01, PWA-02, PWA-08 marked complete
2026-04-04 03:55:48 +00:00
Nexus Dev
e35bba41e4 docs(26-02): complete mobile responsive chat layout plan — MobileChatView, PullToRefresh, safe areas 2026-04-04 03:55:48 +00:00
Nexus Dev
6b7e54bbf9 feat(26-02): create MobileChatView and wire ChatPanel for responsive layout
- MobileChatView: full-screen mobile chat using 100dvh, back button, safe-area input
- ChatPanel: conditionally renders MobileChatView on mobile via useMediaQuery
- ChatConversationList: wraps ScrollArea in PullToRefresh for mobile
- ChatInput: pb-[env(safe-area-inset-bottom)] padding + 44px Send button touch target
- ChatConversationItem: min-h-[48px] touch target per UI-SPEC
2026-04-04 03:55:48 +00:00
Nexus Dev
512a4aa448 feat(26-02): create useMediaQuery hook, usePullToRefresh hook, and PullToRefresh component
- useMediaQuery: SSR-safe hook with addEventListener for live breakpoint updates
- usePullToRefresh: touch gesture hook with 64px threshold, haptic feedback via navigator.vibrate
- PullToRefresh: visual wrapper with Loader2 spinner, pull/release text indicators
2026-04-04 03:55:48 +00:00
Nexus Dev
e93922e4a0 docs(26-01): complete lazy-loading and vendor chunk splitting plan
- Created 26-01-SUMMARY.md with task commits, decisions, and verification results
- STATE.md: advanced plan 2->3, recorded metrics and decisions
- ROADMAP.md: updated phase 26 progress (2 of 5 summaries)
- REQUIREMENTS.md: marked PERF-01 complete (PERF-05 already complete)
2026-04-04 03:55:48 +00:00
Nexus Dev
93dcc1ed2a docs(26-00): add self-check results to SUMMARY.md 2026-04-04 03:55:48 +00:00
Nexus Dev
49e88c0c3f docs(26-00): complete PWA performance foundation plan — SW cache-first, idb/web-push, test stubs 2026-04-04 03:55:48 +00:00
Nexus Dev
45016856e5 fix(26): revise plans based on checker feedback 2026-04-04 03:55:48 +00:00
Nexus Dev
5f33a414e9 docs(26): create phase plan — 5 plans across 3 waves 2026-04-04 03:55:48 +00:00
Nexus Dev
9583edd3c4 docs(phase-26): add validation strategy and research 2026-04-04 03:55:48 +00:00
Nexus Dev
7653639d37 docs(26): research phase pwa-performance domain 2026-04-04 03:55:48 +00:00
Nexus Dev
ab32e3f104 docs(26): fix typography weights and back button accessibility in UI-SPEC 2026-04-04 03:55:48 +00:00
Nexus Dev
be4435d154 docs(26): UI design contract for PWA & Performance phase
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-04 03:55:48 +00:00
Nexus Dev
832e9bc533 docs(26): auto-generated context (discuss skipped) 2026-04-04 03:55:48 +00:00
Nexus Dev
63800830f4 docs(phase-25): evolve PROJECT.md after phase completion 2026-04-04 03:55:48 +00:00
Nexus Dev
19a844fcc8 docs(phase-25): complete phase execution 2026-04-04 03:55:48 +00:00
Nexus Dev
d134272779 test(25): persist human verification items as UAT
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-04 03:55:48 +00:00
Nexus Dev
dae0e3a3be feat(25-06): merge git file service and history endpoint from worktree
Adds gitFileService with commitFile/getLog, wires git commits into
upload flow, adds GET /files/:fileId/history endpoint, and exports
ChatFileHistoryEntry type.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-04 03:55:48 +00:00
Nexus Dev
f04badf9f4 docs(25-07): complete agent-generated file support and placeholder tracking plan — SUMMARY, STATE, ROADMAP updated 2026-04-04 03:55:48 +00:00
Nexus Dev
7ab49d9824 feat(25-07): add placeholder and agent-generated file routes
- Import placeholderService and resolveDefaultStorageDir in chat-files routes
- Track agent_generated project-scoped uploads in PLACEHOLDERS.md manifest
- Add POST /files/:fileId/replace endpoint for placeholder replacement
- Replace endpoint updates manifest and creates cross-reference chain
- Mark FILE-08 and FILE-11 Complete in REQUIREMENTS.md
2026-04-04 03:55:48 +00:00
Nexus Dev
859ba1707b feat(25-07): create placeholderService and add markAsPlaceholder method
- Create server/src/services/placeholder-service.ts with addEntry, replaceEntry, listEntries
- Generates PLACEHOLDERS.md with Active Placeholders and Replaced markdown tables
- Add ChatPlaceholderEntry interface to packages/shared/src/types/chat.ts
- Export ChatPlaceholderEntry from packages/shared/src/index.ts
- Add markAsPlaceholder method to chatFileService in chat-files.ts
2026-04-04 03:55:48 +00:00
Nexus Dev
ab5375943f docs(25-06): add self-check results to SUMMARY.md 2026-04-04 03:55:48 +00:00
Nexus Dev
59991367dd docs(25-06): complete git file versioning plan — SUMMARY, STATE, ROADMAP updated
- gitFileService with ensureRepo/commitFile/getLog using safe execFile
- GET /files/:fileId/history endpoint for git version history
- FILE-09 and FILE-10 marked Complete
2026-04-04 03:55:48 +00:00
Nexus Dev
0b9af89ef7 docs(25-04): complete syntax-highlighted code preview plan — SUMMARY, STATE, ROADMAP updated
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-04 03:55:48 +00:00
Nexus Dev
8f66fe4bd0 chore(25-06): mark FILE-09 and FILE-10 complete in REQUIREMENTS.md
- FILE-09: git commit on every file operation — implemented via gitFileService
- FILE-10: version history endpoint — implemented via GET /files/:fileId/history
2026-04-04 03:55:48 +00:00
Nexus Dev
324551538b feat(25-04): wire ChatCodeFilePreview into ChatFilePreview and mark FILE-07 FILE-13 Complete
- Add code category branch in ChatFilePreview routing to ChatCodeFilePreview
- Mark FILE-07 (one-click download) as Complete in REQUIREMENTS.md
- Mark FILE-13 (cross-device access) as Complete in REQUIREMENTS.md
- Update Traceability table for FILE-07 and FILE-13
2026-04-04 03:55:48 +00:00
Nexus Dev
03df062bec feat(25-04): create ChatCodeFilePreview with syntax highlighting
- Add ChatCodeFilePreview component with hljs syntax highlighting
- Fetch file content from contentPath with credentials
- Use DOMParser-based safe rendering (no dangerouslySetInnerHTML)
- Include copy button, language label, and ChatFileCard download below
- Add extToLang extension-to-language mapping
- Register 14 common languages with hljs
- Add highlight.js as direct dependency in ui/package.json
2026-04-04 03:55:48 +00:00
Nexus Dev
e21c3088a0 docs(25-05): complete file scope promotion plan — SUMMARY, STATE, ROADMAP, REQUIREMENTS updated 2026-04-04 03:55:48 +00:00
Nexus Dev
bdbefde2f4 docs(25-08): complete voice input plan — VoiceRecordButton, transcription endpoint, INPUT-02/03/04 complete 2026-04-04 03:55:48 +00:00
Nexus Dev
86f9421026 feat(25-05): mark FILE-12 Complete in REQUIREMENTS.md 2026-04-04 03:55:48 +00:00
Nexus Dev
dea5ea2bb7 feat(25-08): wire VoiceRecordButton into ChatInput and mark INPUT-02/03/04 complete
- Add enableVoiceInput prop to ChatInput props interface
- Add handleTranscription callback that appends transcription text to textarea state
- Render VoiceRecordButton conditionally when enableVoiceInput is true
- Pass enableVoiceInput={true} from ChatPanel to ChatInput
- Mark INPUT-02, INPUT-03, INPUT-04 as Complete in REQUIREMENTS.md traceability table
2026-04-04 03:55:48 +00:00
Nexus Dev
64a90c284e feat(25-08): create VoiceRecordButton and server transcription endpoint
- Add VoiceRecordButton with MediaRecorder API, recording/transcribing/idle states
- Add POST /transcribe endpoint to chat-files.ts using execFileAsync (safe, no shell)
- Tries whisper-cpp first, falls back to openai-whisper Python CLI
- Returns 503 with helpful message if whisper is not installed
2026-04-04 03:55:48 +00:00
Nexus Dev
8b0e3f052d docs(25-08): fix voice input wiring — add ChatPanel enableVoiceInput prop
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-04 03:55:48 +00:00
Nexus Dev
4c5a7fa691 docs(25-file-system): create gap closure plans 04-08 2026-04-04 03:55:48 +00:00