Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Users should not be able to file exact duplicate requests #492

Open
bardiharborow opened this issue Jul 12, 2018 · 3 comments
Open

Users should not be able to file exact duplicate requests #492

bardiharborow opened this issue Jul 12, 2018 · 3 comments
Labels
actually quite difficult This task has technical intricacies which mean it needs analysis by someone familiar with the system

Comments

@bardiharborow
Copy link

See #235483.

@stwalkerster stwalkerster added bug actually quite difficult This task has technical intricacies which mean it needs analysis by someone familiar with the system labels Jul 12, 2018
@stwalkerster
Copy link
Member

Typical INSERT-based race condition between two transactions in two threads.

We already run in serializable isolation mode, and a unique index is not going to work from a business logic point of view. Locks might be the only available way forward, but I'm not keen on applying locks to that table.

@bardiharborow
Copy link
Author

Perhaps we could go way more low-tech with this one, and just add onclick="this.disabled = true; this.value = "Submitting...";" to the submit button?

@stwalkerster
Copy link
Member

We shouldn't rely an JavaScript being available on the public side - there's still a good number of screen readers which don't support it.

It might help with some instances of this issue (how many would need analysis of webserver logs), but it's not a complete solution.

I'd prefer a more structural solution which works for all instances of this, as I expect there are many instances of this issue in many places across the tool.

@stwalkerster stwalkerster removed the bug label May 1, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
actually quite difficult This task has technical intricacies which mean it needs analysis by someone familiar with the system
Projects
Status: Reproduced
Development

No branches or pull requests

2 participants