Mobile Application
The bf_mobile crate implements the native mobile application using Tauri with the Lynx plugin. It provides a cross-platform experience for iOS and Android with native performance and platform-specific integrations.
Architecture
┌─────────────────────────────────────────────────────────────┐
│ Lynx UI Layer │
│ (React-like components) │
└─────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ Tauri Commands │
│ (40+ exposed functions for native access) │
└─────────────────────────────────────────────────────────────┘
│
┌───────────────┼───────────────┐
▼ ▼ ▼
┌───────────┐ ┌───────────┐ ┌───────────┐
│ Keychain/ │ │ Clerk │ │ OTA │
│ Keystore │ │ SDK │ │ Updates │
└───────────┘ └───────────┘ └───────────┘
Key Features
Native Credential Storage
Secure storage using platform-native APIs:
- iOS: Keychain Services
- Android: Android Keystore
Authentication Methods
Clerk SDK integration supports:
- Email + OTP verification
- Apple Sign In
- Google Sign In
- Passkey authentication
Over-the-Air Updates
A/B versioning strategy for zero-downtime updates:
- Background download of new assets
- Atomic switchover on next launch
- Automatic rollback on corruption
- Ed25519 signature verification
Tauri Commands
The app exposes 40+ commands for:
- Property and device management
- Tenant and guest operations
- PIN code management
- Notification preferences
- Access log viewing
- Energy monitoring
- Settings and preferences
Documentation in This Section
- mobile-architecture.md - Tauri framework and command structure
- ota-updates.md - A/B update system and verification
- client-caching.md - Asset caching and offline support