59992af778
The local notifications plugin was initialised without iOS settings, so flutter_local_notifications threw "iOS settings must be set" before the app registered with Apple, and restoreMode swallowed the error. iPhones never sent the relay an APNs token for message wake-ups or a VoIP token for calls. - add DarwinInitializationSettings and request iOS permission explicitly - register with Apple before asking for notification permission (silent wake-ups do not need it) - send the VoIP token on its own (PLATFORM_APNS with an empty endpoint) when no APNs token is available yet - record a failed registration so the chat list shows it instead of failing silently - drop the force cast of rootViewController in AppDelegate and the unused SceneDelegate
Šepot — Flutter client
The Šepot mobile client. See the repository README for the project overview, threat model, and license.
Quick start
flutter pub get
flutter run # against the default relay
flutter build apk --release # signed release APK (see key.properties)
Layout
| Path | Contents |
|---|---|
lib/core/ |
Crypto facade, storage (SQLCipher), relay client + transport, push, services |
lib/features/ |
Screens (onboarding, chat, contacts, groups, settings, safety…) |
lib/models/ lib/providers/ |
Data models and Riverpod providers |
lib/l10n/ |
Localization (app_*.arb, generated AppLocalizations) |
test/ integration_test/ |
Unit, storage, crypto, and on-device integration tests |
Localization
Strings are defined in lib/l10n/app_cs.arb (template) and translated into
app_en/de/ru/it.arb. After editing, run flutter gen-l10n. See the root
README for how to contribute a new language.