nomadcode/apps/mobile/push-notification-todo.md
toki 663919c8b0 refactor: organize roadmap phases and update mobile app structure
- 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
2026-05-25 13:59:24 +09:00

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.