Addresses https://github.com/ppy/osu/discussions/33291
This is a half-baked RFC because things are awkward.
For this to work correctly the submission flow has to do an API request,
because one, the local beatmap status has been overwritten with "locally
modified", and secondly, even if it *was* there, there's no guarantee
that it was actually *up to date*.
And if we have to do an API request then there are two choices:
- Hard block on the API request and don't show anything until it
completes which possibly means waiting at a spinner for several
seconds if someone's on bad internet.
- Don't block on the API request --- but then there's no guarantee
what timing the API request completes at, which means that possibly the
user could change the dropdown before the API request completes, and
the API request will overwrite their choice, so to prevent that block
the dropdown until the request completes. This is what this commit
does.
Every now and again someone will report having done something horrible
to their beatmap via lazer submission, always claim having done
"nothing" while invariably having done *something*, will not provide me
with a workable reproduction scenario, and even if they attempt to do
so, I will be unable to reproduce the issue anyway. So this change is
just desperation mostly. It's logging pretty much all that it is
possible to log of client-side state.