Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Fix] macOS Safari - native prompt with custom link #1116

Merged
merged 1 commit into from
Oct 19, 2023

Conversation

jkasten2
Copy link
Member

@jkasten2 jkasten2 commented Oct 18, 2023

Description

1 Line Summary

Fix Safari on macOS native prompt not showing from custom links.

Details

macOS Safari requires a user gesture to show the native prompt, and doesn't allow disk I/O in the Promise. Switched to the opted in check to use optedIn since this uses a cached value which doesn't have this disk I/O issue.

Validation

Tests

Tested on Safari 17.0 on macOS 13.6, ensuring the custom link prompts for notifications, subscribes, and can opt-out.

Info

Checklist

  • All the automated tests pass or I explained why that is not possible
  • I have personally tested this on my machine or explained why that is not possible
  • I have included test coverage for these changes or explained why they are not needed

Programming Checklist
Interfaces:

  • Don't use default export
  • New interfaces are in model files

Functions:

  • Don't use default export
  • All function signatures have return types
  • Helpers should not access any data but rather be given the data to operate on.

Typescript:

  • No Typescript warnings
  • Avoid silencing null/undefined warnings with the exclamation point

Other:

  • Iteration: refrain from using elem of array syntax. Prefer forEach or use map
  • 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

  • I have included screenshots/recordings of the intended results or explained why they are not needed

Related Tickets



This change is Reviewable

macOS Safari requires a user gesture to show the native prompt, and
doesn't allow disk I/O in the Promise.
Switched to the opted in check to use optedIn since this uses a cached
value which doesn't have this disk I/O issue.
@jkasten2 jkasten2 requested review from rgomezp and emawby October 18, 2023 18:56
Base automatically changed from dev/fix-vscode-docker to main October 19, 2023 15:58
@jkasten2 jkasten2 merged commit 5754813 into main Oct 19, 2023
2 checks passed
@jkasten2 jkasten2 deleted the fix/safari-custom-link-prompting branch October 19, 2023 15:58
@jkasten2 jkasten2 mentioned this pull request Oct 19, 2023
@jkasten2 jkasten2 changed the title [Fix] Safari on macOS native prompt with custom link [Fix] macOS Safari - native prompt with custom link Oct 19, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants