mirror of
https://github.com/bulwarkmail/native.git
synced 2026-10-31 08:06:36 +00:00
CI: - .github/workflows/release-android.yml builds APK on release publish and via workflow_dispatch, attaches it to the release. - android/app/build.gradle: optional release signingConfig driven by Gradle properties (ANDROID_KEYSTORE_BASE64 secret etc.); falls back to the debug keystore when no secrets are set. - .gitignore: untrack /android so the runner can build directly; ignore build outputs (build/, .cxx/), Metro/Expo dev logs, scratch. Track android/ sources including BulwarkFcmPackage.kt and google-services.json (Firebase Android keys are public per Google's docs and intended to ship in the APK). JS sync: push notifications + background task, vacation responder (api + store), contact activity component, search utilities, settings polish, calendar/contacts/email store and screen tweaks. Tooling: scripts/poll-reload.mjs — Windows polling-watcher that hits Metro /reload on file change (workaround for unreliable fs.watch without Watchman).
16 lines
708 B
TypeScript
16 lines
708 B
TypeScript
import { AppRegistry } from 'react-native';
|
|
import { registerRootComponent } from 'expo';
|
|
|
|
import App from './App';
|
|
import { pushBackgroundTask } from './src/lib/push-background-task';
|
|
|
|
// Runs in a fresh headless JS runtime when BulwarkPushTaskService is started
|
|
// from BulwarkMessagingService on an FCM data message. Must be registered
|
|
// before the native service tries to invoke the task.
|
|
AppRegistry.registerHeadlessTask('BulwarkPushTask', () => pushBackgroundTask);
|
|
|
|
// registerRootComponent calls AppRegistry.registerComponent('main', () => App);
|
|
// It also ensures that whether you load the app in Expo Go or in a native build,
|
|
// the environment is set up appropriately
|
|
registerRootComponent(App);
|