Karina Kwiatek
b93058b11d
Fix remaining lint errors
2023-05-05 16:01:40 +02:00
Karina Kwiatek
fb83f48adf
Fix lint errors
2023-05-05 16:01:40 +02:00
Karina Kwiatek
36d59d100e
Remove unused `destruct_by` method
2023-05-05 16:01:40 +02:00
Karina Kwiatek
f73fc87991
Simplify `notify` and `denotify` methods
2023-05-05 16:01:40 +02:00
Karina Kwiatek
0132d7b251
Remove usages of `is_active`
2023-05-05 16:01:40 +02:00
Karina Kwiatek
904eab8daa
Remove now unused `is_subscribed` method
2023-05-05 16:01:40 +02:00
Karina Kwiatek
55090a42f8
Merge pull request #1148 from Retrospring/moar-metrics
...
metrics: add counter for created/destroyed users
2023-04-29 09:54:53 +02:00
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