v18: Install WakeUpNeo on Your Phone — iOS Push Notifications Now Work

WakeUpNeo is now a full Progressive Web App you can install to your home screen on iOS and Android — and push notifications finally work on iPhone. iOS supports web push, but only under conditions Apple enforces strictly: iOS 16.4+, the app installed to the home screen, and permission granted from a tap. This release fixes the code that was getting in the way and shortens the critical-alert cooldown from six hours to two.

v16 introduced push notifications, but on iPhone they did not reliably work — a limitation widely (and incorrectly) blamed on "Apple not allowing web push." That is a half-truth. iOS has supported web push since Safari 16.4 in March 2023. What Apple does require is a specific set of conditions, and any web app that does not meet all of them will silently fail. v18 makes WakeUpNeo a properly installable Progressive Web App and fixes the three code defects that were stopping push from working on iOS.

Install it to your home screen

WakeUpNeo now ships a web app manifest and a service worker, so it can be installed as a standalone app on both mobile platforms. On Android (Chrome), you will see an "Install app" prompt, or you can choose "Add to Home screen" from the browser menu. On iOS, open wakeupneo.ai in Safari, tap the Share button, and choose "Add to Home Screen." Once installed, it launches full-screen from its own icon with no browser chrome — and on iOS, installation is the prerequisite that unlocks push notifications.

Why iOS push is different

Apple exposes the Push API to web apps only when three conditions are all met. Miss any one and nothing arrives — usually with no error to explain why. These are platform rules, not bugs, and they are the reason web push on iPhone has a reputation for not working.

What was broken, and what we fixed

SymptomCauseFix
The app could fail to load in iOS SafariFirebase Cloud Messaging was initialized eagerly at page load. getMessaging() throws on any browser without the Push API — including iOS Safari before the app is installed — which could break the whole page.Messaging is now initialized lazily, and only after an isSupported() check passes.
iOS users had no way to turn push onThe push control was hidden whenever the Push API was unavailable — which is always the case in the iOS Safari tab — so iPhone users saw nothing and assumed push was broken.iOS visitors now see clear "Add to Home Screen" instructions in place of the hidden control.
Foreground notifications never appeared on iOSThe app raised notifications with the new Notification() constructor, which installed iOS PWAs do not support.Notifications are now shown through the service-worker registration (showNotification), which iOS supports.
Subscriptions could silently disable themselvesiOS revokes a push subscription if a push event ever resolves without displaying a notification.The service worker now always shows a notification, even when the payload is empty or malformed.

How to enable push on iPhone

One thing that is not a bug: Focus and Do Not Disturb

If push is fully configured and notifications still do not appear on your lock screen, check whether a Focus or Do Not Disturb mode is active — indicated by a crescent-moon icon near the clock. iOS delivers notifications silently to Notification Center while a Focus is on, keeping them off the lock screen entirely. This is iOS behaving as designed, not a delivery failure. Turning Focus off, or allowing WakeUpNeo through it, restores lock-screen alerts.

Critical-alert cooldown: 6 hours → 2 hours

Critical alerts enforce a minimum gap between notifications so a signal sitting above your threshold does not generate an endless stream of alerts. That cooldown was six hours, which made the feature feel unresponsive during fast-moving events. It is now two hours — frequent enough to stay useful when a situation is escalating, while still preventing notification spam.

Under the hood

Push delivery uses Firebase Cloud Messaging on top of the standard VAPID web-push protocol; on iOS, Apple Push Notification service is the transport, but no Apple Developer certificate is required for web push. A single service worker at /firebase-messaging-sw.js handles the push and notificationclick events natively, without the Firebase compat SDK, for consistent behavior across iOS WebKit, Chrome, and desktop browsers. The same FCM device token drives notifications on every platform, so nothing about the existing email and SMS channels changed.