- 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
2.1 KiB
Push Notification Integration Handoff & Migration Notes
Important
This document is preserved for historical reference only. As of the
mattermost-push-plugin-extractionmilestone, 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:
- Firebase Manifest & Metadata:
google-services.jsoninsideapps/mobile/android/app/- Initializing Firebase inside
lib/main.dart
- 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().
- Storing session authorization tokens via
- App Navigation Routings:
- Handling user taps on notifications by implementing
onNavigateToChannelandonNavigateToThreadrouting callbacks onMattermostPushPlugin.instance.
- Handling user taps on notifications by implementing
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.ktNotificationReplyBroadcastReceiver.javaNotificationDismissService.javaReceiptDelivery.javaPushNotificationDataHelper.kthelpers/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.