nimbleghost
e2120bc66d
Improve WebPushEnabled conditional display
2023-06-14 14:33:35 +02:00
nimbleghost
67b9d2eaf6
Add missing await
2023-06-14 14:31:34 +02:00
binwiederhier
7083ed9f6b
Move websocketSubscriptions to useConnectionListeners
2023-06-14 08:18:55 -04:00
binwiederhier
790fd43369
Tiny changes
2023-06-14 08:04:16 -04:00
binwiederhier
6b38499bdc
Revert alert text and button, and warning
2023-06-13 22:03:00 -04:00
binwiederhier
cf050cc289
Merge branch 'pwa' of github.com:nimbleghost/ntfy into pwa
2023-06-13 21:54:23 -04:00
nimbleghost
390d42c607
Format & fix lint
2023-06-13 14:02:54 +02:00
nimbleghost
8ccfa5c3fb
Fix session replica behaviour (merge with session)
...
The harder-to-refactor parts are the places where exists/username/token
are called within a React component. However, `resetAndRedirect` and
`store` are already called from async contexts, so adding an `await`
is simple.
This thus merges the logic, keeping localStorage for the components to
call, but making sure reset/store behaviour works correctly for the
replica.
2023-06-13 14:00:51 +02:00
binwiederhier
9e19183471
Merge branch 'main' into pwa
2023-06-12 21:13:16 -04:00
binwiederhier
ae3e8a0094
Blog post
2023-06-12 21:13: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
4e44b034bd
Merge branch 'main' of github.com:binwiederhier/ntfy into pwa
2023-06-12 19:38:17 -04:00
binwiederhier
e6c83b6efb
Add Lemmy, etc.
2023-06-12 08:48:51 -04:00
binwiederhier
1dbcfe3c6e
Thank you @KevinWang15 for your donation
2023-06-10 21:11:48 -04:00
binwiederhier
58992fc795
Make DELETE endpoint, add different UI description
2023-06-10 21:09:01 -04:00
binwiederhier
eb220544a3
Change wording in prefs based on setting
2023-06-10 20:51:24 -04:00
binwiederhier
9d5556c7f5
Rename things, add comments
2023-06-10 20:42:02 -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
binwiederhier
2e8292a65f
No real changes, just renames
2023-06-09 14:32:34 -04:00
nimbleghost
4704b2a0e4
Set default TTL for web push to the cache duration
2023-06-09 11:32:44 +02:00
nimbleghost
9e4eafe8d5
Format
2023-06-09 10:03:11 +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
nimbleghost
4ce6fdcc5a
Implement http actions in service worker
...
These are only supported in Chrome-based browsers via the service worker
and not for regular desktop notifications.
2023-06-08 20:12:41 +02:00
binwiederhier
75a4b5bd88
Small refactor
2023-06-08 12:20:12 -04:00
nimbleghost
2f5acee798
Call pushManager.subscribe only if enabled
2023-06-08 10:55:11 +02:00
nimbleghost
46798ac322
Make web push toggle global
2023-06-08 10:46:51 +02:00
nimbleghost
a8db08c7d4
Use attachment URL for image & add timestamp
2023-06-07 21:57:23 +02:00
nimbleghost
f3db0e083e
Add release notes
2023-06-07 21:57:22 +02:00
nimbleghost
18edff9afe
Add TODO comment about Safari 17 PWA
2023-06-07 21:09:13 +02:00
nimbleghost
03aa67ed68
Remove webPushDefaultEnabled
2023-06-07 21:09:13 +02: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
4944e3ae4b
Remove webPushEndpoint from indexeddb
...
Rely directly on getting it from the browser
2023-06-07 20:38:21 +02:00
nimbleghost
7aa3d8f59b
Hide web push toggles if disabled on server
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
f94bb1aa30
Improve web push docs
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
733ef4664b
Deps
2023-06-07 13:24:41 -04:00