Commit Graph

598 Commits

Author SHA1 Message Date
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
Karina Kwiatek 977ebdfe4d Appease the dog overlords 2022-07-18 23:24:05 +02:00
Karina Kwiatek 6344b55b44 Move public & list timelines into `TimelineController` 2022-07-18 23:24:05 +02:00
Karina Kwiatek 98d7bec924 Move link filter into its own controller 2022-07-18 23:24:05 +02:00
Karina Kwiatek 7abdac2d8a Move About, ToS & Privacy Policy into `AboutController` 2022-07-18 23:24:05 +02:00
Karina Kwiatek f3b58c1d33 Split front page into separate actions 2022-07-18 23:24:05 +02:00
Andreas Nedbal 43af4acb2c Remove vote functionality from `Ajax::ModerationController` 2022-07-18 23:10:07 +02:00
Karina Kwiatek 7fdb2168a6 Move web app manifest into its own controller 2022-07-18 23:09:53 +02:00
Karina Kwiatek 159ce5c2ae Remove trailing comma 2022-07-18 23:09:53 +02:00
Karina Kwiatek c384dde809 Split up web app manifest action 2022-07-18 23:09:53 +02:00
Karina Kwiatek b3092d2070 Add PWA metadata endpoint and icons 2022-07-18 23:09:53 +02:00
Karina Kwiatek 0e9be78588 Create use case for deleting questions 2022-07-17 10:05:20 +02:00
Karina Kwiatek 72906ca549 Fix lint errors 2022-07-17 10:05:20 +02:00
Karina Kwiatek 1216c249e8 Return different responses for use case errors 2022-07-17 10:05:20 +02:00
Karina Kwiatek 22a66f4d1a Fix lint errors 2022-07-17 10:05:20 +02:00
Karina Kwiatek d9ff4d5765 Refactor Ajax::QuestionController#create into separate UseCases
Co-authored-by: Georg Gadinger <nilsding@nilsding.org>
2022-07-17 10:05:20 +02:00
Andreas Nedbal ca2cf727e1 Require `user` param for `ListController#create` 2022-07-17 09:40:34 +02:00
Andreas Nedbal 47120e8d24 Appease the dog overlords 2022-07-17 09:40:34 +02:00
Andreas Nedbal a5b6ef07d3 Refactor `Ajax::ListController`
* remove inline authentication checks and use before_action instead
* remove begin/rescue catches as those are handled by the base controller and validations now
2022-07-17 09:40:34 +02:00
Karina Kwiatek d9f82c4985 Disallow deletion of accounts when a data export is pending 2022-07-16 21:29:20 +02:00
Andreas Nedbal 9fc3e535d2 Apply review suggestion from @raccube
Co-authored-by: Karina Kwiatek <6197148+raccube@users.noreply.github.com>
2022-07-06 21:54:34 +02:00
Andreas Nedbal 73ac742332 Add translations for ajax controller error handling 2022-07-06 21:54:34 +02:00
Andreas Nedbal 6d4478b7c4 Remove subscription ajax controller locales 2022-07-06 21:54:34 +02:00
Andreas Nedbal e670a50adf Add translations for report ajax controller 2022-07-06 21:54:34 +02:00
Andreas Nedbal 9460bcfdd7 Add translations for answer ajax controller 2022-07-06 21:54:34 +02:00
Andreas Nedbal 80172d0852 Add translations for question ajax controller 2022-07-06 21:54:34 +02:00
Andreas Nedbal 2237ff8f04 Add translations for moderation ajax controller 2022-07-06 21:54:34 +02:00
Andreas Nedbal e6e7780142 Add translations for list ajax controller 2022-07-06 21:54:34 +02:00
Andreas Nedbal 1c31ff41db Add translations for inbox ajax controller 2022-07-06 21:54:34 +02:00
Andreas Nedbal 15946740eb Add translations for comment ajax controller 2022-07-06 21:54:34 +02:00
Andreas Nedbal 7381a685ac Add translations for smile ajax controller 2022-07-06 21:54:34 +02:00
Andreas Nedbal 34de119bb1 Add translations for block/relationship ajax controllers 2022-07-06 21:54:34 +02:00
Karina Kwiatek e7112f0244 Use `dependent: :destroy_async` instead of `DeletionWorker` 2022-07-06 20:58:53 +02:00
Karina Kwiatek 1ec99dd767 Appease the dog overlords 2022-07-06 19:56:04 +02:00
Karina Kwiatek 9bcf1a80ad Merge `author_name` with `author_identifier` 2022-07-06 19:56:04 +02:00
Karina Kwiatek 19dcb96dcd Update remaining usages of `Smile`/`CommentSmile` 2022-07-05 23:23:37 +02:00
Karina Kwiatek 08e5764bf3 Appease the dog overlords 2022-07-05 23:23:37 +02:00
Karina Kwiatek f20e407cc3 Fix notifications page crashing on reactions 2022-07-05 23:23:37 +02:00
Karina Kwiatek 0cfe5ee964 Replace usages of smiles with reaction appendables 2022-07-05 23:23:37 +02:00
Andreas Nedbal 565f7e4536 Move data action into `Settings::DataController` 2022-07-05 20:40:19 +02:00
Andreas Nedbal 72d37032e6 Move block action into `Settings::BlocksController` 2022-07-05 20:40:19 +02:00
Andreas Nedbal a4bc137aca Move mute action into `Settings::MutesController` 2022-07-05 20:40:19 +02:00
Andreas Nedbal fcd1da40a1 Move 2FA settings actions into `OtpAuthenticationController` 2022-07-03 18:32:36 +02:00
Andreas Nedbal 58d91c9c46 Improve export processing condition on index view 2022-07-02 16:36:14 +02:00
Andreas Nedbal 2ee3aab14d Move export actions into `Settings::ExportController` 2022-07-02 16:36:14 +02:00
Andreas Nedbal 8cf6be8067 Move privacy actions from user controller to `Settings::PrivacyController` 2022-06-28 23:20:11 +02:00
Andreas Nedbal a1ee29d826 Require being logged in to view `/settings/blocks` 2022-06-26 23:54:55 +02:00
Andreas Nedbal 52de0cddb0 Remove old authentication checks in `UserController` 2022-06-26 22:45:52 +02:00
Andreas Nedbal 8141db2ca7 Move profile picture actions to `Settings::ProfilePictureController` 2022-06-26 22:45:52 +02:00
Andreas Nedbal efa0048c87 WIP: Move profile actions to `Settings::ProfileController` 2022-06-26 22:45:52 +02:00
Karina Kwiatek 1b09d51443 Add toggle for moderation view 2022-06-26 21:07:28 +02:00
Karina Kwiatek a533f68c65 Adjust exporter and user count to match new ban system 2022-06-26 18:32:18 +02:00
Karina Kwiatek 0c6d79ce0b Add `permanent?` method to `UserBan` 2022-06-26 18:32:18 +02:00
Andreas Nedbal bafe92968d Adjust usages of route definitions 2022-06-26 17:52:44 +02:00
Andreas Nedbal 54c89d7247 More lint fixes 2022-06-26 17:52:44 +02:00
Andreas Nedbal 417eee2ddc Appease the dog overlords 2022-06-26 17:52:44 +02:00
Andreas Nedbal 298c7d625e Move theme actions from `UserController` to `Settings::ThemeController` 2022-06-26 17:52:44 +02:00
Andreas Nedbal 936b49eef0 WIP: Add UI to manage (anonymous) blocks 2022-06-25 15:39:30 +02:00
Karina Kwiatek be8ba63b95 Add a way for moderators to view user inboxes 2022-06-23 22:17:14 +02:00
Karina Kwiatek 768d360ce7 Add profile setting for anon display name 2022-06-23 21:29:27 +02:00
Karina Kwiatek e404b61ec1 Sort relationship lists by relationship IDs rather than user IDs 2022-06-18 17:50:41 +02:00
Karina Kwiatek cca8795b01 Allow anonymous questions to be returned when the user has disabled anonymous questions
Fixes #267
2022-06-15 17:49:04 +02:00