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

use new URL in subscribeSafariPromptPermission #1138

Merged
merged 1 commit into from
Nov 27, 2023

Conversation

fedterzi
Copy link
Contributor

@fedterzi fedterzi commented Nov 16, 2023

Description

1 Line Summary

use new URL with appId in subscribeSafariPromptPermission

Details

Due to changes in our API, the appId is now required in the URL used by subscribeSafariPromptPermission. In instances where the new URL is not usable, we fallback to the legacy URL with an additional request. This ensures compatibility with both the updated and legacy API endpoints.

Systems Affected

  • WebSDK
  • Backend
  • Dashboard

Validation

Tests

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

@fedterzi fedterzi requested a review from jkasten2 November 16, 2023 12:15
@fedterzi fedterzi force-pushed the feat/use_new_safari_subscription_url branch from d7c42cd to 0bcaa2a Compare November 20, 2023 15:16
@fedterzi fedterzi requested a review from jkasten2 November 20, 2023 15:25
Copy link
Member

@jkasten2 jkasten2 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I tested this and unfortunately the fallback call to window.safari.pushNotification.requestPermission doesn't work with Safari. The browser throws the following error "Push notification prompting can only be done from a user gesture.". It seems even though there is an await the browser doesn't consider it the same event.

@fedterzi fedterzi force-pushed the feat/use_new_safari_subscription_url branch from 0bcaa2a to 5e989b1 Compare November 21, 2023 19:07
@fedterzi fedterzi requested a review from jkasten2 November 21, 2023 19:08
Due to changes in our API, the `appId` is now required in the URL
used by `subscribeSafariPromptPermission`. In instances where the new
URL is not usable, we fallback to the legacy URL with an additional
request. This ensures compatibility with both the updated and legacy
API endpoints.
@fedterzi fedterzi force-pushed the feat/use_new_safari_subscription_url branch from 5e989b1 to c7f1ccd Compare November 21, 2023 19:19
Copy link
Member

@jkasten2 jkasten2 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Confirmed this works as expected in Safari 17.1 on macOS 13.6.1. First click does nothing, then the 2nd click results in the native Safari notification showing correctly. Once the Safari zips are regenerated server side then the first click will start working again.

@jkasten2 jkasten2 merged commit f00ea16 into main Nov 27, 2023
@jkasten2 jkasten2 deleted the feat/use_new_safari_subscription_url branch November 27, 2023 20:35
@jkasten2 jkasten2 mentioned this pull request Nov 27, 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