Commit graph

53 commits

Author SHA1 Message Date
Armaël Guéneau
812eee1a5f env vars handling code: slight cleanup 2025-01-03 12:04:50 +01:00
Armaël Guéneau
5614796e71 add note 2025-01-03 11:52:58 +01:00
Armaël Guéneau
11e4444153 env vars: improve error messages somewhat 2025-01-03 11:50:15 +01:00
Armaël Guéneau
f5c29ceffb static handler: guess content type 2025-01-03 11:03:10 +01:00
Armaël Guéneau
52e9413349 tweaks 2025-01-03 11:01:09 +01:00
Armaël Guéneau
aef35f2a0b slightly improve error handling in handlers 2025-01-02 12:20:06 +01:00
Armaël Guéneau
00cb127953 Allow customizing the listening address and port 2025-01-02 12:16:34 +01:00
Armaël Guéneau
7ac6fb2a37 remove TODO (unclear it was a good idea) 2025-01-02 12:04:38 +01:00
Armaël Guéneau
fcd4b4538a web framework: switch to axum 2025-01-02 11:54:35 +01:00
Armaël Guéneau
edc49a6d1d Add S3 as storage backend, refactor db & storage code 2025-01-02 10:25:04 +01:00
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