Commit graph

659 commits

Author SHA1 Message Date
Georg Gadinger
606629577a make URI.parse part of the validation for the sharing URL
the regexp alone and web browsers allows URLs to contain non-ASCII
characters, which `URI.parse` does not like -- resulting in the inbox
page to suddenly break.

also changed the `redirect_to` in the controller to a `render :edit` so
that validation errors are shown properly
2023-02-10 20:48:15 +01:00
Georg Gadinger
9a77b89cda use remote_ip 2: electric boogaloo 2023-02-07 07:38:59 +01:00
Andreas Nedbal
8f0ae5171d Appease the dog overlords 2023-02-05 21:54:51 +01:00
Andreas Nedbal
7589d66686 Remove service reference in question generation 2023-02-05 21:54:51 +01:00
Andreas Nedbal
a56db2256b Return sharing options when answering a question 2023-02-05 21:54:51 +01:00
Andreas Nedbal
926be13fa6 Add Settings::SharingController 2023-02-05 21:54:51 +01:00
Andreas Nedbal
52ae7fbb81 Remove service-related views 2023-02-05 21:54:51 +01:00
Andreas Nedbal
c327eee38e Remove services controller 2023-02-05 21:54:51 +01:00
Georg Gadinger
f1a545aea5 use remote_ip 2023-02-04 22:31:53 +01:00
Karina Kwiatek
c40a1a4997
Merge pull request #1040 from Retrospring/fix/n+1-notification-type-counters
Prevent 𝑛+1 for notification type counters
2023-02-02 12:09:06 +01:00
Karina Kwiatek
05a90987cd
Merge pull request #1037 from Retrospring/fix/pre-load-mutes
Pre-load own mute relationships in follow lists
2023-02-02 12:07:58 +01:00
Karina Kwiatek
80e312eb3b Appease the dog overlords 2023-02-02 10:38:41 +01:00
Karina Kwiatek
81a6c6ac55 Prevent 𝑛+1 for notification type counters 2023-02-02 00:55:31 +01:00
Andreas Nedbal
7d91c0349a Eagerly load services in action to prevent n+1 query 2023-02-02 00:44:42 +01:00
Karina Kwiatek
825454bbae Fix incorrect type local in followers endpoint 2023-02-01 23:34:33 +01:00
Karina Kwiatek
603e9c501e Pre-load own mute relationships in follow lists 2023-02-01 23:21:09 +01:00
Karina Kwiatek
d08198668b Pass user services for question generate turbo frame 2023-01-31 23:10:51 +01:00
Karina Kwiatek
279ed82d6a
Merge pull request #1029 from Retrospring/fix/relationship-list-n+1
Prevent 𝑛+1 on follower/following lists
2023-01-31 22:15:32 +01:00
Karina Kwiatek
8520dbc4b9 De-duplicate relationship pagination logic 2023-01-31 13:59:05 +01:00
Karina Kwiatek
83eeabb525 Use locals for own relationships 2023-01-31 13:46:09 +01:00
Karina Kwiatek
2517b1330a
Merge pull request #1017 from Retrospring/feature/raised-texts
Add new raised text and raised accent text theme fields
2023-01-31 12:57:15 +01:00
Karina Kwiatek
1b6eafd2d1 Prevent 𝑛+1 on follower/following lists 2023-01-31 12:25:55 +01:00
Karina Kwiatek
4dc5a65f74
Merge pull request #1014 from Retrospring/fix/inbox-services-query
Move fetching of services to controller to avoid n+1 queries
2023-01-29 23:07:46 +01:00
Andreas Nedbal
61a31f97b0 Move theme attributes into their own method 2023-01-29 21:12:33 +01:00
Andreas Nedbal
ab6e8270df Allow new fields in ThemeController 2023-01-29 20:44:09 +01:00
Karina Kwiatek
87894d1e95 Move empty filter check back into show action 2023-01-28 22:42:14 +01:00
Karina Kwiatek
367e2f4b92 Use a local instead of an ivar for passing services into views 2023-01-28 22:24:05 +01:00
Karina Kwiatek
3e2b65d7b8 Move fetching of services to controller to avoid n+1 queries 2023-01-28 21:42:55 +01:00
Karina Kwiatek
e9c397a013 Replace @title and @type ivars 2023-01-28 19:08:28 +01:00
Karina Kwiatek
6e3bc40c57 Move marking follow notifications as read to an after action 2023-01-28 18:48:14 +01:00
Karina Kwiatek
1c74061c1b
Merge pull request #1004 from Retrospring/cache-headers-on-manifest
Cache headers for web app manifest based on user theme
2023-01-28 11:13:08 +01:00
Karina Kwiatek
999f599029
Merge pull request #1005 from Retrospring/skip-announcements-in-ajax 2023-01-27 23:53:20 +01:00
Karina Kwiatek
a34a30349e Use skip_before_action instead of redefining action in AjaxController 2023-01-27 23:16:41 +01:00
Karina Kwiatek
b8b86b069d Cache headers for web app manifest based on user theme 2023-01-27 23:09:09 +01:00
Georg Gadinger
3e3501d201 inbox: update inbox entries in controller 2023-01-27 20:36:22 +01:00
Georg Gadinger
8cd0d481c8 bruh 2023-01-24 15:57:34 +01:00
Georg Gadinger
58705fffba mark notifications as "read" in the controller and when you see them
this makes it behave a bit more like the inbox
2023-01-24 15:54:41 +01:00
Karina Kwiatek
529bf40dbe
Merge pull request #979 from Retrospring/fix/pwa-issues
Fix various PWA issues
2023-01-22 12:47:12 +01:00
Karina Kwiatek
95984cfdab Correct app description in web app manifest 2023-01-21 18:26:08 +01:00
Karina Kwiatek
d2076c35b5 Remove ?source=pwa
We can use `@media (display-mode: standalone)` to detect this instead
2023-01-21 18:23:40 +01:00
Karina Kwiatek
3f41d339de Add icons at 144x144
For some reason Chromium requires an icon at this size, however the error in Lighthouse states that the size must be *at least* 144x144 but in fact must be exactly this size.
2023-01-21 18:18:14 +01:00
Karina Kwiatek
b9269f0693 Add maskable icons 2023-01-21 18:16:24 +01:00
Karina Kwiatek
73082975c4 Fix web app icon sizes property name 2023-01-21 18:15:18 +01:00
Karina Kwiatek
27318f302c Rename current icons to icon_ 2023-01-21 12:30:52 +01:00
Georg Gadinger
c4724b8c62 inbox: refactor a bit further so the cyber dog shuts up 2023-01-19 16:21:21 +01:00
Georg Gadinger
e5d8506a13 inbox: redirect away if there's no questions filtered by author 2023-01-19 11:57:56 +01:00
Georg Gadinger
30dec68e1b inbox: refactor show method, fix #959 2023-01-19 11:57:56 +01:00
Karina Kwiatek
ba7b19faee Add allow long questions option to profile settings 2023-01-08 13:14:21 +01:00
Georg Gadinger
5b8e34aa1d add integration specs for changing locales 2023-01-06 13:37:22 +01:00
Georg Gadinger
ebcf9d7676 obey the dog 2023-01-06 10:04:31 +01:00
Georg Gadinger
8323f39ecd re-add locale switching logic
based on https://guides.rubyonrails.org/i18n.html\#managing-the-locale-across-requests
2023-01-05 15:20:33 +01:00
Karina Kwiatek
39ec2836f6
Merge pull request #918 from Retrospring/feature/nodeinfo
Implement NodeInfo
2023-01-04 17:55:05 +00:00
Karina Kwiatek
b35108e9d0 Implement NodeInfo
Closes #902
2023-01-04 17:08:05 +01:00
Karina Kwiatek
ea4e9e2205 Don't require an endpoint for unsubscribe
This was added by mistake earlier. Unsubscribing without an `endpoint` parameter is supposed to remove all subscriptions.
2023-01-04 16:38:48 +01:00
Karina Kwiatek
3105cb74b4 Make endpoint and subscription parameters required on web push endpoints 2023-01-04 16:34:38 +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
48c7beb54e Only allow checking of own subscriptions 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
1cfd3250c0 Track failures on Web Push subscriptions 2023-01-02 11:51:46 +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
3eafa5e335 Add tests for subscription management 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
bae227be76 Add endpoints for getting webpush public key and subscribing 2023-01-02 11:50:47 +01:00
Karina Kwiatek
d320a74045 Mark notification as read when visiting service settings 2023-01-02 00:01:42 +01:00
Andreas Nedbal
0e172bb179 Add UI to manage muted users 2023-01-01 22:42:50 +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
Georg Gadinger
3524809e21 fix display conditions of profile questions 2022-12-27 22:07:21 +00: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
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
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
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
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
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
efef85b7c6 Split mute rule form into seperate partial and replace on create 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
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
54e157ec76 AnnouncementController -> Admin::AnnouncementController 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
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
9249ef976b Add social graph field to privacy settings view 2022-11-18 23:19:24 +01:00
Andreas Nedbal
f8e43a9bb0 Add noindex setting to privacy settings view 2022-11-16 22:32:40 +01:00
Andreas Nedbal
420a25872e Allow input placeholder in theme settings 2022-11-14 23:12:39 +01:00
Andreas Nedbal
3cefc829f8
Merge branch 'main' into feature/privacy-require-user 2022-11-13 17:27:53 +01:00
Andreas Nedbal
18b3ac641b Add user requirement setting to privacy settings 2022-11-13 14:26:03 +01:00
Andreas Nedbal
f6c28eefbd Add inbox locking setting to privacy settings 2022-11-06 15:00:28 +01:00
Andreas Nedbal
14199059b4 Filter out selected list from lists dropdown 2022-10-24 23:19:39 +02:00
Andreas Nedbal
62b53d8740 Fix notifications pagination not working 2022-09-08 23:35:41 +02:00
Andreas Nedbal
6ae03dbd7f Refactor questions to use a Turbo Stream-backed pagination 2022-09-08 23:35:41 +02:00
Andreas Nedbal
b595910564 Refactor timelines to use a Turbo Stream-backed pagination 2022-09-08 23:18:21 +02:00
Andreas Nedbal
c60acebf21 Refactor user relationships to use a Turbo Stream-backed pagination 2022-09-08 22:11:26 +02:00
Andreas Nedbal
688a68e769 Refactor user questions to use a Turbo Stream-backed pagination 2022-09-08 22:11:26 +02:00
Andreas Nedbal
753424f2d2 Refactor user answers to use a Turbo Stream-backed pagination 2022-09-08 22:11:26 +02:00
Andreas Nedbal
3074ce3bbe Set up proper response codes for Turbo Stream responses 2022-09-08 01:00:06 +02:00
Andreas Nedbal
1375293f31 Refactor moderation to use a Turbo Stream-backed pagination 2022-09-08 01:00:06 +02:00
Andreas Nedbal
c118dab903 Refactor notifications to use a Turbo Stream-backed pagination 2022-09-08 00:04:27 +02:00
Andreas Nedbal
8c14fb5423 Refactor mod inbox to use a Turbo Stream-backed pagination 2022-09-07 22:31:28 +02:00
Andreas Nedbal
136f7f117d Refactor inbox to use a Turbo Stream-backed pagination 2022-09-04 20:24:32 +02:00
Andreas Nedbal
a7e17a07cc Fix deleting 2FA and regenerating codes not working 2022-09-04 18:34:23 +02:00
Andreas Nedbal
dc91d91c2e Directly call matching route instead of redirecting for themes 2022-09-04 18:34:23 +02:00
Andreas Nedbal
6a083230dd Fixed wrong call of translation method in ban action 2022-09-03 16:42:17 +02:00
Andreas Nedbal
8ad0cf24b8 Fix bug preventing deletion of freshly created mute rules 2022-09-02 19:59:43 +02:00
Andreas Nedbal
b46fae5ebd Rename index action to show action 2022-08-21 13:17:45 +02:00
Andreas Nedbal
778cf90f85 Add Moderation::QuestionsController 2022-08-21 13:17:45 +02:00
Andreas Nedbal
3bb91932b5 Appease the robot dog 2022-08-21 01:13:10 +02:00
Andreas Nedbal
3f7a94d56c Move actions from ModerationController to Moderation::ReportsController 2022-08-21 01:13:10 +02:00
Karina Kwiatek
4814ccdaa5 Use null-safe navigation for destroying inbox entries when blocking 2022-08-20 19:18:28 +02:00
Karina Kwiatek
2d01d9b365 Apply review suggestions
Co-authored-by: Andreas Nedbal <git@pixelde.su>
Co-authored-by: Georg Gadinger <nilsding@nilsding.org>
2022-08-20 19:05:55 +02:00
Karina Kwiatek
92a5095c00 Appease the robot canine 2022-08-20 19:05:55 +02:00
Karina Kwiatek
136eac8bdd Add page for managing site-wide anonymous-blocks 2022-08-20 19:05:55 +02:00
Georg Gadinger
b41983a2bf
Disgustingly merge pull request #598 from Retrospring/feature/norway
Add new translations in various places
2022-08-20 17:22:37 +02:00
Andreas Nedbal
6693864fbc Move belongs_to_current_user? to UserController 2022-08-20 17:21:47 +02:00
Andreas Nedbal
87c2ed3ab7 List direct questions for current users or mods 2022-08-20 17:21:47 +02:00
Andreas Nedbal
14221aea71 Fix legacy locale references 2022-08-02 19:13:23 +02:00
Karina Kwiatek
9634aeda62 Fix missing translation in webapp manifest 2022-07-31 23:19:42 +02:00
Karina Kwiatek
abaa33a664
Merge pull request #591 from Retrospring/translation-cleanup
Translation cleanup
2022-07-30 20:37:04 +02:00
Karina Kwiatek
a03fe85b33 Re-word strings used in ServicesController 2022-07-30 19:01:49 +02:00
Andreas Nedbal
628959d754 Appease the reviewdog overlords 2022-07-30 18:29:32 +02:00
Andreas Nedbal
54e072c98c Use notification types instead of target types to clear them 2022-07-30 18:14:48 +02:00
Andreas Nedbal
4c67a9b492 Use full locale path for ban flash message 2022-07-30 16:51:07 +02:00
Andreas Nedbal
27eaef45ef Appease the reviewdog overlords 2022-07-30 16:51:07 +02:00
Andreas Nedbal
39639c2d85 Add new translations for ban flash message 2022-07-30 16:51:07 +02:00
Andreas Nedbal
83dbd5d2e3 Don't list direct questions on user profiles 2022-07-24 21:56:03 +02:00
Karina Kwiatek
6089c57a20 Appease the dog overlords 2022-07-22 16:52:42 +02:00
Karina Kwiatek
0992d44aef Filter notifications by target type 2022-07-22 16:52:42 +02:00
Karina Kwiatek
d794a69729 Add translation for Public Timeline title 2022-07-21 16:08:51 +02:00
Karina Kwiatek
6e61e0cabe Deduplicate shared logic in TimelineController 2022-07-21 16:08:51 +02:00
Andreas Nedbal
fafefc3dc0 Remove priority action from ModerationController 2022-07-19 22:53:50 +02:00
Andreas Nedbal
94bd339671 Remove ip action from ModerationController 2022-07-19 22:53:50 +02:00
Andreas Nedbal
b7bdf2de02 Remove comment functionality from Ajax::ModerationController 2022-07-19 11:17:45 +02:00
Karina Kwiatek
8d8c07371f Remove FAQ action
This was removed a while ago
2022-07-18 23:24:05 +02:00