### Description & Scope of Problem
Every time Blender quits, when it has something on the undo stack, it will write the current "undo file" to `${TEMPDIR}/quit.blend` ([manual](https://docs.blender.org/manual/en/dev/files/blend/open_save.html#last-session)).
Saving `quit.blend` can take a while when the file is large. While the file is being written, Blender's UI is gray and unresponsive.
The problem is not pressing, as usually it takes considerably longer to load the files in the first place. I've asked some artists at the Blender Studio and they didn't really consider the delay when quitting Blender a practical issue. Still, it gets somewhat in the way of quickly testing things with various production blend files, so it could be seen as an issue for developers more than for artists.
### Possible Solutions & Impact
**Simplest solution:**
As a solution we could introduce a user preference "Save Recovery File" that is enabled by default. Disabling this option would:
- Avoid writing `quit.blend`.
- Remove the "File ‣ Recover ‣ Last Session" menu item.
- Remove the "Recover Last Session" button from the splash screen.
**Alternative solution:**
The "Recover Last Session" operator does not poll the filesystem from its poll function. This means that the operator is available even when the file `${TEMPDIR}/quit.blend` does not exist. Changing this, such that the operator is disabled when `quit.blend` does not exists, means that the above solution would not have to remove the recovery operators when "Save Recovery File" is disabled. The operators would auto-detect whether a recovery file is available at all.
The upside of this solution is that it makes the "Recover Last Session" operator appear more reliable, as it refuses to work when it knows it cannot do its job. This would be an improvement regardless of the "Save Recovery File" status.
The downside is that an old `quit.blend` might be lingering around after "Save Recovery File" has been disabled. This means that it could appear as if you could still recover, but it would load an older file. This could be avoided by removing `quit.blend` when disabling "Save Recovery File", but I'm not a big fan of Blender explicitly removing files that are meant to recover from human error.
### Discussion Topics
This task is meant to discuss the following:
- Do we want to make it possible to quit without writing `quit.blend` at all?
- If so, which of the solutions is preferred? Or is there another way to deal with this that's even better?
- Do we want this as a general option, or something that's enabled only when "Developer Extras" are enabled?