forgejo/models
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
..
actions [CLI] implement forgejo-cli 2024-02-05 13:33:58 +01:00
activities [MODERATION] Refactor excluding watchers mechanism (squash) 2024-02-05 15:56:58 +01:00
admin Next round of db.DefaultContext refactor (#27089) 2023-09-16 14:39:12 +00:00
asymkey Update tool dependencies (#29030) 2024-02-02 19:11:39 -05:00
auth [SECURITY] Rework long-term authentication 2024-02-05 15:06:15 +01:00
avatars Refactor some legacy code and remove unused code (#28622) 2023-12-28 09:38:59 +00:00
db [SEMVER] store SemVer in ForgejoSemVer after a database upgrade 2024-02-05 14:44:33 +01:00
dbfs make writing main test easier (#27270) 2023-09-28 01:38:53 +00:00
fixtures [MODERATION] User blocking 2024-02-05 15:56:45 +01:00
forgejo/semver [SEMVER] store SemVer in ForgejoSemVer after a database upgrade 2024-02-05 14:44:33 +01:00
forgejo_migrations [SECURITY] Rework long-term authentication 2024-02-05 15:06:15 +01:00
git Add support for sha256 repositories (#23894) 2024-01-19 17:05:02 +01:00
issues [MODERATION] User blocking 2024-02-05 15:56:45 +01:00
migrations [UPGRADE] run sanity checks before the database is upgraded 2024-02-05 14:44:33 +01:00
organization Remove GetByBean method because sometimes it's danger when query condition parameter is zero and also introduce new generic methods (#28220) 2023-12-07 15:27:36 +08:00
packages Fix some RPM registry flaws (#28782) 2024-01-19 11:37:10 +00:00
perm Remove GetByBean method because sometimes it's danger when query condition parameter is zero and also introduce new generic methods (#28220) 2023-12-07 15:27:36 +08:00
project Fix comment permissions (#28213) 2023-11-25 17:21:21 +00:00
pull Add support for sha256 repositories (#23894) 2024-01-19 17:05:02 +01:00
repo [MODERATION] Refactor excluding watchers mechanism (squash) 2024-02-05 15:56:58 +01:00
secret Use db.Find instead of writing methods for every object (#28084) 2023-11-24 03:49:41 +00:00
shared/types Display owner of a runner as a tooltip instead of static text (#24377) 2023-05-12 08:43:27 +00:00
system Refactor deletion (#28610) 2023-12-25 21:25:29 +01:00
unit Make actions default enabled for newly created repository if global configuraion enabled (#27482) 2023-10-10 14:45:31 +00:00
unittest [TESTS] tests.AddFixtures helper loads additional per-test fixtures 2024-02-05 14:44:33 +01:00
user [MODERATION] User blocking 2024-02-05 15:56:45 +01:00
webhook Refactor deletion (#28610) 2023-12-25 21:25:29 +01:00
error.go Forbid removing the last admin user (#28337) 2024-01-15 06:51:43 +00:00
fixture_generation.go Replace more db.DefaultContext (#27628) 2023-10-15 17:46:06 +02:00
fixture_test.go Replace more db.DefaultContext (#27628) 2023-10-15 17:46:06 +02:00
main_test.go make writing main test easier (#27270) 2023-09-28 01:38:53 +00:00
org.go Refactor deletion (#28610) 2023-12-25 21:25:29 +01:00
org_team.go Remove GetByBean method because sometimes it's danger when query condition parameter is zero and also introduce new generic methods (#28220) 2023-12-07 15:27:36 +08:00
org_team_test.go Reduce usage of db.DefaultContext (#27073) 2023-09-14 17:09:32 +00:00
org_test.go Replace more db.DefaultContext (#27628) 2023-10-15 17:46:06 +02:00
repo.go Refactor deletion (#28610) 2023-12-25 21:25:29 +01:00
repo_test.go Penultimate round of db.DefaultContext refactor (#27414) 2023-10-11 04:24:07 +00:00
repo_transfer.go [MODERATION] User blocking 2024-02-05 15:56:45 +01:00
repo_transfer_test.go [MODERATION] User blocking 2024-02-05 15:56:45 +01:00