Commit Graph

43 Commits

Author SHA1 Message Date
saravanakumardb1
12d90098eb feat(web): saved views CRUD, keyboard shortcuts, debounced search
- saved-views-client.ts: full CRUD client for backend saved-views module
- use-keyboard-shortcuts.ts: reusable hook for global keyboard shortcuts
- KeyboardShortcuts.tsx: wired into (app) layout — Cmd+K search, Cmd+N workspaces, Cmd+Shift+D dashboard, Cmd+Shift+R reviews, Esc blur
- use-debounce.ts: shared debounce hook (replaces inline setTimeout in search)
- Search page: saved views loaded from backend with save/delete UI
- Search page: search debounced at 250ms via useDebounce hook
- Updated search page test to mock saved-views-client and useDebounce

Verification: web typecheck + 6/6 tests pass.
2026-03-10 19:39:28 -07:00
saravanakumardb1
ca3cdbad4e feat(web): wire full review UX — batch select, review notes, batch approve/reject
- Reviews page: batch selection mode with Select All / Clear
- Reviews page: batch Approve N / Reject N buttons
- Reviews page: review note textarea shared by single + batch flows
- review-client.ts: added batchReviewItems() calling POST /batch-review
- review-client.ts: approve/reject now pass reviewNote to backend
- Clears review note + batch selection after successful action

Verification: web typecheck passes.
2026-03-10 19:35:40 -07:00
saravanakumardb1
878c644dd8 feat(platform): wire shared platform packages into mobile + refactor web blob-client (DRY)
Phase 1 — Platform SDK integration:
- Mobile: added @bytelyst/telemetry-client, feature-flag-client, kill-switch-client, blob-client deps
- Mobile: created src/lib/platform.ts — centralized platform init (telemetry, flags, kill-switch, blob)
- Mobile: wired initPlatform() into root layout startup
- Web: refactored blob-client.ts to use shared @bytelyst/blob-client (eliminates hand-rolled SAS fetch code)
- Web: added @bytelyst/blob-client dep

DRY: Both web and mobile now use the same @bytelyst/blob-client package for blob operations.

Verification: web typecheck + mobile typecheck pass.
2026-03-10 19:29:00 -07:00
saravanakumardb1
196b2106d8 feat(web): add blob upload/download client for artifact management
- getArtifactUploadUrl() — SAS URL with write permissions
- uploadArtifact() — direct browser-to-blob upload via SAS
- downloadArtifact() — fetch blob content via SAS read URL
- Uses platform-service /blob/sas endpoint for SAS token generation

Verification: web typecheck passes.
2026-03-10 18:58:25 -07:00
saravanakumardb1
8755661049 feat(web): wire feature-flag and kill-switch platform clients
- Added @bytelyst/feature-flag-client and @bytelyst/kill-switch-client deps
- Created web/src/lib/feature-flags.ts — poll-based flag client (fail-open)
- Created web/src/lib/kill-switch.ts — kill-switch check client (fail-open)
- Telemetry, diagnostics, extraction were already wired

Verification: web typecheck + 6 tests pass.
2026-03-10 18:56:14 -07:00
saravanakumardb1
e1fde25afd feat(identity): lock NoteLett product identity across all surfaces
- productId: notelett
- displayName: NoteLett
- domain: notelett.app
- iOS bundle: com.bytelyst.notelett
- Android bundle: com.notelett.app
- backend port: 4016
- token namespace: --nl-* (CSS), NoteLettTheme (native)

Rippled through:
- shared/product.json (canonical source)
- backend package.json, config, cosmos-init, all 10 test files
- web package.json, landing page, notes-client test
- mobile app.json, package.json, auth screen
- docs: PRD, ROADMAP, architecture review, foundations, web/mobile roadmaps
- registered in learning_ai_common_plat/products/notelett/

Verification: backend typecheck + 18 tests, web typecheck + 6 tests, mobile typecheck — all pass.
2026-03-10 18:47:01 -07:00
saravanakumardb1
8a1b79c4e4 fix(notes): link recent note tags 2026-03-10 18:21:32 -07:00
saravanakumardb1
fa87efd13b fix(notes): link search result filters 2026-03-10 18:17:13 -07:00
saravanakumardb1
758d5d42a4 fix(notes): link note review state 2026-03-10 18:12:23 -07:00
saravanakumardb1
260428d6f3 fix(notes): link workspace filters 2026-03-10 18:08:16 -07:00
saravanakumardb1
6d72561b30 fix(notes): link note metadata 2026-03-10 18:04:15 -07:00
saravanakumardb1
2a9f49048d fix(notes): link dashboard metrics 2026-03-10 17:58:51 -07:00
saravanakumardb1
22df6d956f fix(notes): activate workspace saved views 2026-03-10 17:53:32 -07:00
saravanakumardb1
88c11c25f2 fix(notes): activate saved searches 2026-03-10 17:49:02 -07:00
saravanakumardb1
99bc7a93ba fix(notes): link review workflows 2026-03-10 17:43:57 -07:00
saravanakumardb1
6222fdaaa0 fix(notes): link dashboard workflows 2026-03-10 17:38:49 -07:00
saravanakumardb1
5ce940110f fix(notes): select review queue items 2026-03-10 17:34:47 -07:00
saravanakumardb1
437651965e fix(notes): remove hardcoded sidebar note 2026-03-10 17:30:11 -07:00
saravanakumardb1
99484a5636 feat(notes): connect dashboard saved views 2026-03-10 17:23:23 -07:00
saravanakumardb1
9f2670ca8e fix(notes): link dashboard note activity 2026-03-10 17:14:24 -07:00
saravanakumardb1
ab159501fa fix(notes): activate workspace filtering 2026-03-10 16:49:32 -07:00
saravanakumardb1
4748ed32a6 feat(notes): wire backend note search 2026-03-10 16:44:27 -07:00
saravanakumardb1
5458090523 fix(notes): align active surface copy 2026-03-10 16:36:10 -07:00
saravanakumardb1
c99390e586 feat(notes): add web task creation flow 2026-03-10 16:25:16 -07:00
saravanakumardb1
ef82747e4f feat(notes): add web artifact creation flow 2026-03-10 16:19:36 -07:00
saravanakumardb1
cdc03e3541 feat(notes): persist web note edits 2026-03-10 16:14:22 -07:00
saravanakumardb1
1bb220b2eb feat(notes): enable web review decisions 2026-03-10 16:07:13 -07:00
saravanakumardb1
5995b6c725 feat(notes): wire backend-backed note workspace slice 2026-03-10 15:53:57 -07:00
saravanakumardb1
5f3b32bb93 test(web): cover integrated note runtime 2026-03-10 13:03:43 -07:00
saravanakumardb1
a7c362a9fc feat(web): enrich note detail with extraction 2026-03-10 12:56:45 -07:00
saravanakumardb1
be3b439621 feat(web): back artifact viewing with blob sas 2026-03-10 12:50:32 -07:00
saravanakumardb1
2fac1ba913 fix(web): align diagnostics platform config 2026-03-10 12:40:41 -07:00
saravanakumardb1
8bf0bb5452 feat(web): back review surfaces with backend data 2026-03-10 12:35:16 -07:00
saravanakumardb1
8340b1d489 feat(web): align notes runtime with backend 2026-03-10 12:22:39 -07:00
saravanakumardb1
8174962ef1 fix(config): align notes product identity across web and mobile 2026-03-10 11:45:59 -07:00
saravanakumardb1
3ddfa25acb fix(web): harden shell routes and add regression coverage 2026-03-10 10:34:31 -07:00
saravanakumardb1
b1dee94173 fix(repo): restore web lint and ignore generated artifacts 2026-03-10 10:30:49 -07:00
saravanakumardb1
d56ccdec8c chore(web): quiet workspace build warnings 2026-03-10 09:31:55 -07:00
saravanakumardb1
98144ab4ff test(web): add shell and navigation coverage 2026-03-10 09:28:14 -07:00
saravanakumardb1
c3831176a6 feat(web): harden shell keyboard navigation 2026-03-10 09:14:33 -07:00
saravanakumardb1
c517375e39 feat(web): add dense search and operator shells 2026-03-10 09:05:48 -07:00
saravanakumardb1
771a7d34a6 feat(notes): scaffold web backend and mobile foundations 2026-03-10 08:56:44 -07:00
saravanakumardb1
4fb859c81c feat(notes): scaffold product surfaces and backend MCP slices 2026-03-10 08:53:07 -07:00