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
cc1c262256
Merge pull request #678 from Retrospring/feature/webpush
...
WebPush support
2023-01-02 11:57:34 +00:00
Karina Kwiatek
04bc1da8cf
Use Mute Rule use cases in mutes controller
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
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
22a84ab818
Appease the dog overlords
2023-01-02 11:51:45 +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
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
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
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
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
4c158066cb
Clean up User model
2023-01-02 11:31:27 +01:00
Karina Kwiatek
81c9870af4
Ignore Metrics/AbcSize in share worker
2023-01-02 09:46:55 +01:00
Karina Kwiatek
873d6a2c88
Fix typo in share worker
2023-01-02 09:46:55 +01:00
Karina Kwiatek
0241a02e29
Remove unnecessary `Object.const_get`
2023-01-02 09:35:32 +01:00
Karina Kwiatek
02bcfb3c9e
Move user service into an instance variable
...
Co-authored-by: nilsding <nilsding@nilsding.org>
2023-01-02 09:34:08 +01:00
Karina Kwiatek
d320a74045
Mark notification as read when visiting service settings
2023-01-02 00:01:42 +01:00
Karina Kwiatek
baffd05d6f
Appease the dog overlords
2023-01-01 23:52:46 +01:00
Karina Kwiatek
9d1e77aeba
Revoke Twitter connection when the token is revoked
2023-01-01 23:46:10 +01:00
Andreas Nedbal
9b5470cfd3
Appease the dog overlords
2023-01-01 22:43:24 +01:00
Andreas Nedbal
7b0a615193
Validate uniqueness of answers for questions
2023-01-01 22:43:24 +01:00
Andreas Nedbal
6700a52ad1
Remove superfluous require
2023-01-01 22:42:50 +01:00
Andreas Nedbal
6a03d3587a
Appease the dog overlords
2023-01-01 22:42:50 +01:00
Andreas Nedbal
0e172bb179
Add UI to manage muted users
2023-01-01 22:42:50 +01:00
Andreas Nedbal
55c473e0f5
don't create notifications from muted user
2023-01-01 22:42:50 +01:00
Andreas Nedbal
2a7a17a4c3
wip: don't create notifications from a muted user
2023-01-01 22:42:50 +01:00
Andreas Nedbal
8017d97784
Don't receive questions from muted users
2023-01-01 22:42:50 +01:00
Andreas Nedbal
409c8372ba
Add mute action support in user action handler
2023-01-01 22:42:50 +01:00
Andreas Nedbal
361b8df798
Add mute relationship and user methods
2023-01-01 22:42:50 +01:00
Georg Gadinger
55f60bc5a7
remove requires for exporter
...
handled by Zeitwerk now
2022-12-29 20:57:28 +01:00
Georg Gadinger
fb07eda972
remove errors
2022-12-29 20:57:28 +01:00
Georg Gadinger
9413d23a02
let Zeitwerk autoload the `lib/` directory
...
this also allows the UseCase classes to be hot reloaded in dev 🎉
- remove use_case requires (except for the exporter as Zeitwerk
doesn't know about the subclasses)
- move version.rb to lib/retrospring so that Zeitwerk knows where
to find Retrospring::Version
2022-12-29 20:57:28 +01:00
Georg Gadinger
447d1f7e6d
Merge pull request #886 from Retrospring/bugfix/questionable-user-questions
...
fix display conditions of profile questions
2022-12-27 23:15:58 +00:00
Andreas Nedbal
97736a956d
Track question users in anonymous blocks
2022-12-28 00:10:59 +01:00
Andreas Nedbal
e7f60acad5
Add target_user field to anonymous blocks
2022-12-28 00:10:59 +01:00
Andreas Nedbal
481f3c4d8f
Apply review suggestions from @nilsding
...
Co-authored-by: Georg Gadinger <nilsding@nilsding.org>
2022-12-27 23:51:41 +01:00
Andreas Nedbal
44e144cecc
Appease the dog overlords
2022-12-27 23:51:41 +01:00
Andreas Nedbal
37f4b78f66
Silently fail in share worker if user account is suspended
2022-12-27 23:51:41 +01:00
Georg Gadinger
3524809e21
fix display conditions of profile questions
2022-12-27 22:07:21 +00:00
Andreas Nedbal
712328bd86
Fix wrong translation in linkfilter view
2022-12-26 15:38:19 +01:00
Andreas Nedbal
7cc57968bc
Localize Sidekiq dashboard panel
2022-12-25 00:29:24 +01:00
Andreas Nedbal
2e27c45bbe
move sidekiq panel into separate partial
2022-12-25 00:23:53 +01:00
Andreas Nedbal
c730faa1b9
Remove Sidekiq dashboard link from admin sidebar
2022-12-25 00:19:08 +01:00
Andreas Nedbal
be452c48b0
improve layout of Sidekiq dashboard panel
2022-12-25 00:18:17 +01:00
Georg Gadinger
cf88da111c
admin/dashboard: add basic sidekiq stats and warn if sidekiq is not running
2022-12-24 22:44:42 +00:00
Andreas Nedbal
b53538ccb8
add safe-area to bottom padding on mobile
2022-12-24 21:47:23 +01:00
Andreas Nedbal
67e564fd94
fix z-index of comment input
2022-12-24 21:47:23 +01:00
Andreas Nedbal
7ab4214a14
add max height to notification dropdown and make it scroll
2022-12-24 21:47:23 +01:00
Andreas Nedbal
538eaecd86
remove fixed positioning from questions in mobile view
2022-12-24 21:47:23 +01:00
Andreas Nedbal
61c4033dfa
add support for custom footer links
2022-12-24 19:10:05 +01:00
Georg Gadinger
312fadff2a
fix images when not using S3/radosgw
...
"das system ist das problem, ja?"
fixes #822
2022-12-22 17:29:38 +01:00
Andreas Nedbal
ff811edfe6
Apply review suggestion from @nilsding
...
Co-authored-by: Georg Gadinger <nilsding@nilsding.org>
2022-12-18 22:01:43 +01:00
Andreas Nedbal
175ad4a83b
eager load notification associations for dropdown
2022-12-18 22:01:43 +01:00
Andreas Nedbal
19e5837ce5
get rid of N+1 query in `notification_count` method
2022-12-18 22:01:43 +01:00
Andreas Nedbal
5a0e42fe66
use `has_cached_role?` instead of `has_role?`
2022-12-18 21:47:03 +01:00
Georg Gadinger
d52529c840
mark dataexported notifications as read when visiting export page
2022-12-10 15:56:07 +01:00
Georg Gadinger
e1bdb1324f
make the export worker create a *real* notification and add specs for it
2022-12-10 04:25:08 +01:00
Karina Kwiatek
cb61db02eb
Merge pull request #824 from Retrospring/feature/anonymous-block-tuuuuuuurbo
...
Migrate anonymous blocks to Turbo Streams
2022-12-04 23:23:19 +01:00
Karina Kwiatek
ce5b8d2356
Merge pull request #825 from Retrospring/feature/stimulus-announcements
...
Add Stimulus controller for announcements
2022-12-04 23:23:11 +01:00
Karina Kwiatek
63436d3464
Remove `ios_web_app?` helper
2022-12-04 23:11:59 +01:00
Georg Gadinger
a2ae98eee8
inbox_controller: update all inbox entries when requesting turbo stream
...
since there's no layout rendered which updates all inbox entries the
inbox entries would still be shown as unread
fixes #827
2022-11-25 00:10:36 +01:00
Bandie
0529247851
Keep place of link consistent
2022-11-25 00:10:16 +01:00
Bandie
ecb68eaee4
Make link to "all notifications" accessible even if your monitor is too small for all of your notifications
2022-11-25 00:10:16 +01:00
Andreas Nedbal
b51d8c048d
Remove legacy announcement TypeScript
2022-11-23 21:01:35 +01:00
Andreas Nedbal
3b1f15ebb9
Add Stimulus controller for announcements
2022-11-23 21:00:49 +01:00
Andreas Nedbal
55f26cb7d4
Remove settings unblock TypeScript
2022-11-22 08:38:33 +01:00
Andreas Nedbal
1c4993df3f
Fix lints
2022-11-21 23:07:18 +01:00
Andreas Nedbal
d9991f5fa7
Add tests
2022-11-21 23:05:04 +01:00
Andreas Nedbal
b81fbb7fe6
Wire up Turbo Streams action calls in templates
2022-11-21 22:30:15 +01:00
Andreas Nedbal
d000ddaae4
Add `AnonymousBlockController`
2022-11-21 22:29:47 +01:00
Andreas Nedbal
ddded27757
Remove anonymous block AJAX implementation
2022-11-21 22:28:38 +01:00
Andreas Nedbal
bb3ef51f13
Add spacing to 2FA buttons
2022-11-21 21:13:25 +01:00
Andreas Nedbal
41c43538b5
Fix lints
2022-11-21 20:26:19 +01:00
Andreas Nedbal
9a4c0d576d
Add Stimulus autofocus controller
2022-11-21 20:26:19 +01:00
Andreas Nedbal
efef85b7c6
Split mute rule form into seperate partial and replace on create
2022-11-21 20:26:19 +01:00
Karina Kwiatek
40d5dc41dd
Ensure mute rules cannot be empty
2022-11-21 20:26:19 +01:00
Andreas Nedbal
94c9fa12fb
Add policy for mute rules
2022-11-21 20:26:19 +01:00
Andreas Nedbal
c8f990e319
Set up Pundit
2022-11-21 20:26:19 +01:00
Andreas Nedbal
9048a3e7d8
Remove AJAX Mute Rules code
2022-11-21 20:26:19 +01:00
Andreas Nedbal
c08ff04738
Destroy Mute Rules using Turbo Streams
2022-11-21 20:26:19 +01:00
Andreas Nedbal
589b753df3
Create Mute Rules using Turbo Streams
2022-11-21 20:26:19 +01:00
Andreas Nedbal
97d55127e4
Fix double nested layouts
2022-11-21 20:26:01 +01:00
Andreas Nedbal
c464e80e45
Fix lints
2022-11-21 20:26:01 +01:00
Andreas Nedbal
d42f1ba0c5
Fix tests
2022-11-21 20:26:01 +01:00
Andreas Nedbal
9bd9c7af9f
Disable Turbo on announcement forms
2022-11-21 20:26:01 +01:00
Andreas Nedbal
54e157ec76
`AnnouncementController` -> `Admin::AnnouncementController`
2022-11-21 20:26:01 +01:00
Andreas Nedbal
cc00fff8cd
Add global anon blocks to moderation sidebar
2022-11-21 20:26:01 +01:00
Andreas Nedbal
695ce57762
Use moderation layout on specific views
2022-11-21 20:26:01 +01:00
Andreas Nedbal
95b501301d
Move moderation layout to proper location
2022-11-21 20:26:01 +01:00
Andreas Nedbal
6d462cbd1b
Add link to admin dashboard to profile dropdown
2022-11-21 20:26:01 +01:00
Andreas Nedbal
d0654d7d9d
Use new layout in announcements views
2022-11-21 20:26:01 +01:00
Andreas Nedbal
4504d5ebac
Add layout and sidebar for administration views
2022-11-21 20:26:01 +01:00
Andreas Nedbal
c61ccfa5c1
Add admin dashboard controller
2022-11-21 20:26:01 +01:00
Andreas Nedbal
f91246986c
Update generated entries to not be new after rendering
2022-11-18 23:35:38 +01:00
Andreas Nedbal
22289f2946
Hide empty text as soon as another inbox entry appears
2022-11-18 23:35:38 +01:00
Andreas Nedbal
44c0136c9e
Remove AJAX question generation code
2022-11-18 23:35:38 +01:00
Andreas Nedbal
d3eae22f13
Generate inbox entries using Turbo Streams
2022-11-18 23:35:38 +01:00
Andreas Nedbal
23dafb5bcb
Merge branch 'main' into feature/privacy-noindex
2022-11-18 23:23:01 +01:00
Andreas Nedbal
d3bfbff30a
Merge branch 'main' into feature/input-placeholder-theming
2022-11-18 23:21:08 +01:00
Andreas Nedbal
fe9a77cd67
Fix lints
2022-11-18 23:19:24 +01:00
Andreas Nedbal
8699a4ca08
Redirect from follower/following page if social graph is hidden
2022-11-18 23:19:24 +01:00
Andreas Nedbal
51a70b67f4
Hide follower/followings tabs if social graph is hidden
2022-11-18 23:19:24 +01:00
Andreas Nedbal
9249ef976b
Add social graph field to privacy settings view
2022-11-18 23:19:24 +01:00
Andreas Nedbal
4c820b472e
Set noindex robots tag on content of users that enable it
2022-11-16 22:33:04 +01:00
Andreas Nedbal
f8e43a9bb0
Add noindex setting to privacy settings view
2022-11-16 22:32:40 +01:00
Andreas Nedbal
921f02c4c9
Fix lints in ThemeHelper
2022-11-15 00:32:54 +01:00
Andreas Nedbal
f35d49e575
Properly handle placeholder fields in theme application
2022-11-14 23:13:22 +01:00
Andreas Nedbal
420a25872e
Allow input placeholder in theme settings
2022-11-14 23:12:39 +01:00
Andreas Nedbal
752d6cb987
Make input placeholder themable
2022-11-14 23:11:23 +01:00
Andreas Nedbal
3cefc829f8
Merge branch 'main' into feature/privacy-require-user
2022-11-13 17:27:53 +01:00
Andreas Nedbal
16c6e7c096
Show message in questionbox that users need to log in
2022-11-13 14:27:33 +01:00
Andreas Nedbal
18b3ac641b
Add user requirement setting to privacy settings
2022-11-13 14:26:03 +01:00
Andreas Nedbal
024a37bdd6
Merge branch 'main' into feature/inbox-locking
2022-11-12 13:39:35 +01:00
Karina Kwiatek
68ca431165
Prevent questions from being sent to banned users
2022-11-12 11:58:20 +01:00
Andreas Nedbal
38332194c7
Show message in questionbox that user locked their inbox
2022-11-06 15:01:20 +01:00
Andreas Nedbal
fa12b19b8a
Prevent questions being sent to users that lock their inbox
2022-11-06 15:01:01 +01:00
Andreas Nedbal
f6c28eefbd
Add inbox locking setting to privacy settings
2022-11-06 15:00:28 +01:00
Andreas Nedbal
049f92e138
Add inbox locking setting to user
2022-11-06 14:59:56 +01:00
Andreas Nedbal
bef1c23a66
reset questionbox character counts after successful submit
2022-10-31 21:23:22 +01:00
Andreas Nedbal
15d05f1699
Merge branch 'main' into feature/stimulus-character-count
2022-10-31 20:56:38 +01:00
Karina Kwiatek
d3b59ae169
Merge pull request #767 from Retrospring/fix/missing-unsubscribe-text-on-comment
...
Fix missing unsubscribe string in answer actions when posting a comment
2022-10-26 11:37:38 +02:00
Karina Kwiatek
0090d1ca4a
Merge pull request #766 from Retrospring/fix/comment-error-on-answer-pages
...
Prevent error when commenting via an answer page
2022-10-26 11:37:29 +02:00
Karina Kwiatek
29608c54c9
Fix missing unsubscribe string in answer actions when posting a comment
2022-10-26 11:32:39 +02:00
Karina Kwiatek
f9f49198fa
Prevent error when commenting via an answer page
2022-10-26 11:29:58 +02:00
Karina Kwiatek
9e52d5b623
Use Lexend 300 as 400
2022-10-26 10:57:55 +02:00
Karina Kwiatek
16ac195ab9
Center-align load more buttons on single column pages
2022-10-25 22:12:51 +02:00
Georg Gadinger
caf73558d6
views: rename .haml to .html.haml
2022-10-25 20:10:31 +02:00
Georg Gadinger
cffb962194
fix parent_layout for HAML 6
2022-10-25 19:35:53 +02:00
Karina Kwiatek
bc1fc50780
Prevent comments from submitting after input as composition ends
2022-10-25 18:57:36 +02:00
Georg Gadinger
430abe8743
make the shared links visible everywhere again
2022-10-25 18:57:11 +02:00