Commit graph

4070 commits

Author SHA1 Message Date
Karina Kwiatek
1a29a19e9d Allow setting up push when service worker hasn't been registered yet.
We don't register the service worker until the user opts in for push notifications.
2023-01-02 13:51:02 +01:00
Karina Kwiatek
7ffd07a959 Bump version to 2023.0102.0 2023-01-02 13:07:10 +01:00
Karina Kwiatek
cc1c262256
Merge pull request #678 from Retrospring/feature/webpush
WebPush support
2023-01-02 11:57:34 +00:00
Karina Kwiatek
1adf3956ba Remove console.log 2023-01-02 12:57:14 +01:00
Karina Kwiatek
b3a7cf388a Add tests for mute rule use cases 2023-01-02 12:45:35 +01:00
Karina Kwiatek
04bc1da8cf Use Mute Rule use cases in mutes controller 2023-01-02 12:45:35 +01:00
Karina Kwiatek
8178d75a57 Add use cases for creating and destroying mute rules 2023-01-02 12:45:35 +01:00
Karina Kwiatek
c20974d182 Appease the dog overlords
Co-authored-by: nilsding <nilsding@nilsding.org>
2023-01-02 12:30:19 +01:00
Karina Kwiatek
5a3f2966dd Add tests for subscription check endpoint 2023-01-02 11:52:02 +01:00
Karina Kwiatek
48c7beb54e Only allow checking of own subscriptions 2023-01-02 11:52:02 +01:00
Karina Kwiatek
2417354b31 Unsubscribe client on too many failures 2023-01-02 11:52:02 +01:00
Karina Kwiatek
efad76855e Add endpoint for checking subscription status 2023-01-02 11:52:02 +01:00
Karina Kwiatek
e0195654b5 Send notification on 3 push failures 2023-01-02 11:52:00 +01:00
Karina Kwiatek
fccf35fdab Restore push notification prompt in inbox 2023-01-02 11:51:46 +01:00
Karina Kwiatek
1cfd3250c0 Track failures on Web Push subscriptions 2023-01-02 11:51:46 +01:00
Karina Kwiatek
ba3c406bc7 Remove notification after click 2023-01-02 11:51:46 +01:00
Karina Kwiatek
67423699b6 Use fetch to get contact_email from config in webpush app migration 2023-01-02 11:51:46 +01:00
Karina Kwiatek
22a84ab818 Appease the dog overlords 2023-01-02 11:51:45 +01:00
Karina Kwiatek
ee9c48fd06 Clean up question create use case 2023-01-02 11:50:48 +01:00
Karina Kwiatek
2d6f539dfd Use author avatar on notification 2023-01-02 11:50:48 +01:00
Karina Kwiatek
a67c26d985 Fix missing anon names from notification text 2023-01-02 11:50:48 +01:00
Karina Kwiatek
91d3db4034 Move rpush init/exit logic into Sidekiq initializer
Co-authored-by: nilsding <nilsding@nilsding.org>
2023-01-02 11:50:48 +01:00
Karina Kwiatek
10c224b2fe Address review comments from @nilsding
Co-authored-by: nilsding <nilsding@nilsding.org>
2023-01-02 11:50:48 +01:00
Karina Kwiatek
89008364d9 Handle push notifications in Sidekiq job 2023-01-02 11:50:48 +01:00
Karina Kwiatek
185c454da0 Fix incorrect author relationship name 2023-01-02 11:50:48 +01:00
Karina Kwiatek
16eb27cc2b Add icon to notifications 2023-01-02 11:50:48 +01:00
Karina Kwiatek
062e293607 Fix missing namespace qualifier for Rpush 2023-01-02 11:50:48 +01:00
Karina Kwiatek
d9514a306a Make push notification settings reinit on navigation 2023-01-02 11:50:48 +01:00
Karina Kwiatek
3eafa5e335 Add tests for subscription management 2023-01-02 11:50:48 +01:00
Karina Kwiatek
44112c5449 Test for sending notifications for new questions 2023-01-02 11:50:48 +01:00
Karina Kwiatek
8c2bfcb452 Use JSON for notification payload 2023-01-02 11:50:48 +01:00
Karina Kwiatek
dc80c1dba3 Fix push notification settings not appearing when not subscribed 2023-01-02 11:50:48 +01:00
Karina Kwiatek
2f8126d732 Supress lint errors in Add RPush migration 2023-01-02 11:50:48 +01:00
Karina Kwiatek
3619f46360 Add unsubscribe messages 2023-01-02 11:50:48 +01:00
Karina Kwiatek
66b1dac3b9 Improve UX for push subscription management 2023-01-02 11:50:48 +01:00
Karina Kwiatek
8ff213af4e Add the ability to unsubscribe from push notifications 2023-01-02 11:50:48 +01:00
Karina Kwiatek
752cf1506b Add settings page for push notifications 2023-01-02 11:50:47 +01:00
Karina Kwiatek
c8f5511a38 Fix capability classes being removed on page navigation
The body tag gets replaced by Turbo on page navigation, removing the classes.
2023-01-02 11:50:47 +01:00
Karina Kwiatek
29a3bfea88 Fix incorrect internal class names in Rpush migration
This was caused by `rubocop -A`
2023-01-02 11:50:47 +01:00
Karina Kwiatek
4e65954a7a Open inbox on notification click 2023-01-02 11:50:47 +01:00
Karina Kwiatek
a04b290067 Appease the dog overlords 2023-01-02 11:50:47 +01:00
Karina Kwiatek
93d4af3f0d Deduplicate notification sending logic and replace placeholder string 2023-01-02 11:50:47 +01:00
Karina Kwiatek
2da4767623 Add JS for subscribing to and receiving push notifications 2023-01-02 11:50:47 +01:00
Karina Kwiatek
8b98c278da Send push notifications on question create 2023-01-02 11:50:47 +01:00
Karina Kwiatek
bae227be76 Add endpoints for getting webpush public key and subscribing 2023-01-02 11:50:47 +01:00
Karina Kwiatek
32ab9267ec Add web push subscription model 2023-01-02 11:50:47 +01:00
Karina Kwiatek
4e08f035d1 Create migration for adding an rpush app for webpush 2023-01-02 11:50:47 +01:00
Karina Kwiatek
92ba2d7c9b Add rpush 2023-01-02 11:50:47 +01:00
Karina Kwiatek
48f9c01866
Merge pull request #899 from Retrospring/clean-up-rakefile
Clean up Rakefile
2023-01-02 10:48:52 +00:00
Karina Kwiatek
f81ec0ba91 Ignore block length on justask namespace 2023-01-02 11:44:11 +01:00