Repository navigation
v0.14.9
dash can now notify your devices (#39). This release adds Web Push for the installed web app, UnifiedPush for the coming Android app, and attention notifications. It is a patch, and push is unavailable until dash has a writable data dir and DASH_SECRET_KEY.
New
- Settings → Devices. "Subscribe this browser" registers the installed web app or a browser for push.
- The device proves it can receive pushes with an 8-character code, which the page submits by itself.
- Each device chooses its alerts: approvals, and attention at critical, warning or off.
- It can send itself a test push.
- Administrators can see and remove every user's devices.
- A QR code holds the server address for the Android app (not released yet).
- Attention notifications:
- an attention item at or above a device's threshold that lasts 2 minutes sends one push;
- an item escalating from warning to critical reaches critical-only devices;
- an item pushes again only after it clears and returns;
- at most 30 attention pushes per user per hour, with one summary for the rest.
- One sender for Web Push and UnifiedPush:
- RFC 8291 encryption and RFC 8292 VAPID, built on the Go standard library;
- endpoints must be https and resolve to global addresses, checked at dial time;
push.allowPrivateadmits a LAN ntfy; - no redirects, retries with backoff;
- fair limits per device, per user and per push service.
- Devices follow your sessions.
- A browser device stops receiving pushes when you log out, and comes back by itself the next time you sign in on it.
- The Android app's device follows its OAuth grant.
- Endpoints and keys are stored encrypted and never logged.
- Installed web app: the service worker shows notifications and opens them only on dash's own origin.
Upgrade notes
- Nothing to change. Without a writable data dir and
DASH_SECRET_KEY, push stays off, and one INFO line at start says what is missing. Push also needspush.contactor an httpsserver.publicURL. - Rolling back to v0.14.8: remove
push:from the config file (the older release refuses the unknown key). v0.14.8 keeps tokens and grants and drops the push data at its next write, so devices subscribe again after a later upgrade. Seedocs/upgrading.md.