Commit Graph

75 Commits

Author SHA1 Message Date
Andreas Nedbal cc7fa787e8 Pass IDs to Reaction usecases instead of user instances
For some wild reason this locally sometimes causes coercion errors in the user instance check, restarting fixes it (temporarily?) so letting the UseCase resolve users is a cleaner solution here.
2024-03-19 22:45:19 +01:00
Andreas Nedbal b7e8187cd4 Add max question content limit of 32,768 characters 2024-03-10 21:23:14 +01:00
Andreas Nedbal bba00ea415 Ignore last reports visit field in user exports 2024-03-01 23:58:35 +01:00
Andreas Nedbal 06b2421f2c Rename all occurences of `Inbox` class to `InboxEntry` 2024-01-27 19:21:07 +01:00
Karina Kwiatek b02375985a Add option to send question to own inbox 2023-12-11 23:14:58 +01:00
Karina Kwiatek aaee04b5ed Restore `QuestionWorker` for compatibility during upgrade
Co-authored-by: Georg Gadinger <nilsding@nilsding.org>
2023-12-11 19:54:56 +01:00
Karina Kwiatek 83ac156382 Refactor `QuestionWorker` to send to individual users rather than all followers at once 2023-11-01 08:45:56 +01:00
Andreas Nedbal 3811f15bd7 Add use cases for creating and destroying reactions 2023-10-29 20:47:18 +01:00
Andreas Nedbal 20cf1ac85b Fix rubocop nits 2023-10-28 02:44:48 +02:00
Andreas Nedbal 1e29d3f86f Rename `Appendable::Reaction` to `Reaction` 2023-10-28 02:44:48 +02:00
Andreas Nedbal 454438091b Use explicit `create!` call in mute rule creation use case 2023-10-15 10:16:21 +02:00
Karina Kwiatek d5c27dcfb4 Exclude caching timestamps from data exports 2023-03-07 19:14:14 +01:00
Georg Gadinger 9fadeea3fe rubodog 2023-02-13 22:17:46 +01:00
Georg Gadinger bc6806aa89 initial metrics 2023-02-13 22:17:46 +01:00
Karina Kwiatek 736ca4d6b0 Use a policy for pinning/unpinning 2023-02-12 20:19:50 +01:00
Karina Kwiatek baea942975 Add check for pinning when the answer is already pinned 2023-02-12 20:19:50 +01:00
Karina Kwiatek 438884e13a Add trailing commas (lint) 2023-02-12 20:19:50 +01:00
Karina Kwiatek 410d9b5d8e Implement unpinning answers 2023-02-12 20:19:50 +01:00
Karina Kwiatek ed4ec98455 Add use case for pinning answers 2023-02-12 20:19:50 +01:00
Karina Kwiatek c919b4913f
Merge branch 'main' into feature/long-questions 2023-01-11 22:24:58 +01:00
Andreas Nedbal 00e677886f Prevent global anon blocks blocking every anon question with a user 2023-01-11 01:47:32 +01:00
Karina Kwiatek 3a6814b908 Respect allow long questions setting 2023-01-08 14:03:54 +01:00
Karina Kwiatek d403cdde75 Prevent error when creating questions
This error didn't prevent the question from being sent.
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 8178d75a57 Add use cases for creating and destroying mute rules 2023-01-02 12:45:35 +01:00
Karina Kwiatek ee9c48fd06 Clean up question create use case 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 062e293607 Fix missing namespace qualifier for Rpush 2023-01-02 11:50:48 +01:00
Karina Kwiatek 93d4af3f0d Deduplicate notification sending logic and replace placeholder string 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
Georg Gadinger 86441cda57 rubodog 2023-01-02 09:24:34 +01:00
Georg Gadinger 9d38292d4a question/create_followers: fix incrementing asked_count 2023-01-02 09:20:59 +01:00
Andreas Nedbal 00959a8645 add exporting of mute relationships 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
Georg Gadinger 6e54b4daba remove requires for types
autoloaded by zeitwerk
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
Andreas Nedbal 099665022f Use `id` from `source_user` inside query
With the proper presence check using `source_user_id` we guarantee `source_user` is there, and so we can use it like in the other query
2022-12-28 00:10:59 +01:00
Andreas Nedbal 97736a956d Track question users in anonymous blocks 2022-12-28 00:10:59 +01:00
Georg Gadinger 9895782a02 data_export/user: remove rescue since local image handling works now for sure 2022-12-22 17:29:38 +01:00
Georg Gadinger 3e143954e3 data_export: yeet inbox_entries 2022-12-10 15:47:54 +01:00
Georg Gadinger 2b3e7ab609 add specs for new exporters 2022-12-10 03:28:17 +01:00
Georg Gadinger 4229c7f579 first draft of the new data exporter 2022-12-10 00:39:50 +01:00
Andreas Nedbal 3cefc829f8
Merge branch 'main' into feature/privacy-require-user 2022-11-13 17:27:53 +01:00
Andreas Nedbal 9393374eab `LoginRequired` -> `NotAuthorized` 2022-11-13 14:38:11 +01:00
Andreas Nedbal 32d270113d Check for users being logged in if a user requires it in questions 2022-11-13 14:26:49 +01:00
Andreas Nedbal fa12b19b8a Prevent questions being sent to users that lock their inbox 2022-11-06 15:01:01 +01:00
Karina Kwiatek 74e309e9fc Apply anonymous blocks without an owner as global 2022-08-20 19:02:37 +02:00
Karina Kwiatek 050d7d5b56 Return hashes from user ban use cases 2022-07-30 15:40:37 +02:00
Karina Kwiatek a8e99723cc Return hashes from question use cases 2022-07-30 15:40:37 +02:00