Commit graph

43 commits

Author SHA1 Message Date
Armaël Guéneau
af38eae2c3 cargo clippy 2024-12-22 21:12:39 +01:00
Armaël Guéneau
13f8e76ae3 bundle auxiliary files (templates/css) in the binary 2024-12-22 20:37:34 +01:00
Armaël Guéneau
f50b81e8e2 remove deuxfleurs-specific bits, add environment variables for configuration 2024-12-22 15:03:38 +01:00
Armaël Guéneau
4d59f04e6f add TODO 2024-12-22 12:26:09 +01:00
Armaël Guéneau
b56a54adff read the forgejo API token from an environment variable 2024-12-22 01:35:17 +01:00
Armaël Guéneau
34ef744aeb tweak 2024-12-21 10:43:10 +01:00
Armaël Guéneau
f8375ca188 Perform destructive actions only when ACTUALLY_BAN_USERS=true 2024-12-20 21:35:33 +01:00
Armaël Guéneau
d7e6646226 add small todo 2024-12-20 20:51:06 +01:00
Armaël Guéneau
dcbe528c64 Move "lock account + send email" to a worker with retries 2024-12-20 20:48:16 +01:00
Armaël Guéneau
0e0b246115 improve error handling in main() 2024-12-20 10:31:36 +01:00
Armaël Guéneau
4f896d8ada run workers on startup instead of sleeping first 2024-12-20 10:19:56 +01:00
Armaël Guéneau
a3c9105caa Notify users by email when locking their account (wip: error handling) 2024-12-20 10:18:37 +01:00
Armaël Guéneau
d4af61fb35 WIP: lock spam accounts then delete after a grace period 2024-12-19 15:47:32 +01:00
Armaël Guéneau
45ff1f3ea5 cargo fmt 2024-12-19 12:50:16 +01:00
Armaël Guéneau
ddda6cc1cf Fix redirect response on POST by explicitly sending the page URI 2024-12-19 12:49:16 +01:00
Armaël Guéneau
8f2bc7ebc6 Store the tim a user was classified as spam in the database 2024-12-19 12:23:54 +01:00
Armaël Guéneau
b2406dd883 Add a new /classified page that allows editing classifications 2024-12-18 17:06:45 +01:00
Armaël Guéneau
6a23483073 refactor: move the refresh job to a separate file 2024-12-18 17:05:43 +01:00
Armaël Guéneau
df217ab86c Refresh user data periodically 2024-12-18 17:05:01 +01:00
Armaël Guéneau
f801c26d34 refactoring: split off parts of main.rs into auxiliary files 2024-12-18 09:28:07 +01:00
Armaël Guéneau
483b9860b0 handle classification conflicts between concurrent users 2024-12-18 08:51:35 +01:00
Armaël Guéneau
6f412712e8 . 2024-12-18 08:36:18 +01:00
Armaël Guéneau
6442dfe07b when selecting random users, still sort the selected users on screen 2024-11-27 20:31:06 +01:00
Armaël Guéneau
f50141ef23 filter out users with an empty profile 2024-11-27 20:31:06 +01:00
Armaël Guéneau
862ccfa455 more cleanup 2024-11-23 14:58:46 +01:00
Armaël Guéneau
797de9b825 minor cleanup 2024-11-23 13:30:22 +01:00
Armaël Guéneau
e6c6877940 README: add a list of TODOs 2024-11-23 13:28:33 +01:00
Armaël Guéneau
cf010c15f2 add basic README 2024-11-23 13:20:49 +01:00
Armaël Guéneau
8b2a65d6f6 cargo fmt 2024-11-23 13:14:14 +01:00
Armaël Guéneau
83d8be55da add sorting options 2024-11-23 13:13:27 +01:00
Armaël Guéneau
0e17ff90e6 add user stats & store db/classifier on updates 2024-11-23 13:13:27 +01:00
Armaël Guéneau
b420e1608d only store the non-cache part of the Db 2024-11-23 13:13:27 +01:00
Armaël Guéneau
ff95f3807b always recompute the score of all users
(the perf δ is insignificant and the code is simpler)
2024-11-23 13:13:27 +01:00
Armaël Guéneau
876488bb4b optimize scoring performance 2024-11-23 13:13:27 +01:00
Armaël Guéneau
d9251ce395 classification UI, etc
problem: scores are slow to update when submitting classifications
2024-11-23 13:13:27 +01:00
Armaël Guéneau
5d22662499 cargo fmt 2024-11-23 13:13:27 +01:00
Armaël Guéneau
da91785390 basic web app showing the list of all users 2024-11-23 13:13:27 +01:00
Armaël Guéneau
e0a0456402 refactoring 2024-11-20 13:56:59 +01:00
Armaël Guéneau
797377734f randomize entries then sort by decreasing score 2024-11-19 14:03:24 +01:00
Armaël Guéneau
b57ead4a5c cache scrape results (no logic to update the cache yet) 2024-11-19 13:40:47 +01:00
Armaël Guéneau
4aa2aeb1fc also fetch issues created by users 2024-11-19 09:54:17 +01:00
Armaël Guéneau
0f8368031f store user classifications 2024-11-18 17:27:17 +01:00
Armaël Guéneau
3f4f93826c basic scraping & CLI classification 2024-11-18 17:12:32 +01:00