Download this file
| 1 | # aviso |
| 2 | |
| 3 | Web Push for rastrillo apps: subscriptions a signed-in person enrols |
| 4 | from their browsers, one VAPID key per app, and a sender that fans a |
| 5 | payload out to those devices. An addon — `amadan.net/rastrillo/aviso` |
| 6 | depends on rastrillo, never the reverse. |
| 7 | |
| 8 | go get amadan.net/rastrillo/aviso |
| 9 | cat "$(go list -m -f '{{.Dir}}' amadan.net/rastrillo/aviso)/SKILL.md" |
| 10 | |
| 11 | `SKILL.md` is the authoring doc: how to wire it, send, and write the |
| 12 | browser and worker halves. `docs/installable.md` is the recipe for |
| 13 | making the app installable, which iOS requires before it will deliver |
| 14 | push. `example/` is the smallest app that wires every seam. |
| 15 | |
| 16 | ## What it is not |
| 17 | |
| 18 | It does not decide who is told what — recipient selection and payload |
| 19 | meaning are the app's. It does not cache, work offline, or own the |
| 20 | service worker's lifecycle. It does not retry, queue, or report |
| 21 | delivery; a push service's acceptance is where its knowledge ends. |
| 22 | |
| 23 | Design: `docs/superpowers/specs/2026-09-07-aviso-web-push-design.md`, |
| 24 | extracted from Eleven messenger's push transport. Gate: `make ci`. |
| 25 | |