Commit Graph

384 Commits

Author SHA1 Message Date
Georg Gadinger a9cf00f75e metrics: add counter for created/destroyed users 2023-03-29 08:01:35 +02:00
Georg Gadinger 6f59abe9dd Update app/models/user/relationship/mute.rb
Co-authored-by: Karina Kwiatek <6197148+raccube@users.noreply.github.com>
2023-03-26 18:28:19 +02:00
Georg Gadinger 1ffa2e5125 filter out non-anon questions from blocked/muted users in questions view 2023-03-26 18:28:19 +02:00
Georg Gadinger 920187bc88 filter out non-anon questions from blocked/muted users in public timeline 2023-03-26 18:28:19 +02:00
Georg Gadinger f1a1321a25 filter out non-anon questions from blocked/muted users in list timeline 2023-03-26 18:28:19 +02:00
Georg Gadinger 765397d813 filter out non-anon questions from blocked/muted users in home timeline 2023-03-26 18:28:19 +02:00
Karina Kwiatek 3c052e9e0e Fix trivial lint issues 2023-03-07 19:14:20 +01:00
Karina Kwiatek b93453dee4 Remove eager load from notifications
Unsure of how this managed to work before but eager loading polymorphic associations is not possible in this way.
2023-03-07 19:14:14 +01:00
Karina Kwiatek 14379acbd3 Fix incorrect access of `unread_inbox_count` in `notification_data` 2023-03-07 19:14:14 +01:00
Karina Kwiatek 68e0f02a2d Adapt tests to match new counter methods 2023-03-07 19:14:14 +01:00
Karina Kwiatek 369ae1b378 Update PWA badge on push notification 2023-03-07 19:14:14 +01:00
Karina Kwiatek 1ec5ffa6d2 Cache inbox and notification counters 2023-03-07 19:14:14 +01:00
Karina Kwiatek 8cbfd273bc Refactor counters to use `counter_cache` 2023-02-24 23:31:38 +01:00
Georg Gadinger b937a10096 add some more metrics for answers and comments 2023-02-13 22:24:52 +01:00
Karina Kwiatek c2baa86c09 Add `pinned_at` to answers 2023-02-12 20:19:50 +01:00
Georg Gadinger e1aee89be0 remove expired service connection notifications 2023-02-12 19:26:31 +01:00
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
Andreas Nedbal 490a06af27 Allow `sharing_custom_url` to be empty 2023-02-05 21:54:51 +01:00
Andreas Nedbal 47d1f5ccff Validate format of `sharing_custom_url` 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 d520755bc2 Remove service model 2023-02-05 21:54:51 +01:00
Andreas Nedbal a2e45c85bf Add migration to enable sharing for legacy service owners 2023-02-05 21:54:51 +01:00
Karina Kwiatek 40f7f8f525 Eager load notification targets 2023-02-02 11:03:27 +01:00
Karina Kwiatek ab1b034cfb Add type hints for paginators 2023-01-28 21:18:01 +01:00
Karina Kwiatek 32ba17ac72 Eager load profiles in paginators 2023-01-28 21:18:00 +01:00
Andreas Nedbal c122652275 Increase allowed comment length to 512 characters 2023-01-22 10:36:23 +01:00
Andreas Nedbal fc30bf8cac Add more explicit message for format validation errors 2023-01-21 13:20:52 +01:00
Andreas Nedbal 47bccdb0c3 Fix screen_name regex being too lenient 2023-01-21 13:20:52 +01:00
Andreas Nedbal b72e679a62 Split format and length validation for User `screen_name` 2023-01-21 13:20:52 +01:00
Karina Kwiatek 3dbbed3ef2 Shorten question text in notifications to short question length 2023-01-13 17:30:37 +01:00
Andreas Nedbal b66c2b1f36 add `long?` method and constant to Answer model 2023-01-12 21:03:44 +01:00
Karina Kwiatek 7cdb0e4976 Respect long question setting in frontend 2023-01-08 17:12:46 +01:00
Karina Kwiatek 3a6814b908 Respect allow long questions setting 2023-01-08 14:03:54 +01:00
Karina Kwiatek e0195654b5 Send notification on 3 push failures 2023-01-02 11:52:00 +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 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 8c2bfcb452 Use JSON for notification payload 2023-01-02 11:50:48 +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 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 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 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 361b8df798 Add mute relationship and user methods 2023-01-01 22:42:50 +01:00
Georg Gadinger fb07eda972 remove errors 2022-12-29 20:57:28 +01:00
Andreas Nedbal e7f60acad5 Add target_user field to anonymous blocks 2022-12-28 00:10:59 +01:00
Andreas Nedbal 5a0e42fe66 use `has_cached_role?` instead of `has_role?` 2022-12-18 21:47:03 +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
Andreas Nedbal 41c43538b5 Fix lints 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 049f92e138 Add inbox locking setting to user 2022-11-06 14:59:56 +01:00
Andreas Nedbal 56a1c70fae add `admin?` shorthand to users 2022-08-21 15:02:49 +02:00
Karina Kwiatek ae5d8931af Implement frontend for blocking users site-wide 2022-08-20 19:03:05 +02:00
Karina Kwiatek 0bbb435858 Allow anonymous blocks without an owner 2022-08-20 19:02:37 +02:00
Andreas Nedbal bdb637047b Omit hash value in question methods 2022-07-24 22:27:15 +02:00
Andreas Nedbal 4f4e6c83a1 Do not decrement the question count if the question is direct 2022-07-24 22:25:13 +02:00
Andreas Nedbal 83dbd5d2e3 Don't list direct questions on user profiles 2022-07-24 21:56:03 +02:00
Georg Gadinger 66efa5d4f4 clean up routes
- replace `match` with `get`/`post`/`patch`/`delete`
- format routes.rb
- rename the `show_user_{profile,question,answer}` routes to
  `profile`, `question`, `answer` so `url_for` (used by Rails Admin)
  works fine for these things
- also add `to_param` to the `User` model so that `url_for(some_user)`
  uses the user name
2022-07-23 12:14:06 +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
Andreas Nedbal cbd9106a87 Remove `ModerationComment` model, relations and methods 2022-07-19 11:17:45 +02:00
Andreas Nedbal e283648ce0 Remove `ModerationVote` model, relations and methods 2022-07-18 23:10:07 +02:00
Karina Kwiatek 4f88b82361 Use null-safe navigation for `denotify` 2022-07-17 21:21:37 +02:00
Karina Kwiatek 5d542161a0 Add tests for question create use case 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 47120e8d24 Appease the dog overlords 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 8005fc8ae6 Skip denotify if recipient doesn't exist 2022-07-16 21:29:20 +02:00
Karina Kwiatek 28240bba27 Properly match notification type 2022-07-09 01:15:31 +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 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 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 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 32865b528d Highlight current ban 2022-07-02 17:08:44 +02:00
Karina Kwiatek a857887398 Appease the dog overlords 2022-06-26 18:32:18 +02:00