Description
If the user-chosen file name is occupied by an existing file, the app sequentially tries to find an available file name by trying suffixes _1, _2, etc. When there are hundreds of these numbered files, it will be unbearably slow. It already does for Test.jpg on the Beta Commons. I believe the same thing happens when the user uploads a lot of files under the same name.
Proposed solution:
Change the file name pattern from <user-given title>_<number>.jpg
to <user-given title>_<short hash>.jpg
when the user-chosen file name is unavailable. It should extend to a longer hash when collisions repeat. When that's not enough (let's say 3 consecutive collisions on random generation), we could add another 4, and repeat.
Steps to reproduce:
Build betaDebug and try uploading a file under the name Test
. It will take a longer time (> 1 min in my WiFi environment) than it should.
Commons app version:
latest master
(Note: the task description has been rewritten based on feedback below.)