This is fixed.
tl;dr, this was happening when you entered the review step using the Enter key, due to a rogue competing submit
listener.
I had the hardest time with this one, because I couldn't initially reproduce it and there were no obvious code changes that would have introduced this bug. Looking at all code changes from June 10 through July 14, I couldn't find anything that directly even remotely interacted with the submit button and generally speaking, there are only three places where we disable it:
On Stack Overflow, we disable the button by default for Teams users until they confirm they're drafting a public question. This doesn't apply here as it's happening on non-Stack Overflow sites and for non-Teams users.
When we first bind on-blur post validation (title too short, invalid tag, etc.), we temporarily disable visible submit buttons and bring them back after all the fields have been configured. This wasn't causing it, because (A) the button wasn't visible and (B) if something was happening that prevented it from being enabled, an exception would have prevented the page from getting to the state it was in.
We disable the submit button while submitting the form, but this shouldn't have come into effect, because that submit listener isn't even bound until post validation is wired up in the review step.
I finally figured out that there's a fourth, really unintuitive place that disables the submit button and it gets wired up really early. The Markdown editor itself actually attaches a form submit handler with the sole functions being to disable the submit button and remove the "Are you sure you want to leave this page?" prompts. This fires in tandem with my fix for Question can be submitted without review by pressing Enter in the tags bar, which listens for form submit events (triggered by Enter) and sends users to the review step. Both fired, so we ended up with the page at the review step and the page thinking it had submitted a form.
Ideally, I would love to remove the submit
listener as it doesn't really belong there or make it default to off, but that's a fairly big technical debt project in a widely used and often deeply nested component. So the editor submit handler now emits a "I'm about to submit" event, which the ask page cancels on Step 1.