Commit graph

2258 commits

Author SHA1 Message Date
Karina Kwiatek
5f60d86efe Make forbidden screen names configurable 2022-07-23 09:11:32 +02:00
Karina Kwiatek
81b73d5196 Replace options hash with keyword arguments 2022-07-22 16:52:42 +02:00
Karina Kwiatek
b534dc0bb8 Fix CommentSmile notification type not being returned 2022-07-22 16:52:42 +02:00
Karina Kwiatek
6089c57a20 Appease the dog overlords 2022-07-22 16:52:42 +02:00
Karina Kwiatek
691f72d0ce Set notification type for reactions based on what the reaction is attached to 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
f475cd0a0b Make notifications relation polymorphic 2022-07-22 16:52:42 +02:00
Karina Kwiatek
cb061b1da5 Remove @title assign inside view 2022-07-21 16:08:51 +02:00
Karina Kwiatek
a39960d269 Add tests for TimelineController 2022-07-21 16:08:51 +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
Karina Kwiatek
fa712a547f Update pagination to match template changes 2022-07-20 23:21:21 +02:00
Karina Kwiatek
0e2e2f35e1 Remove list styling from notification list 2022-07-20 23:21:21 +02:00
Karina Kwiatek
84abd1226d Use only card classes 2022-07-20 23:21:21 +02:00
Karina Kwiatek
7c96627106 Add card to empty notifications list 2022-07-20 23:21:21 +02:00
Karina Kwiatek
83e0f7a711 Place notifications in individual cards 2022-07-20 23:21:21 +02:00
Karina Kwiatek
9a79670e53 Appease the dog overlords 2022-07-20 21:46:41 +02:00
Karina Kwiatek
5a33c77c3a Prevent notification content from overflowing outside the container 2022-07-20 21:46:41 +02:00
Karina Kwiatek
e8f20d1fd8 Restore missing modifiers to notifications badge 2022-07-20 21:46:41 +02:00
Karina Kwiatek
c4b241f9e1 Prevent notifications dropdown from going off-screen 2022-07-20 21:46:41 +02:00
Andreas Nedbal
7623213f96 Remove priority action views and links 2022-07-19 22:53:50 +02:00
Andreas Nedbal
fafefc3dc0 Remove priority action from ModerationController 2022-07-19 22:53:50 +02:00
Andreas Nedbal
67b6847311 Remove links to ip action from views 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
cbd9106a87 Remove ModerationComment model, relations and methods 2022-07-19 11:17:45 +02:00
Andreas Nedbal
5c3d003c2b Remove moderation comment functionality from TypeScript 2022-07-19 11:17:45 +02:00
Andreas Nedbal
b7bdf2de02 Remove comment functionality from Ajax::ModerationController 2022-07-19 11:17:45 +02:00
Andreas Nedbal
4df4e41a47 Remove moderation comments from report view 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
e283648ce0 Remove ModerationVote model, relations and methods 2022-07-18 23:10:07 +02:00
Andreas Nedbal
3cabd39b89 Remove vote functionality from TypeScript 2022-07-18 23:10:07 +02:00
Andreas Nedbal
43af4acb2c Remove vote functionality from Ajax::ModerationController 2022-07-18 23:10:07 +02:00
Andreas Nedbal
4ab391a09e Remove moderation vote from report view 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
5bd186bbe2 Deduplicate navigation dropdowns; Restore notification dropdown to mobile 2022-07-18 23:09:53 +02:00
Karina Kwiatek
159ce5c2ae Remove trailing comma 2022-07-18 23:09:53 +02:00
Karina Kwiatek
52d4efbd03 Use maskable icons for Apple web app icon 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
4f88b82361 Use null-safe navigation for denotify 2022-07-17 21:21:37 +02:00
Andreas Nedbal
851c74f228 Fix logged-out users sending wrong data to question endpoint 2022-07-17 10:05:20 +02:00
Karina Kwiatek
5d542161a0 Add tests for question create use case 2022-07-17 10:05:20 +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
2722f4fffb Fix comment notifications displaying escaped HTML 2022-07-17 09:40:47 +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
Andreas Nedbal
a3f80380dd Adjust validations for List 2022-07-17 09:40:34 +02:00
Karina Kwiatek
e1e45b04a3 Use double quotes instead of single quotes 2022-07-16 21:29:20 +02:00
Karina Kwiatek
c59a70844b Display if a context question has been deleted when viewing anon blocks 2022-07-16 21:29:20 +02:00
Karina Kwiatek
8005fc8ae6 Skip denotify if recipient doesn't exist 2022-07-16 21:29:20 +02:00
Karina Kwiatek
d9f82c4985 Disallow deletion of accounts when a data export is pending 2022-07-16 21:29:20 +02:00
Karina Kwiatek
5e633ab56e Fix invalid paths for original size images 2022-07-16 15:58:30 +02:00
Karina Kwiatek
bd5ec792b7 Prevent text in links from being double-escaped 2022-07-16 15:57:32 +02:00
Georg Gadinger
572132f9e9 make captcha readable 2022-07-09 12:41:16 +02:00
Karina Kwiatek
39d55e52c8 Use target.class.name instead of target.type
This only worked for polymorphic relations
2022-07-09 01:15:31 +02:00
Karina Kwiatek
28240bba27 Properly match notification type 2022-07-09 01:15:31 +02:00
Andreas Nedbal
b3f15fe409 Remove unnecessary duplicate locales 2022-07-07 16:51:05 +02:00
Andreas Nedbal
a8362702e3 Localize notification page title 2022-07-07 16:51:05 +02:00
Andreas Nedbal
b551b7acdb Add translations for notification navigation 2022-07-07 16:51:05 +02:00
Andreas Nedbal
af327b3f08 Add translations for notification types 2022-07-07 16:51:05 +02:00
Andreas Nedbal
52218bf1d0 Add translations for navigation index page 2022-07-07 16:51:05 +02:00
Andreas Nedbal
334c30e773 Remove notification navigation bar 2022-07-07 16:51:05 +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
8a6a9c21ec Appease the dog overlords
These counters are legacy and will later be removed.
2022-07-06 20:58:53 +02:00
Karina Kwiatek
539505eccd Ensure counters only get updated if the record exists 2022-07-06 20:58:53 +02:00
Karina Kwiatek
e2462b1e51 Correct lint errors
(only on lines affected in this PR)
2022-07-06 20:58:53 +02:00
Karina Kwiatek
e7112f0244 Use dependent: :destroy_async instead of DeletionWorker 2022-07-06 20:58:53 +02:00
Karina Kwiatek
0db369a9ae Remove comment_smiles relationship from users 2022-07-06 20:48:50 +02:00
Karina Kwiatek
c0dbc7d501 Always denotify when deleting reactions 2022-07-06 20:43:01 +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
561946cab9 Fix issues from bad rebase 2022-07-05 23:23:37 +02:00
Karina Kwiatek
22ec4db349 Remove Smile & CommentSmile 2022-07-05 23:23:37 +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
5ba3fed56c Replace usage of answer in before_destroy of Reaction with parent 2022-07-05 23:23:37 +02:00
Karina Kwiatek
f9ec11a616 Use .class.name for target_type in Notification#make_notification 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
Karina Kwiatek
5f0a546353 Refactor smiling answers to using reactions 2022-07-05 23:23:37 +02:00
Karina Kwiatek
1e53f00032 Add migration for converting smiles to reaction appendable 2022-07-05 23:23:37 +02:00
Karina Kwiatek
544e9c8fa6 Create Appendable model 2022-07-05 23:23:37 +02:00
Karina Kwiatek
be8418a1aa Use TypeScript for RailsAdmin entrypoint 2022-07-05 21:22:58 +02:00
Karina Kwiatek
a2f7ea2895 Configure RailsAdmin to use webpacker 2022-07-05 21:22:58 +02:00
Andreas Nedbal
086797829e Use non-redirect route definitions for navigation states 2022-07-05 20:40:19 +02:00
Andreas Nedbal
2f6de3b36d Remove superfluous edit_security view 2022-07-05 20:40:19 +02:00
Andreas Nedbal
c73f961006 Move data action views to new locations 2022-07-05 20:40:19 +02:00
Andreas Nedbal
565f7e4536 Move data action into Settings::DataController 2022-07-05 20:40:19 +02:00
Andreas Nedbal
9c4a934959 Move block action views to new locations 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
6dc0587423 Move mute action views to new locations 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
Karina Kwiatek
517f2df1cc Add Lato semibold
This one gets used by Bootstrap for headings.
2022-07-03 18:55:02 +02:00
Karina Kwiatek
845e8fb3a3 Prevent navigation from appearing in print 2022-07-03 18:54:44 +02:00
Andreas Nedbal
5d9e91f90c Update app/views/tabs/_settings.haml
Co-authored-by: Georg Gadinger <nilsding@nilsding.org>
2022-07-03 18:32:36 +02:00
Andreas Nedbal
0f63e39194 Move TOTP views to new location 2022-07-03 18:32:36 +02:00
Andreas Nedbal
fcd1da40a1 Move 2FA settings actions into OtpAuthenticationController 2022-07-03 18:32:36 +02:00
Karina Kwiatek
022bdeb159 Add missing slash to paperclip_path 2022-07-03 15:07:18 +02:00
Karina Kwiatek
b899c1aeb3 Order past bans newest-first 2022-07-02 17:08:44 +02:00
Karina Kwiatek
645469daa5 Correctly display time ago in ban history 2022-07-02 17:08:44 +02:00
Karina Kwiatek
32865b528d Highlight current ban 2022-07-02 17:08:44 +02:00
Karina Kwiatek
c838263a2e Allow for ban history to be seen while banned 2022-07-02 17:08:44 +02:00
Karina Kwiatek
990c67baea Move unban into own view 2022-07-02 17:08:44 +02:00
Karina Kwiatek
a0877b102a Create tabs for ban modal 2022-07-02 17:08:44 +02:00
Karina Kwiatek
1f3681ef50 Remove unnecessary value from reason field 2022-07-02 17:08:44 +02:00
Karina Kwiatek
5239f69081 Display duration controls on one line 2022-07-02 17:08:44 +02:00
Karina Kwiatek
bb23f6b3f0 Add translations for ban modal 2022-07-02 17:08:44 +02:00
Andreas Nedbal
58d91c9c46 Improve export processing condition on index view 2022-07-02 16:36:14 +02:00
Andreas Nedbal
f53aaf6091 Move and combine export settings template 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
Karina Kwiatek
2a017c8b11 Fix upload path when not using fog with cloud storage 2022-07-02 13:00:46 +02:00
Karina Kwiatek
c899e7983c Only import the weights of Lato which we use 2022-07-02 13:00:13 +02:00
Andreas Nedbal
97f28d8309 Move and combine privacy settings template 2022-06-28 23:20:11 +02:00
Andreas Nedbal
8cf6be8067 Move privacy actions from user controller to Settings::PrivacyController 2022-06-28 23:20:11 +02:00
Karina Kwiatek
97d8068a09 Set input types and autocomplete in profile settings 2022-06-28 23:13:30 +02:00
Karina Kwiatek
297bacf339 Remove old profile settings view 2022-06-28 23:13:30 +02:00
Karina Kwiatek
805e3504c7 Set autocomplete attributes on username & password fields 2022-06-28 23:13:30 +02:00
Karina Kwiatek
9dedf447a6 Use numeric input mode in TOTP entry 2022-06-28 23:13:30 +02:00
Karina Kwiatek
38d6a47372 Appease the dog overlords 2022-06-27 00:41:26 +02:00
Karina Kwiatek
597f8b74cb Fix everyone showing up as anonymous outside of moderation view 2022-06-27 00:41:26 +02:00
Andreas Nedbal
a1ee29d826 Require being logged in to view /settings/blocks 2022-06-26 23:54:55 +02:00
Karina Kwiatek
93c62a3008 Fix moderation_view? breaking when not logged in 2022-06-26 23:41:29 +02:00
Andreas Nedbal
4d31addd0c Use proper route definitions in templates 2022-06-26 22:45:52 +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
e64f206f5b Replace anonymous_identifier with author_identifier 2022-06-26 21:07:28 +02:00
Karina Kwiatek
ddd7cfd81d Pass author_identifier in question/question partial 2022-06-26 21:07:28 +02:00
Karina Kwiatek
8fb4256432 Use content_tag for generating markup in unmask method 2022-06-26 21:07:28 +02:00
Karina Kwiatek
e5b8ea017c Show anon identifier in tooltip when unmasking 2022-06-26 21:07:28 +02:00
Karina Kwiatek
93f8bf35d2 Unmask author when in moderation mode 2022-06-26 21:07:28 +02:00
Karina Kwiatek
1b09d51443 Add toggle for moderation view 2022-06-26 21:07:28 +02:00
Karina Kwiatek
a857887398 Appease the dog overlords 2022-06-26 18:32:18 +02:00
Karina Kwiatek
53361eefdd Move ban-related user methods to own module 2022-06-26 18:32:18 +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
59c4507ec3 Remove unused use case requires from User model 2022-06-26 18:32:18 +02:00
Karina Kwiatek
73274988c1 Add permanently_banned? method to user model 2022-06-26 18:32:18 +02:00
Karina Kwiatek
34c747ebf7 Appease the dog overlords 2022-06-26 18:32:18 +02:00
Karina Kwiatek
3247d1c746 Move ban invalidation to User#unban method 2022-06-26 18:32:18 +02:00
Karina Kwiatek
0c6d79ce0b Add permanent? method to UserBan 2022-06-26 18:32:18 +02:00
Karina Kwiatek
94aec26588 Move ban creation to User#ban method 2022-06-26 18:32:18 +02:00
Karina Kwiatek
e4a00ceedc Fix ban reason being set to the banned user's username 2022-06-26 18:32:18 +02:00
Andreas Nedbal
f6828a24ad Adjust form queries so selector doesn't pick delete button 2022-06-26 17:52:44 +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
8f8ebaf77b Update theme settings related TypeScript code 2022-06-26 17:52:44 +02:00
Andreas Nedbal
b15aaafccd Move theme templates to new location 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
Karina Kwiatek
449aa1d998 Fix profiles failing to load when the user disallows anonymous questions 2022-06-26 12:00:31 +02:00
Andreas Nedbal
2e9b3e882d Only add button classes to actions that actually are buttons 2022-06-25 15:39:30 +02:00
Andreas Nedbal
3788e492dd Add text if no user is (anonymously) blocked 2022-06-25 15:39:30 +02:00
Andreas Nedbal
bc986c6624 Add translations for block settings page 2022-06-25 15:39:30 +02:00
Andreas Nedbal
936b49eef0 WIP: Add UI to manage (anonymous) blocks 2022-06-25 15:39:30 +02:00
Karina Kwiatek
da71744a0d Disallow all tags in anon names 2022-06-25 10:38:06 +02:00
Karina Kwiatek
3bb48270a2 Sanitize anon names 2022-06-25 10:38:06 +02:00
Karina Kwiatek
10ead35209 Add translations for inbox moderation 2022-06-23 22:17:14 +02:00
Karina Kwiatek
be8ba63b95 Add a way for moderators to view user inboxes 2022-06-23 22:17:14 +02:00
Karina Kwiatek
cd581fd2b1 Move anon icon tooltip text into translatable string 2022-06-23 21:29:27 +02:00
Karina Kwiatek
a2937a60e9 Add icon for anonymous questions 2022-06-23 21:29:27 +02:00
Karina Kwiatek
15052e203e Appease the dog overlords 2022-06-23 21:29:27 +02:00
Karina Kwiatek
d1ad34eb9c Apply anon display name settings to question author display 2022-06-23 21:29:27 +02:00
Karina Kwiatek
768d360ce7 Add profile setting for anon display name 2022-06-23 21:29:27 +02:00
Georg Gadinger
96ccb09908 screen_name_validator: use non-deprecated syntax for adding errors to fields 2022-06-21 21:30:59 +02:00
Georg Gadinger
c375775daa typoed_email_validator: add new endings to the typo list 2022-06-21 20:46:48 +02:00
Karina Kwiatek
483c413796 Remove unused user relationship paginators 2022-06-18 17:50:41 +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
Karina Kwiatek
41e476a2f7 Prevent other user's anon blocks from affecting each other 2022-06-15 14:26:48 +02:00
Karina Kwiatek
abd07373e3 Fix double-hashing in Ajax::AnonymousBlockController#create 2022-06-15 14:26:48 +02:00
Karina Kwiatek
e660b731d7 Appease the dog overlords 2022-06-15 14:26:48 +02:00
Karina Kwiatek
7e98f427c6 Add endpoint for removing anon blocks 2022-06-15 14:26:48 +02:00
Karina Kwiatek
f379845615 Add frontend for blocking anonymous users 2022-06-15 14:26:48 +02:00
Karina Kwiatek
4e80b4f9ab Prevent anon questions from being sent while blocked 2022-06-15 14:26:48 +02:00
Karina Kwiatek
1e6243c6ce Create AnonymousBlock model 2022-06-15 14:26:48 +02:00
Karina Kwiatek
1a68c1b46f Rename author_email field to author_identifier 2022-06-15 14:26:48 +02:00
Karina Kwiatek
37732ff926 Expose AjaxController errors in dev envirnoments 2022-06-13 23:27:54 +02:00
Andreas Nedbal
e4603ff852 Add block identifiers to questionbox 2022-06-13 22:59:41 +02:00
Andreas Nedbal
cf74d6f4c8 Add translations for questionbox 2022-06-13 22:59:41 +02:00