From fcf4c2fe8a7b5d244639b832d1ff2f1fbd5a0cfe Mon Sep 17 00:00:00 2001 From: Chris Hamons Date: Mon, 18 Nov 2024 14:12:54 -0600 Subject: [PATCH] fix: Correct payload to unbreak open link when clicking welcome notification 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,