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 |
|