window.safari.pushNotification.requestPermission() no longer works with Safari 17.3 on macOS 14.3

One Line Summary

window.safari.pushNotification.requestPermission() is no longer showing a prompt to the user with Safari 17.3 on macOS 14.3 and it's callback fires as "denied".

Why this is is important to fix

Starting with Safari 16 for macOS 13 Apple introduced support for the standard Push API. However it is expected that the original Safari JS API window.safari.pushNotification should continue working, as many sites have not fully upgraded to the new API and Apple has not announced a deprecation.

Environments

NOT Working

  • macOS 14.3 with Safari Version 17.3 (19617.2.4.11.8)
  • macOS 14.4 Beta (23E5191e) with Safari Version 17.4 (19618.1.13.11.5)

Working

  • macOS 13.6.4 with Safari Version 17.3 (18617.2.4.11.11, 18617)

MRE (minimal reproducible example)

See the following site to quickly reproduce the issue noted here: https://public-mre-macos-window-safari-prompt-bug.glitch.me/

NOTE: You may need to create a new macOS user to reproduce this issue.

Amending some details above.

  • The bug happens on all 3 environments noted above.
    • So macOS 13.6.4 with Safari Version 17.3 and newer seem to be affected by this bug.
  • Create a new macOS User if you can't reproduce. (bug seems depended on macOS user setting or state)
window.safari.pushNotification.requestPermission() no longer works with Safari 17.3 on macOS 14.3
 
 
Q