![xojo mac xojo mac](https://blog.xojo.com/wp-content/uploads/2018/11/Paul2.png)
When it restarts, you get a warning upon login that the mac crashed, etc etc. No - it’s always the same pattern: Screen locks, then about 30 seconds later it goes black for a few moments, then you get the multi-lingual “your mac crashed and has to be restarted” text. And then when there’s time to do it the way Apple is doing it, that’s great, just remove the preference. It’s not perfect, but it’s better than not doing anything. I get the appeal of the way Apple is handling crashes now, but if that’s too complicated, a simple brute-force timed save is more than sufficient to prevent data loss due to a crash outside of Xojo’s control. Perhaps I’m missing something, but how hard could it possibly be to implement a preference that says “save the current project every X minutes”? It can already be done via an IDE script, why can’t that be on a simple timer or something? That might be tricky for us to implement with text projects but it would be possible certainly with binary projects. The definition to unsaved essentially is only that the user hasn’t actively chosen to save the file. Personally, if we were to implement a feature like this, I would prefer it to work like Apple’s document model where even a new, unsaved document is saved when you quit, crash, etc., and when you relaunch the app, the document remains in its unsaved state. For a long time now your apps have run outside of the IDE so that’s not an issue. If your app crashed, it would crash the IDE. It did a long time ago when your app was running inside the IDE namespace.
![xojo mac xojo mac](https://m.horje.com/store/wp-content/uploads/2020/03/xojo-mac-screenshot-01-1-768x578.png)
Xojo does not have an auto-save project feature. However, if your Mac crashed (rather than Xojo) there would be no time for Xojo or any other app to do anything. When you relaunch, a dialog appears asking if you want to recover unsaved changes. When the IDE crashes due to an exception or failed assertion, an unsaved project will be saved.