Developing and testing features or extensions for Microsoft Edge
This browser is no longer supported.
Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support.
Hi,
try
{
// Subscribe the user to push notifications
pushSubscription = await serviceWorkerRegistration.pushManager.subscribe
({
userVisibleOnly: true,
applicationServerKey: urlBase64ToUint8Array("YOUR PUBLIC VAPID KEY HERE")
});
}
catch (err)
{
// The subscription wasn't successful.
console.log("Error", err);
}
On Android, pushSubscription.endpoint is always https://permanently-removed.invalid/......
Permission is "granted", sw is registered and OK.
Edge version 143.0.3650.97. Xiaomi 12TPro. Android: 15.
Regards
Meelis
Developing and testing features or extensions for Microsoft Edge
Hi @Meelis Lilbok ,
Thanks for reaching out.
From your description and the code shared, the behavior you’re seeing does not appear to be caused by an issue in your implementation. Your usage of the Push API (pushManager.subscribe(), notification permissions, service worker registration, and VAPID keys) follows the standard flow described in Microsoft’s official Edge documentation:
https://learn.microsoft.com/en-us/microsoft-edge/progressive-web-apps/how-to/push
On Edge for Android, pushManager.subscribe() can still complete successfully and permissions may show as granted, even though Web Push delivery may not function as expected on this platform. Because of this, Edge on Android can return a placeholder endpoint such as https://permanently-removed.invalid/... instead of a real push service URL.
This placeholder endpoint indicates that while the subscription call itself succeeds, the browser does not expose an actual push endpoint that can be used by a server to deliver notifications. In practice, this means push subscription appears to work, but push messages cannot be delivered on Edge for Android in this scenario.
What you can try next:
Your service worker registration, permissions, and VAPID configuration are not the root cause here - this behavior appears to be related to how Edge on Android currently handles Web Push, rather than an issue with your implementation.
Hope this helps! If my answer was helpful - kindly follow the instructions here so others with the same problem can benefit as well.