Commit Graph

40 Commits

Author SHA1 Message Date
saravanakumardb1
c96c7855c6 fix(mobile): add error handling to store hydrate methods
- notes-store: wrap hydrate() and openNote() in try/catch to prevent isLoading stuck true
- inbox-store: wrap hydrate() in try/catch to prevent isLoading stuck true on API failure
- openNote falls back to cached list note when detail fetch fails
2026-03-31 00:51:16 -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
48896ab879 feat(mobile): integrate broadcast and survey clients 2026-03-31 00:03:20 -07:00
saravanakumardb1
acdedbcb9a feat(mobile): add kill switch gate in root layout 2026-03-30 23:58:03 -07:00
saravanakumardb1
ae0a481504 feat(mobile): complete block A auth session flow 2026-03-30 23:56:18 -07:00
saravanakumardb1
33f9379f4a feat(docker): migrate NoteLett to Gitea registry-backed Docker pattern
- Convert all @bytelyst/* file: refs to semver ^0.1.0 (backend, web, mobile)
- Remove sibling common-plat workspace references from pnpm-workspace.yaml
- Add .npmrc and .npmrc.docker for local Gitea registry
- Rewrite backend/web Dockerfiles: pnpm + BuildKit secret mount + corp proxy
- Fix backend tsconfig.json: remove explicit lib to resolve fetch Response types
- Verified: host-side pnpm install, backend tests (86 pass), backend+web Docker builds
2026-03-23 20:11:12 -07:00
saravanakumardb1
90dd2d3bd5 feat(repo): migrate notelett workspace to pnpm 2026-03-22 15:50:54 -07:00
saravanakumardb1
304d2ae865 feat: wire feature flag checks into web Sidebar and upgrade mobile flag client 2026-03-21 20:34:16 -07:00
saravanakumardb1
dbe3988284 chore: Remove unused deps — auth-client from web, platform-client + react-native-platform-sdk from mobile 2026-03-21 00:08:17 -07:00
saravanakumardb1
0b5c224075 fix(mobile): Fix diagnostics-client API — use DiagnosticsClient.getInstance()
@bytelyst/diagnostics-client exports DiagnosticsClient class with
singleton getInstance(config), not a createDiagnosticsClient factory.
Fixed import and initialization with correct config shape.
2026-03-20 23:13:44 -07:00
saravanakumardb1
c2d641433f refactor(mobile): Phase 9B — Add @bytelyst/diagnostics-client
- Add diagnostics-client dependency to mobile/package.json
- Wire diagnosticsClient in mobile/src/lib/platform.ts

Part of Mobile DRY Refactoring Roadmap Phase 9B.
2026-03-20 22:50:09 -07:00
saravanakumardb1
dd62d3bf5c test(web+mobile): Playwright E2E scaffold + 23 mobile store tests [C4, B7]
- web: playwright.config.ts + e2e/navigation.spec.ts (7 navigation tests, scaffolded)
- web: exclude e2e/ from tsconfig (playwright not yet installed as dep)
- mobile: notes-store.test.ts (7 tests: hydrate, openNote, saveDraft, updateNote)
- mobile: workspace-store.test.ts (5 tests: hydrate, preserve/reset active, set/clear)
- mobile: inbox-store.test.ts (5 tests: hydrate, approve, reject, unknown id guards)
- mobile: auth-store.test.ts (6 tests: bootstrap, signIn, signOut, failure paths)
- Total: 76 backend, 14 web, 23 mobile = 113 tests
2026-03-19 08:51:36 -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
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
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
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
5458090523 fix(notes): align active surface copy 2026-03-10 16:36:10 -07:00
saravanakumardb1
2a93b5ba40 fix(notes): align mobile note detail state 2026-03-10 16:29:06 -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
8580ad3fc6 feat(mobile): align notes runtime with backend 2026-03-10 12:08:31 -07:00
saravanakumardb1
86e2da88eb refactor(mobile): remove placeholder platform wrappers 2026-03-10 12:01:52 -07:00
saravanakumardb1
8174962ef1 fix(config): align notes product identity across web and mobile 2026-03-10 11:45:59 -07:00
saravanakumardb1
c9a4790a1c chore(mobile): align expo runtime compatibility 2026-03-10 10:21:05 -07:00
saravanakumardb1
f5f141ddb7 fix(mobile): verify scaffold and tighten tooling 2026-03-10 10:14:22 -07:00
saravanakumardb1
6f8d70186c fix(mobile): honor auth failures and tighten selectors 2026-03-10 09:52:54 -07:00
saravanakumardb1
217ed13329 fix(mobile): type auth selectors and token placeholders 2026-03-10 09:42:46 -07:00
saravanakumardb1
cb02b85237 feat(mobile): polish note detail loading state 2026-03-10 09:36:46 -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
4da56d489d feat(mobile): add note artifact summary 2026-03-10 09:27:20 -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