From 1d159457f3465483e90a633945c18b1507a70631 Mon Sep 17 00:00:00 2001 From: Chris Hamons Date: Mon, 18 Nov 2024 16:25:55 -0600 Subject: [PATCH] fix: Correct payload to unbreak open link when clicking welcome notification (#1207) https://app.asana.com/0/1208719710991963/1208760940956731/f This issue boiled down to the "Open link when clicking welcome notification" feature not working, when you clicked the notification is opened the 'default' URL, not the option set. After doing a bunch of digging, I was able to confirm that we were saving that setting and then servcing it to the SDK via the sync API. I was then able to trace it through: 1) src/shared/helpers/EventHelper.ts (onSubscriptionChanged_showWelcomeNotification) 2) src/shared/helpers/MainHelper.ts (MainHelper.showLocalNotification) There we shovel that url into a dataPayload that we shovel into a service worker call. That comes out the other side when you click the notifiction in: 3) src/sw/serviceWorker/ServiceWorker.ts (onNotificationClicked) There we cast via: const osNotification = event.notification.data as IOSNotification; IOSNotification is defined to have: ``` readonly launchURL?: string; ``` However, the struct we created had: ``` const dataPayload = { data, url, buttons: buttons ? convertButtonsToNotificationActionType(buttons) : undefined, }; ``` url != launchURL Fixing the payload made it start working. --- src/shared/helpers/MainHelper.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/shared/helpers/MainHelper.ts b/src/shared/helpers/MainHelper.ts index 44ed23523..83a3ff43e 100755 --- a/src/shared/helpers/MainHelper.ts +++ b/src/shared/helpers/MainHelper.ts @@ -77,7 +77,7 @@ export default class MainHelper { }; const dataPayload = { data, - url, + launchURL: url, buttons: buttons ? convertButtonsToNotificationActionType(buttons) : undefined,