Files
soconnor 32ffe782ea Fix Live Activity lock screen rendering and polish multi-account auth.
Flatten widget layouts and use system colors so banner and expanded regions render on vibrant lock screens; migrate auth sessions per account to prevent double sign-in; scope app lock PIN to accounts; default clock description to "Clock In"; add architecture docs and deferred form validation on auth screens.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-18 01:23:36 -04:00

1.3 KiB

beenvoice-app — agent notes

Expo SDK 56. Read Expo v56 docs before changing native config.

Read first

Conventions

  • Package manager: Bun only
  • API types: import AppRouter from beenvoice/server/api/root (tsconfig path ../beenvoice/src/*)
  • Styling: useAppTheme() + useThemedStyles(); tokens in lib/theme-palette.ts
  • Forms: lib/form-validation.ts; show errors only after blur/submit (useFieldVisibility)
  • Auth: never remount account without migrating SecureStore session (lib/auth-storage.ts)
  • Widgets: all Live Activity UI must be inside the "widget" function in widgets/TimeClockActivity.tsx
  • Metro: port 8082; dev client required (not Expo Go)

Key files

Concern Path
Root providers app/_layout.tsx
Multi-account contexts/AccountsContext.tsx, lib/accounts.ts
Session migration lib/auth-storage.ts
tRPC lib/trpc.tsx
App lock lib/app-lock.ts, contexts/AppLockContext.tsx
Time clock components/time-clock/TimeClockPanel.tsx

Server repo

Sibling ../beenvoice — run bun run dev on :3000 before mobile dev.