What's new
- Added
apps/mobile, the first native Switchbord mobile app scaffold, using Expo and React Native for both Android and iOS. - Registered the mobile app in the pnpm workspace and root workspace graph so it can be installed, typechecked, tested, and bundled alongside the existing app/api/web surfaces.
- Added a pnpm-safe Expo entrypoint with
registerRootComponent(App)plus iOS and Android identifiers for the future native release pipeline.
Mobile MVP scaffolding
- The skeleton models the initial operator flow with React Native primitives only: boot/auth placeholder, workspace picker, inbox list, conversation thread, and settings diagnostics.
- Shared route/state modules keep the MVP flow typed and testable before the Supabase auth, BFF, realtime, push, and offline-cache follow-up slices land.
- The mobile bundle does not import
@repo/database, service-role helpers, or web-only design-system/Radix components.
Security posture
- Mobile public configuration currently accepts only
EXPO_PUBLIC_SUPABASE_URL. - API-key, service-role, and bundled workspace-id inputs are ignored and surfaced as diagnostics, preserving the planned first-party Supabase JWT + server-side workspace membership architecture.
Verification
pnpm --filter mobile testpnpm --filter mobile typecheckpnpm --filter mobile lintpnpm --filter mobile exec expo export --platform android --output-dir /tmp/mobile-export-review --no-bytecode --clearpnpm --filter mobile exec expo export --platform ios --output-dir /tmp/mobile-export-ios-review --no-bytecode --clearpnpm --filter app buildpnpm --filter web build