Refine, docs

This commit is contained in:
binwiederhier
2026-01-15 19:06:05 -05:00
parent 94eb121f38
commit 5ae3774f19
3 changed files with 14 additions and 5 deletions

View File

@@ -163,6 +163,12 @@ const handlePushUnknown = async (data) => {
const handlePush = async (data) => {
const { message } = data;
// This logic is (partially) duplicated in
// - Android: SubscriberService::onNotificationReceived()
// - Android: FirebaseService::onMessageReceived()
// - Web app: hooks.js:handleNotification()
// - Web app: sw.js:handleMessage(), sw.js:handleMessageClear(), ...
if (message.event === EVENT_MESSAGE) {
await handlePushMessage(data);
} else if (message.event === EVENT_MESSAGE_DELETE) {

View File

@@ -26,7 +26,7 @@ class Notifier {
subscriptionId: subscription.id,
message: notification,
defaultTitle,
topicRoute: new URL(routes.forSubscription(subscription), window.location.origin).toString()
topicRoute: new URL(routes.forSubscription(subscription), window.location.origin).toString(),
})
);
}
@@ -40,7 +40,7 @@ class Notifier {
console.log(`[Notifier] Cancelling notification with ${tag}`);
const registration = await this.serviceWorkerRegistration();
const notifications = await registration.getNotifications({ tag });
notifications.forEach(n => n.close());
notifications.forEach((n) => n.close());
} catch (e) {
console.log(`[Notifier] Error cancelling notification`, e);
}
@@ -72,7 +72,7 @@ class Notifier {
if (hasWebPushTopics) {
return pushManager.subscribe({
userVisibleOnly: true,
applicationServerKey: urlB64ToUint8Array(config.web_push_public_key)
applicationServerKey: urlB64ToUint8Array(config.web_push_public_key),
});
}

View File

@@ -51,8 +51,11 @@ export const useConnectionListeners = (account, subscriptions, users, webPushTop
};
const handleNotification = async (subscriptionId, notification) => {
// Note: This logic is duplicated in the Android app in SubscriberService::onNotificationReceived()
// and FirebaseService::handleMessage().
// This logic is (partially) duplicated in
// - Android: SubscriberService::onNotificationReceived()
// - Android: FirebaseService::onMessageReceived()
// - Web app: hooks.js:handleNotification()
// - Web app: sw.js:handleMessage(), sw.js:handleMessageClear(), ...
if (notification.event === EVENT_MESSAGE_DELETE && notification.sequence_id) {
await subscriptionManager.deleteNotificationBySequenceId(subscriptionId, notification.sequence_id);