OneSignal is a push notification service for web and mobile apps. This SDK makes it easy to integrate your website with OneSignal Push Notifications. https://onesignal.com
Other
389
stars
115
forks
source link
[Fix] Webhook dismissed not firing, and willDisplay when set from the dashboard #1174
Fixed issues with webhooks not reading parameters correctly, causing the dismissed and willDisplay to not fire.
Details
dismissed - this one was not firing at all due to the reading the wrong key from indexedDB
willDisplay - This one wasn't working if set from the dashboard, works fine with "custom code"
Validation
Tests
Tested all 3 notification events to ensure they fired on Chrome 123 on Windows 11 23H2; willDisplay, dismissed, and clicked.
Info
Checklist
[X] All the automated tests pass or I explained why that is not possible
[X] I have personally tested this on my machine or explained why that is not possible
[X] I have included test coverage for these changes or explained why they are not needed
Programming Checklist
Interfaces:
[X] Don't use default export
[X] New interfaces are in model files
Functions:
[X] Don't use default export
[X] All function signatures have return types
[X] Helpers should not access any data but rather be given the data to operate on.
Typescript:
[X] No Typescript warnings
[X] Avoid silencing null/undefined warnings with the exclamation point
Other:
[X] Iteration: refrain from using elem of array syntax. Prefer forEach or use map
[X] Avoid using global OneSignal accessor for context if possible. Instead, we can pass it to function/constructor so that we don't call OneSignal.context
Screenshots
Info
Checklist
[X] I have included screenshots/recordings of the intended results or explained why they are not needed
Description
One-Line Summary
Fixed issues with webhooks not reading parameters correctly, causing the dismissed and willDisplay to not fire.
Details
Validation
Tests
Tested all 3 notification events to ensure they fired on Chrome 123 on Windows 11 23H2; willDisplay, dismissed, and clicked.
Info
Checklist
Programming Checklist Interfaces:
Functions:
Typescript:
Other:
elem of array
syntax. PreferforEach
or usemap
context
if possible. Instead, we can pass it to function/constructor so that we don't callOneSignal.context
Screenshots
Info
Checklist
Related Tickets
This change is