forgejo/models/activities
Gusted 8d3fab8944
[MODERATION] Refactor excluding watchers mechanism (squash)
This solves two bugs. One bug is that due to the JOIN with the
`forgejo_blocked_users` table, duplicated users were generated if a user
had more than one user blocked, this lead to receiving more than one
entry in the actions table. The other bug is that if a user blocked more
than one user, it would still receive a action entry by a
blocked user, because the SQL query would not exclude the other
duplicated users that was generated by the JOIN.

The new solution is somewhat non-optimal in my eyes, but it's better
than rewriting the query to become a potential perfomance blocker (usage
of WHERE IN, which cannot be rewritten to a JOIN). It simply removes the
watchers after it was retrieved by the SQL query.

(cherry picked from commit c63c00b39b8bd2ed3a69ed044933a9626bfca2c1)
(cherry picked from commit ad3cdc5705e00961426b2cff499425e30d9332fa)
2024-02-05 15:56:58 +01:00
..
action.go [MODERATION] Refactor excluding watchers mechanism (squash) 2024-02-05 15:56:58 +01:00
action_list.go
action_test.go More db.DefaultContext refactor (#27265) 2023-09-29 12:12:54 +00:00
main_test.go make writing main test easier (#27270) 2023-09-28 01:38:53 +00:00
notification.go [MODERATION] User blocking 2024-02-05 15:56:45 +01:00
notification_test.go Use db.Find instead of writing methods for every object (#28084) 2023-11-24 03:49:41 +00:00
repo_activity.go Simplify how git repositories are opened (#28937) 2024-01-27 21:09:51 +01:00
statistic.go Use db.Find instead of writing methods for every object (#28084) 2023-11-24 03:49:41 +00:00
user_heatmap.go More db.DefaultContext refactor (#27265) 2023-09-29 12:12:54 +00:00
user_heatmap_test.go Refactor timeutil package (#28623) 2023-12-28 10:09:57 +00:00