Skip to content

Implement UnifiedPush support#244

Merged
gdlbo merged 3 commits intodevelopfrom
unifiedpush
Apr 13, 2026
Merged

Implement UnifiedPush support#244
gdlbo merged 3 commits intodevelopfrom
unifiedpush

Conversation

@gdlbo
Copy link
Copy Markdown
Member

@gdlbo gdlbo commented Apr 12, 2026

#39

- add `UnifiedPushManager` and `UnifiedPushService` to support decentralized push notifications via the UnifiedPush connector
- introduce `PushProvider.UNIFIED_PUSH` and update `TdNotificationManager` to handle `DeviceTokenSimplePush` registration
- implement `PushDebugRepository` and `PushSyncTrigger` to facilitate push diagnostic monitoring and manual sync testing
- update Debug settings UI with a comprehensive "Push Diagnostics" section covering runtime flags, environment status, and UnifiedPush details
- enhance `TdNotificationService` logic to correctly manage foreground service lifecycle based on the active push provider
- update `App` startup logic and `DistrManager` to automatically detect available push distributors and handle provider fallbacks
- add necessary Android manifest queries and service declarations for UnifiedPush integration
- refine notification settings UI to allow selection between FCM, UnifiedPush, and GMS-less providers based on availability
@gdlbo gdlbo self-assigned this Apr 12, 2026
- introduce `NotificationMuteResolver` and `NotificationMuteDecision` to centralize chat mute state logic across `TdNotificationManager` and `ChatModelFactory`
- enhance `TdNotificationManager` with extensive logging for message processing and notification lifecycle events
- update `PushSyncTrigger` to include a delayed authentication check and `GetMe` probe to ensure TDLib is synchronized after a push message
- improve `UnifiedPushManager` and `UnifiedPushService` with detailed logging and distributor selection debugging
- fix potential notification leaks by adding extra validation for outgoing, duplicate, or empty messages
- transition `TdNotificationManager` to use `TdNotificationScope` directly instead of internal enum mapping
- add more descriptive "reason" metadata to push synchronization requests and notification mute decisions
@gdlbo gdlbo marked this pull request as ready for review April 12, 2026 22:32
- remove individual `item` wrappers for database and preference settings in `DebugContent`
- group related debug actions under a single `item` block to improve list structure
- ensure consistent bottom spacing by moving the `Spacer` inside the consolidated item block
@gdlbo gdlbo merged commit d0d8b4c into develop Apr 13, 2026
1 check passed
@gdlbo gdlbo deleted the unifiedpush branch April 14, 2026 18:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant