- Reorganize roadmap archives into phase-based directory structure - Add PHASE.md files for each roadmap phase - Update mobile app: remove Mattermost-specific push notification code - Update mobile app: migrate to workspace-based authentication - Update pubspec.yaml and platform configs for nomadcode app
34 lines
2.1 KiB
Markdown
34 lines
2.1 KiB
Markdown
# Push Notification Integration Handoff & Migration Notes
|
|
|
|
> [!IMPORTANT]
|
|
> **This document is preserved for historical reference only.**
|
|
> As of the `mattermost-push-plugin-extraction` milestone, all native FCM services, Room DB structures, JJWT signature verification, inline reply/dismiss receivers, notification builders, and ACK request handling have been successfully extracted into the local Flutter plugin repository: `../mattermost-push-plugin`.
|
|
>
|
|
> **Do NOT edit native push files directly inside this host app repository (`apps/mobile/android`).** All native push logic and platform services now reside in and must be maintained within the plugin repository.
|
|
|
|
## Current Responsibilities in Host App (`apps/mobile`)
|
|
|
|
The host application acts strictly as a consumer of the `mattermost_push_plugin` package. What remains in `apps/mobile` regarding push notifications are:
|
|
|
|
1. **Firebase Manifest & Metadata**:
|
|
- `google-services.json` inside `apps/mobile/android/app/`
|
|
- Initializing Firebase inside `lib/main.dart`
|
|
2. **Credential / Secret Plumbing**:
|
|
- Storing session authorization tokens via `MattermostPushPlugin.instance.setAuthToken()` on login and clearing them on logout.
|
|
- Registering Mattermost server public signing keys via `MattermostPushPlugin.instance.setSigningKey()`.
|
|
3. **App Navigation Routings**:
|
|
- Handling user taps on notifications by implementing `onNavigateToChannel` and `onNavigateToThread` routing callbacks on `MattermostPushPlugin.instance`.
|
|
|
|
## Legacy Work Documentation (Reference)
|
|
|
|
All native Kotlin/Java files, Room DB configurations, and broadcast receivers documented below are now managed within the `mattermost_push_plugin` repository:
|
|
|
|
- `MattermostFirebaseMessagingService.kt`
|
|
- `NotificationReplyBroadcastReceiver.java`
|
|
- `NotificationDismissService.java`
|
|
- `ReceiptDelivery.java`
|
|
- `PushNotificationDataHelper.kt`
|
|
- `helpers/db/MattermostDatabase.kt` & `GlobalDatabase.kt`
|
|
|
|
For local modifications, testing guidelines, and detailed API specs, please refer to the plugin's README:
|
|
See `../mattermost-push-plugin/README.md` from the NomadCode repository root.
|