[PR #751] [MERGED] Add PWA manifest, service worker, and web push #1406

Closed
opened 2026-05-07 01:01:57 +02:00 by BreizhHardware · 0 comments

📋 Pull Request Information

Original PR: https://github.com/binwiederhier/ntfy/pull/751
Author: @nimbleghost
Created: 5/24/2023
Status: Merged
Merged: 6/24/2023
Merged by: @binwiederhier

Base: mainHead: pwa


📝 Commits (10+)

  • ff5c854 Add PWA, service worker and Web Push
  • a9fef38 Add web push tests
  • f94bb1a Improve web push docs
  • 7b23158 Cosmetic changes
  • 7f3e4b5 Move stuff to server_web_push.go
  • 9e0687e Random tiny changes
  • e8139ad Move web-push-config endpoint to config.js
  • 20c7650 server.yml update
  • 44913c1 Replace if err-nil-Fatal check with require.Nil
  • 4648f83 Format emojis in the service worker directly

📊 Changes

100 files changed (+5458 additions, -539 deletions)

View changed files

📝 .gitignore (+1 -0)
📝 README.md (+1 -0)
📝 cmd/serve.go (+17 -0)
cmd/webpush.go (+48 -0)
cmd/webpush_test.go (+24 -0)
📝 docs/config.md (+75 -7)
📝 docs/develop.md (+36 -1)
📝 docs/releases.md (+4 -0)
docs/static/img/pwa-badge.png (+0 -0)
docs/static/img/pwa-install.png (+0 -0)
docs/static/img/pwa.png (+0 -0)
docs/static/img/web-pin.png (+0 -0)
📝 docs/static/img/web-subscribe.png (+0 -0)
docs/subscribe/desktop.md (+18 -0)
📝 docs/subscribe/web.md (+37 -13)
📝 go.mod (+2 -0)
📝 go.sum (+5 -0)
📝 mkdocs.yml (+1 -0)
📝 server/config.go (+21 -1)
📝 server/errors.go (+4 -0)

...and 80 more files

📄 Description

Resolves #346
Resolves #199

Adds a PWA manifest, service worker, the required go server routes, and VAPID-based web push

I can't test Android, but this is what it looks like on macOS and iOS:

chrome_install_prompt chrome_installed
ios_add ios_opts iOS-subscribe
iOS-notif-1 ios_badge ios_opts

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/binwiederhier/ntfy/pull/751 **Author:** [@nimbleghost](https://github.com/nimbleghost) **Created:** 5/24/2023 **Status:** ✅ Merged **Merged:** 6/24/2023 **Merged by:** [@binwiederhier](https://github.com/binwiederhier) **Base:** `main` ← **Head:** `pwa` --- ### 📝 Commits (10+) - [`ff5c854`](https://github.com/binwiederhier/ntfy/commit/ff5c854192dafd99d57204ce690d6fbe3828ceb6) Add PWA, service worker and Web Push - [`a9fef38`](https://github.com/binwiederhier/ntfy/commit/a9fef387faf5754060dd3e12f6a8921fe99a6df0) Add web push tests - [`f94bb1a`](https://github.com/binwiederhier/ntfy/commit/f94bb1aa3034e0530dee8ea15f7addcc2d1f48b1) Improve web push docs - [`7b23158`](https://github.com/binwiederhier/ntfy/commit/7b23158e0a2580f67aee6c98281917abbcedeae4) Cosmetic changes - [`7f3e4b5`](https://github.com/binwiederhier/ntfy/commit/7f3e4b5f473d66a70453fd1d6eb9ff3b01537716) Move stuff to server_web_push.go - [`9e0687e`](https://github.com/binwiederhier/ntfy/commit/9e0687e142e213e08007f36fd49b4ad9f8ef5f35) Random tiny changes - [`e8139ad`](https://github.com/binwiederhier/ntfy/commit/e8139ad655da9d60a263ecb2a1c8cafa46b25a81) Move web-push-config endpoint to config.js - [`20c7650`](https://github.com/binwiederhier/ntfy/commit/20c7650e515df910d6cc15202f16f12ba841a107) server.yml update - [`44913c1`](https://github.com/binwiederhier/ntfy/commit/44913c1668dda3ab80039d72933db60c0e97bf77) Replace if err-nil-Fatal check with require.Nil - [`4648f83`](https://github.com/binwiederhier/ntfy/commit/4648f83669d97aee30d71b6a4c7d0e75a85e337d) Format emojis in the service worker directly ### 📊 Changes **100 files changed** (+5458 additions, -539 deletions) <details> <summary>View changed files</summary> 📝 `.gitignore` (+1 -0) 📝 `README.md` (+1 -0) 📝 `cmd/serve.go` (+17 -0) ➕ `cmd/webpush.go` (+48 -0) ➕ `cmd/webpush_test.go` (+24 -0) 📝 `docs/config.md` (+75 -7) 📝 `docs/develop.md` (+36 -1) 📝 `docs/releases.md` (+4 -0) ➕ `docs/static/img/pwa-badge.png` (+0 -0) ➕ `docs/static/img/pwa-install.png` (+0 -0) ➕ `docs/static/img/pwa.png` (+0 -0) ➖ `docs/static/img/web-pin.png` (+0 -0) 📝 `docs/static/img/web-subscribe.png` (+0 -0) ➕ `docs/subscribe/desktop.md` (+18 -0) 📝 `docs/subscribe/web.md` (+37 -13) 📝 `go.mod` (+2 -0) 📝 `go.sum` (+5 -0) 📝 `mkdocs.yml` (+1 -0) 📝 `server/config.go` (+21 -1) 📝 `server/errors.go` (+4 -0) _...and 80 more files_ </details> ### 📄 Description Resolves #346 Resolves #199 Adds a PWA manifest, service worker, the required go server routes, and VAPID-based web push I can't test Android, but this is what it looks like on macOS and iOS: | | | |--|--| | <img width="1508" alt="chrome_install_prompt" src="https://github.com/binwiederhier/ntfy/assets/132819643/ec956350-01e0-4658-80e7-605007ba54f6"> | <img width="1312" alt="chrome_installed" src="https://github.com/binwiederhier/ntfy/assets/132819643/e4ec7929-c8a9-402f-959d-5abb408f29a9"> | | | | | |--|--|--| | ![ios_add](https://github.com/binwiederhier/ntfy/assets/132819643/109666bb-c3d1-473d-b7a4-bac95db04ae1) | ![ios_opts](https://github.com/binwiederhier/ntfy/assets/132819643/1ede06fa-d1c6-4b48-a864-e9df4035038f) | ![iOS-subscribe](https://github.com/binwiederhier/ntfy/assets/132819643/05eb93cd-4999-47c4-822c-7dbf03837c9d) | | ![iOS-notif-1](https://github.com/binwiederhier/ntfy/assets/132819643/3615d94c-0e41-48e0-a6c2-fcd2d095b859) | ![ios_badge](https://github.com/binwiederhier/ntfy/assets/132819643/8fb1ec3b-b4ee-4a76-865e-055cba4f070b) | ![ios_opts](https://github.com/binwiederhier/ntfy/assets/132819643/b5246af7-b349-4b17-8fc1-381ed9aee6ab) | --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
BreizhHardware 2026-05-07 01:01:57 +02:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/ntfy#1406
No description provided.