Glossary

Definition

silent (Notification option)

Short definition

silent is a boolean Notification option, e.g. showNotification("Synced", { silent: true }), that suppresses the sound, vibration and screen-wake behaviour a notification would normally trigger, while still adding it to the notification shade for the user to see whenever they next check.

Reviewed August 5, 2026

This is intended for genuinely low-priority updates — a background sync confirmation, a minor status change — where alerting the user with sound or vibration would be disruptive relative to the information's importance.

silent is distinct from the user's own OS-level "Do Not Disturb" or notification-channel mute settings; it is a per-notification hint from the app, not a system override, and the OS can still apply its own additional muting rules on top.

Browser support has historically been inconsistent — some platforms ignore the flag entirely and always play the default sound — so it should be treated as a hint rather than a guarantee, and tested on the specific OS versions you target.

silent should not be confused with the separate concept of "silent push", i.e. a push event with no visible notification at all — Chromium's userVisibleOnly policy still requires showNotification() to be called even when silent: true is used.

Related terms
renotify (Notification option)
renotify is a boolean option, e.g. { tag: "order-42", renotify: true }, that only has an effect when combined with tag. Without renotify, a new notification that replaces an existing same-tag notification updates silently with no new sound or vibration; with renotify: true, the replacement alerts the user exactly as a brand-new notification would.
requireInteraction (Notification option)
requireInteraction is a boolean option, e.g. showNotification("Incoming call", { requireInteraction: true }), that prevents the browser from automatically dismissing the notification after its default timeout (a few seconds on most desktop platforms). The notification instead stays visible until the user clicks it, clicks an action, or closes it manually.
push event (service worker)
The push event fires on the service worker whenever a message arrives from the push service the browser is subscribed to. A handler typically reads event.data.json() for the payload and calls event.waitUntil(self.registration.showNotification(title, options)) so the browser keeps the worker alive until the notification is actually displayed.
Notification permission states
Notification.permission returns one of three strings: "default" (the user has not yet decided, so the site may still call Notification.requestPermission() to ask), "granted" (the site may show notifications), or "denied" (the site is blocked from showing notifications and, critically, cannot re-prompt programmatically once denied).
Declarative Web Push
Declarative Web Push is a format where the push message payload itself is a JSON object describing the notification (title, body, icon, and so on) that the browser displays directly, rather than requiring a service worker's push event handler to run arbitrary JavaScript to call showNotification(). WebKit introduced it partly to allow more efficient and more private push delivery on iOS/Safari.
appinstalled event
appinstalled is a window event, listened for with window.addEventListener("appinstalled", () => { ... }), that fires after the browser has finished installing the PWA — regardless of whether the install was triggered via the native beforeinstallprompt flow or a browser menu item. It fires exactly once per successful install and carries no event detail beyond the fact that installation completed.