saravanakumardb1
|
3260b7ea0a
|
feat(smart-actions): F1-F4 inline editor AI, F15-F19 mobile capture modes, F25-F27 scheduler/webhooks/approval
F1-F4: Inline editor AI
- Backend: expand CopilotAction with fix-rewrite, change-tone, continue, explain
- Backend: add tone parameter to copilot route for change-tone action
- Web: copilot-client adds CopilotTone type and tone parameter
- Web: NoteEditor toolbar gains AI row with Fix & Rewrite, Change Tone dropdown,
Continue Writing (appends at cursor), Explain (inline popover)
F15-F19: Mobile capture enhancements
- Backend: POST /note-prompts/url-extract endpoint (fetch, strip HTML, LLM summarize)
- Mobile API: extractFromUrl() and copilotTransform() client functions
- Mobile: capture tab rewritten with 6 capture modes grid (text, photo, voice,
URL, scan, paste) — URL extract + clipboard paste fully wired, camera/voice/scan
surface native permission prompts (require expo-av/expo-image-picker)
- expo-clipboard added as dependency
F25-F27: Scheduled actions, webhook triggers, approval-gated actions
- New scheduler.ts module with PromptScheduleDoc + PromptWebhookDoc types
- Schedule CRUD: GET/POST/PATCH/DELETE /prompt-schedules
- Webhook CRUD: GET/POST/PATCH/DELETE /prompt-webhooks
- POST /prompt-webhooks/:id/trigger — execute template against note
- Scheduler loop (60s tick) with cron next-run calculation
- Diagnostics endpoint: GET /prompt-schedules/diagnostics
- Cosmos containers: note_prompt_schedules, note_prompt_webhooks
- PromptTemplateDoc gains requiresApproval field (F27)
- Runner produces approvalState: proposed|applied based on template flag
- Create/Update schemas accept requiresApproval boolean
|
2026-04-06 10:25:34 -07:00 |
|
|
|
370e96fa45
|
test(mobile): settings smoke test; docs: capture points to blob-upload
- settings.test.tsx mirrors auth/home import smoke pattern
- Capture screen comment: future uploads via api/blob-upload
Made-with: Cursor
|
2026-03-31 01:51:07 -07:00 |
|
saravanakumardb1
|
83f4953870
|
fix(mobile): add missing accessibilityLabels across all screens
- settings.tsx: labels on sign-out, feedback type chips, submit button
- capture.tsx: labels on workspace selection chips
- index.tsx: labels on workspace filter chips, note card pressables
- search.tsx: labels on search input, result row pressables
- note/[id].tsx: labels on edit, save, cancel buttons
|
2026-03-31 00:55:05 -07:00 |
|
saravanakumardb1
|
9d3ac06234
|
fix(mobile): use dynamic platform in feedback, add null coercion, add Content-Type on flush
- settings.tsx: replace hardcoded platform: 'ios' with APP_PLATFORM from app-metadata
- feedback-client.ts: add ?? '' null coercion on getAuthToken (matches broadcast/survey pattern)
- offline-queue.ts: add Content-Type: application/json header on flush requests
|
2026-03-31 00:49:40 -07:00 |
|
saravanakumardb1
|
5a0175fa66
|
feat(mobile): add Block H — Vitest RN mock aliases + component smoke tests
- Create __mocks__/ with react-native, expo-router, expo-constants, expo-status-bar, react-native-mmkv, @testing-library/react-native
- Update vitest.config.ts with resolve aliases for all native modules
- Add AuthScreen smoke test (3 tests)
- Add HomeScreen smoke test (2 tests)
- Add @types/react-test-renderer dev dependency
- Total: 32 passing tests (27 store + 5 component)
|
2026-03-31 00:42:49 -07:00 |
|
saravanakumardb1
|
e4683ad695
|
fix(mobile): complete block G metadata and accessibility
|
2026-03-31 00:23:57 -07:00 |
|
saravanakumardb1
|
5d8216066a
|
feat(mobile): wire offline queue enqueue and flush
|
2026-03-31 00:17:41 -07:00 |
|
saravanakumardb1
|
746cba74ff
|
feat(mobile): add settings tab with feedback client
|
2026-03-31 00:10:50 -07:00 |
|
saravanakumardb1
|
f8a4c18f27
|
feat(mobile): wire review note input to inbox approve/reject
- note-agent-actions API: updateApprovalState now accepts optional reviewNote
- inbox-store: approve/reject actions pass reviewNote through to backend
- Inbox screen: TextInput for review note above approval cards
- Review note cleared after successful approve/reject
Verification: mobile typecheck passes.
|
2026-03-10 19:41:39 -07:00 |
|
saravanakumardb1
|
7d23793728
|
feat(notes): support mobile all-workspace view
|
2026-03-10 17:09:16 -07:00 |
|
saravanakumardb1
|
7a8009454f
|
fix(notes): guard mobile review actions
|
2026-03-10 16:59:40 -07:00 |
|
saravanakumardb1
|
8e577993c0
|
feat(notes): add mobile workspace selection
|
2026-03-10 16:54:17 -07:00 |
|
saravanakumardb1
|
8f14698a42
|
feat(notes): wire mobile inbox review flow
|
2026-03-10 16:02:08 -07:00 |
|
saravanakumardb1
|
5995b6c725
|
feat(notes): wire backend-backed note workspace slice
|
2026-03-10 15:53:57 -07:00 |
|
saravanakumardb1
|
f5f141ddb7
|
fix(mobile): verify scaffold and tighten tooling
|
2026-03-10 10:14:22 -07:00 |
|
saravanakumardb1
|
02dea5cd80
|
feat(mobile): polish loading and search states
|
2026-03-10 09:34:57 -07:00 |
|
saravanakumardb1
|
02f8193b5f
|
feat(mobile): improve home retrieval summary
|
2026-03-10 09:29:36 -07:00 |
|
saravanakumardb1
|
a10709f33a
|
feat(mobile): surface offline queue readiness
|
2026-03-10 09:22:20 -07:00 |
|
saravanakumardb1
|
90558a5537
|
feat(mobile): add workspace-scoped utility flows
|
2026-03-10 09:09:14 -07:00 |
|
saravanakumardb1
|
4fb859c81c
|
feat(notes): scaffold product surfaces and backend MCP slices
|
2026-03-10 08:53:07 -07:00 |
|