[Fix] Remove soft-prompt in Notifications.requestPermission #1101
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
One Line Summary
Developers who call
OneSignal.Notifications.requestPermission()
already take the browser's requirement for a user gesture into account want to directly show the native notification permission prompt so we are removing the conditional soft-prompt.Details
Some developers want to directly display the native notification permission prompt. However we were trying to detect if a user interaction was required without considering if the developer already met it.
There isn't a browser API to detect if the user interaction was met at either the global level or stacktrace to detect this for them. There also isn't any errors thrown or returned to show one as a fallback either. We don't want to require a parameter so instead simply just always attempt to show the native prompt.
Validation
Tests
Tested on Windows 11 22H2 on Firefox 102.14.0esr.
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
Fixes #1098
This change is