> Browsers still lose my 15 minutes of typing when something goes bad
It’s not browsers but poorly-designed JavaScript: if you use a standard HTML form all browsers will preserve state and resubmit it for you on retries. The problem is when you have JavaScript altering the form but not reimplementing the standard state management, and since few sites do more than casual testing these days it tends to require a number of user reports before that’s prioritized since it’s so easy for lazy developers to blame the error condition rather than accept that handling it is part of the job.
It's a specific case of a larger symptom: when you implement something in JavaScript that replaces default browser functionality, you also have to re-implement all of the related error handling, edge cases, etc., and can't rely on the work that has already been put into making things work correctly in the browser. But in practice, JavaScript developers never fully re-implement the features that they replace, which means all that work on the browser has gone to waste.
It’s not browsers but poorly-designed JavaScript: if you use a standard HTML form all browsers will preserve state and resubmit it for you on retries. The problem is when you have JavaScript altering the form but not reimplementing the standard state management, and since few sites do more than casual testing these days it tends to require a number of user reports before that’s prioritized since it’s so easy for lazy developers to blame the error condition rather than accept that handling it is part of the job.