Commit graph

652 commits

Author SHA1 Message Date
binwiederhier b7679c7826 Remove setting, add persistence 2023-07-08 15:14:35 -04:00
binwiederhier 43981bb675 Merge branch 'main' into markdown 2023-07-04 21:15:08 -04:00
nimbleghost dd02267f9b Disable PWA (manifest) when web push is disabled 2023-06-24 20:11:10 +02:00
binwiederhier 9aeea4d9fa Fix text 2023-06-24 13:45:29 -04:00
binwiederhier 271056a4aa The last commit 2023-06-20 21:46:09 -04:00
nimbleghost 5f6d753cb7 Remove navigation fallback for all except app root 2023-06-19 21:45:55 +02:00
nimbleghost 8211b4cc24 Fix: add v1 to navigation fallback denylist
This is required for the Stripe redirection flow
2023-06-19 21:28:40 +02:00
nimbleghost d7aacb8b24 Fix PWA for non-root web roots 2023-06-19 10:58:15 +02:00
binwiederhier dc7dd836c6 web-push-startup-queries 2023-06-18 14:20:22 -04:00
binwiederhier 88c6b4adae Rename web-push-subscriptions-file to web-push-file 2023-06-17 21:57:47 -04:00
binwiederhier 020996ea04 Minor changes 2023-06-17 21:51:04 -04:00
nimbleghost 3cd61d8278 Add web push delete test 2023-06-17 21:44:21 +02:00
nimbleghost 2d45e397a7 Add disabled web push test 2023-06-17 21:40:08 +02:00
binwiederhier ff7e894e4c Add more tests, change endpoint 2023-06-17 14:44:55 -04:00
binwiederhier 341e84f643 Limit number of webpush subscriptions per subscriber IP 2023-06-16 21:59:07 -04:00
binwiederhier c43a1166e2 Docs, mostly 2023-06-16 16:55:42 -04:00
binwiederhier 6e95d62726 Cosmetic changess 2023-06-15 22:25:05 -04:00
binwiederhier 2d0c043dfd Derp 2023-06-12 21:03:49 -04:00
binwiederhier a8def0aed2 Make allowed endpoints a list of patterns 2023-06-12 21:01:43 -04:00
binwiederhier 58992fc795 Make DELETE endpoint, add different UI description 2023-06-10 21:09:01 -04:00
binwiederhier 1abcc88fce Add subscription_topic table, change updated_at type to INT, split expire function 2023-06-09 23:17:48 -04:00
nimbleghost 4704b2a0e4 Set default TTL for web push to the cache duration 2023-06-09 11:32:44 +02:00
binwiederhier 966ffe1669 More refactor 2023-06-08 23:09:38 -04:00
binwiederhier 9d38aeb863 Docs in server.yml, schemaVersion table, refactoring 2023-06-08 21:45:52 -04:00
binwiederhier d3ac976d05 Remove web-push-(enabled|duration*), change endpoint, other cosmetic changes 2023-06-08 14:30:19 -04:00
binwiederhier 75a4b5bd88 Small refactor 2023-06-08 12:20:12 -04:00
nimbleghost 46f34ca1e3 Add push service allowlist and topic limit 2023-06-07 21:09:13 +02:00
nimbleghost 0f0074cbab Implement push subscription expiry 2023-06-07 21:09:13 +02:00
nimbleghost 47ad024ec7 Simplify web push UX and updates
- Use a single endpoint
- Use a declarative web push sync hook. This thus handles all edge cases
  that had to be manually handled before: logout, login, account sync,
  etc.
- Simplify UX: browser notifications are always enabled (unless denied),
  web push toggle only shows up if permissions are already granted.
2023-06-07 20:38:21 +02:00
nimbleghost 0c25425346 Use readJSONWithLimit for web push sub/unsub 2023-06-07 20:38:21 +02:00
nimbleghost 4648f83669 Format emojis in the service worker directly 2023-06-07 20:38:21 +02:00
nimbleghost 44913c1668 Replace if err-nil-Fatal check with require.Nil 2023-06-07 20:38:21 +02:00
binwiederhier 20c7650e51 server.yml update 2023-06-07 20:38:21 +02:00
binwiederhier e8139ad655 Move web-push-config endpoint to config.js 2023-06-07 20:38:21 +02:00
binwiederhier 9e0687e142 Random tiny changes 2023-06-07 20:38:21 +02:00
binwiederhier 7f3e4b5f47 Move stuff to server_web_push.go 2023-06-07 20:38:21 +02:00
binwiederhier 7b23158e0a Cosmetic changes 2023-06-07 20:38:21 +02:00
nimbleghost a9fef387fa Add web push tests 2023-06-07 20:38:21 +02:00
nimbleghost ff5c854192 Add PWA, service worker and Web Push
- Use new notification request/opt-in flow for push
- Implement unsubscribing
- Implement muting
- Implement emojis in title
- Add iOS specific PWA warning
- Don’t use websockets when web push is enabled
- Fix duplicate notifications
- Implement default web push setting
- Implement changing subscription type
- Implement web push subscription refresh
- Implement web push notification click
2023-06-07 20:38:20 +02:00
binwiederhier d084a415f3 Do not forward UP messages to upstream 2023-05-31 15:36:02 -04:00
binwiederhier 7d46f1eed9 Merge branch 'main' into markdown 2023-05-26 21:15:38 -04:00
binwiederhier 7812eb9d19 WIP: Markdown 2023-05-24 20:37:27 -04:00
nimbleghost e21327cec5 Add vite
Changes according to Vite defaults:

- Move index.html to root
- Replace `%PUBLIC_URL%` with plain `/`
2023-05-24 22:16:10 +02:00
binwiederhier f8a00dd411 Fix test 2023-05-23 14:24:11 -04:00
binwiederhier da06ae4485 Clarify error message for poll requests 2023-05-23 13:20:43 -04:00
binwiederhier 168ad8bf1b Support encoding any header as RFC 2047 2023-05-21 20:56:56 -04:00
binwiederhier 3b3e6ac2cd Rename twilio-from-number to twilio-phone-number 2023-05-18 13:32:27 -04:00
binwiederhier 25d3a66f91 Upstream access token 2023-05-18 13:08:10 -04:00
binwiederhier fc1087a42b The last one 2023-05-17 11:19:48 -04:00
binwiederhier 92c384374a More self-review 2023-05-17 10:58:28 -04:00