summaryrefslogtreecommitdiff
path: root/packages/sw/src/scripts/create-notification.ts
diff options
context:
space:
mode:
Diffstat (limited to 'packages/sw/src/scripts/create-notification.ts')
-rw-r--r--packages/sw/src/scripts/create-notification.ts18
1 files changed, 18 insertions, 0 deletions
diff --git a/packages/sw/src/scripts/create-notification.ts b/packages/sw/src/scripts/create-notification.ts
index 65e84e4609..68b5db54b7 100644
--- a/packages/sw/src/scripts/create-notification.ts
+++ b/packages/sw/src/scripts/create-notification.ts
@@ -291,6 +291,24 @@ async function composeNotification(data: PushNotificationDataMap[keyof PushNotif
data,
renotify: true,
}];
+ case 'newChatMessage':
+ if (data.body.toRoom != null) {
+ return [`${data.body.toRoom.name}: ${getUserName(data.body.fromUser)}: ${data.body.text}`, {
+ icon: data.body.fromUser.avatarUrl ?? undefined,
+ badge: iconUrl('messages'),
+ tag: `chat:room:${data.body.toRoomId}`,
+ data,
+ renotify: true,
+ }];
+ } else {
+ return [`${getUserName(data.body.fromUser)}: ${data.body.text}`, {
+ icon: data.body.fromUser.avatarUrl ?? undefined,
+ badge: iconUrl('messages'),
+ tag: `chat:user:${data.body.fromUserId}`,
+ data,
+ renotify: true,
+ }];
+ }
default:
return null;
}