-
08e8665
reconcile never creates a subscription; write down the iOS smoke test
Paul Campbell
-
feb58dc
Add the browser wiring test and the browser gate target
Paul Campbell
-
bb867e2
Example: keep the key, gate the buttons, ship the icons
Paul Campbell
-
3bf45d1
Add the example app: every seam wired, everyone signed in as dev
Paul Campbell
-
2b283e1
Docs: await the worker's ready, name the content type, scope installation to iOS
Paul Campbell
-
a5c2bcd
Add SKILL.md, the installability recipe and the README
Paul Campbell
-
da04de6
Worker helper: verify the renewal's key, fall back on a refused notification
Paul Campbell
-
3c7b03d
Add aviso-key: prints one private key
Paul Campbell
-
c0b4a14
Add the service-worker helper
Paul Campbell
-
d0b4a44
Store subscription keys canonically; real P-256 fixtures in the node tests
Paul Campbell
-
7e8d507
Add the browser module and its node tests
Paul Campbell
-
e71b6bb
Handlers: validate the subscription keys and refuse trailing JSON
Paul Campbell
-
d7684ea
Add the three handlers, gated by session and origin
Paul Campbell
-
61fc8a9
Send: stop aliasing the payload, sanitise transport errors, bound the settle
Paul Campbell
-
3175bd1
Add Send and SendTo over webpush-go
Paul Campbell
-
c216644
Guard the remaining IPv6 special ranges; test refusal at the dialer
Paul Campbell
-
e6070f0
Add the SSRF guard: endpoint validation and a dial-time IP check
Paul Campbell
-
de0ae52
Add the subscription store
Paul Campbell
-
c3ed31a
Validate Origin as exactly an origin, and Contact as a real address
Paul Campbell
-
940027d
Add the schema, Config and Service
Paul Campbell
-
8f87a42
Refuse non-canonical private key spellings; pin the key-id derivation
Paul Campbell
-
0f9b4ea
Add VAPID key parsing and generation
Paul Campbell
-
acb1fef
Scaffold the aviso module and its gate
Paul Campbell