-
Notifications
You must be signed in to change notification settings - Fork 90
Description
Like the title states, it is possible (and quite easy) for a single user to propose the same tag for a given task multiple times.
This was not really an issue before, but now with the proposals being displayed to users and used for task filtering, this allows for "griefing" of the task proposal system with a user who completed a given task being able to suggest an incorrect algorithm tag so many times that it becomes displayed for all users and may make the tag proposal system untrustworthy long-term.
My proposed solution is to require for (task - tag - user) value trios in the AlgorithmTagProposal model to be unique. For consistency's sake, I believe that (task - user) value pairs for the DifficultyTagProposal should also be required to be unique, as it makes no sense for one user to be able to say the same task is both Easy and Hard.
This should not be a hard task and seems educational in terms of learning about Django models, so it seems suitable for a student at TAG 2025. It should only require simple modifications to these two models and the implementation of a data migration to remove existing duplicates from the database. In case of issues, I am happy to help.