TF-2460 Fix real time updates for web are broken
This commit is contained in:
@@ -1,13 +1,16 @@
|
||||
|
||||
import 'dart:async';
|
||||
import 'dart:convert';
|
||||
|
||||
import 'package:core/utils/app_logger.dart';
|
||||
import 'package:firebase_messaging/firebase_messaging.dart';
|
||||
import 'package:jmap_dart_client/jmap/core/id.dart';
|
||||
import 'package:jmap_dart_client/jmap/mail/email/email.dart';
|
||||
import 'package:tmail_ui_user/features/push_notification/presentation/model/broadcast_message_event_data.dart';
|
||||
import 'package:tmail_ui_user/main/routes/app_routes.dart';
|
||||
import 'package:tmail_ui_user/main/routes/route_navigation.dart';
|
||||
import 'package:tmail_ui_user/main/routes/route_utils.dart';
|
||||
import 'package:universal_html/html.dart' as html;
|
||||
|
||||
class FcmService {
|
||||
|
||||
@@ -35,6 +38,19 @@ class FcmService {
|
||||
}
|
||||
}
|
||||
|
||||
void handleMessageEventBroadcastChannel(html.MessageEvent messageEvent) {
|
||||
log('FcmService::handleMessageEventBroadcastChannel():TYPE: ${messageEvent.data.runtimeType} | DATA: ${messageEvent.data}');
|
||||
try {
|
||||
final jsonEventData = jsonDecode(jsonEncode(messageEvent.data)) as Map<String, dynamic>;
|
||||
final eventData = BroadcastMessageEventData.fromJson(jsonEventData);
|
||||
if (eventData.data?.isNotEmpty == true) {
|
||||
foregroundMessageStreamController?.add(eventData.data!);
|
||||
}
|
||||
} catch (e) {
|
||||
logError('FcmService::handleMessageEventBroadcastChannel: Exception = $e');
|
||||
}
|
||||
}
|
||||
|
||||
void handleToken(String? token) {
|
||||
log('FcmService::handleToken():token: $token');
|
||||
fcmTokenStreamController?.add(token);
|
||||
|
||||
Reference in New Issue
Block a user