Merge pull request #1976 from Decodetalkers/messagejumpfix

fix(notification/linux): default action also need to be handled
This commit is contained in:
Krille-chan 2025-06-21 12:08:28 +02:00 committed by GitHub
commit c06b2cf640
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -3,8 +3,8 @@ import 'dart:io';
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:collection/collection.dart';
import 'package:desktop_notifications/desktop_notifications.dart';
import 'package:go_router/go_router.dart';
import 'package:matrix/matrix.dart';
import 'package:universal_html/html.dart' as html;
@ -13,6 +13,7 @@ import 'package:fluffychat/l10n/l10n.dart';
import 'package:fluffychat/utils/client_download_content_extension.dart';
import 'package:fluffychat/utils/matrix_sdk_extensions/matrix_locals.dart';
import 'package:fluffychat/utils/platform_infos.dart';
import 'package:fluffychat/widgets/fluffy_chat_app.dart';
import 'package:fluffychat/widgets/matrix.dart';
extension LocalNotificationsExtension on MatrixState {
@ -97,9 +98,12 @@ extension LocalNotificationsExtension on MatrixState {
],
);
notification.action.then((actionStr) {
final action = DesktopNotificationActions.values
.singleWhere((a) => a.name == actionStr);
switch (action) {
var action = DesktopNotificationActions.values
.singleWhereOrNull((a) => a.name == actionStr);
if (action == null && actionStr == "default") {
action = DesktopNotificationActions.openChat;
}
switch (action!) {
case DesktopNotificationActions.seen:
event.room.setReadMarker(
event.eventId,
@ -108,7 +112,7 @@ extension LocalNotificationsExtension on MatrixState {
);
break;
case DesktopNotificationActions.openChat:
context.go('/rooms/${event.room.id}');
FluffyChatApp.router.go('/rooms/${event.room.id}');
break;
}
});