Skip to content

Add autosave feature - #229

Merged
CrystalSplitter merged 5 commits into
masterfrom
crystal/autosave
Oct 12, 2026
Merged

CrystalSplitter merged 5 commits into
masterfrom
crystal/autosave

Conversation

@CrystalSplitter

Copy link
Copy Markdown
Collaborator

Once a day, on start up, save the current full state to the userData directory as ffr_autosave.frdata.

This addresses
#228 somewhat, though it would be nice to surface this info more easily.

@CrystalSplitter

Copy link
Copy Markdown
Collaborator Author

This needs MacOS and windows testing.

@nubesurrealista

Copy link
Copy Markdown
Collaborator

Do you need some testing on Linux? owo

@CrystalSplitter

Copy link
Copy Markdown
Collaborator Author

More testing always helps. Do you know what to look for? It's in the userData folder of your system, which I think for most linuxes should be ~/.config/<NAME OF APP>/. The name during testing can vary quite a bit, so maybe search for the file name ffr_autosave.frdata.

@nubesurrealista

Copy link
Copy Markdown
Collaborator

More testing always helps. Do you know what to look for? It's in the userData folder of your system, which I think for most linuxes should be ~/.config/<NAME OF APP>/. The name during testing can vary quite a bit, so maybe search for the file name ffr_autosave.frdata.

It works! it seems, I mean, the file is there

@CrystalSplitter

Copy link
Copy Markdown
Collaborator Author

I think I want to move this file somewhere else if I can, because it being at the top level seems too risky.

Once a day, on start up, save the current full state to
the userData directory as ffr_autosave.frdata.

This addresses
#228
somewhat, though it would be nice to surface this info more
easily.
@nubesurrealista

Copy link
Copy Markdown
Collaborator

I think I want to move this file somewhere else if I can, because it being at the top level seems too risky.

What about /.local/state in the home folder in Linux?

@CrystalSplitter

Copy link
Copy Markdown
Collaborator Author

Hmm, no that's not what I meant. I meant that it shouldn't be at the top level of userData. I've fixed that now.

I've also added a corruption detection mechanism, which shows up as this:

image

This commit introduces several new features:

- Detecting that the database is corrupted (via the integrity table)
- Offering an autosave recovery system for it.
@CrystalSplitter

Copy link
Copy Markdown
Collaborator Author

Added an autorecovery option when we detect database corruption:

image

@CrystalSplitter

Copy link
Copy Markdown
Collaborator Author

Re-arranged the buttons, added internationalisation

@CrystalSplitter

Copy link
Copy Markdown
Collaborator Author

Got a friend to test on MacOS, things seem to be working fine there.

@CrystalSplitter

Copy link
Copy Markdown
Collaborator Author

Tested as much as I can on my end. I can't test Windows unfortunately, and to properly test anyways, we should have an .exe available.

@CrystalSplitter
CrystalSplitter merged commit 021abf3 into master Oct 12, 2026
5 checks passed
@CrystalSplitter
CrystalSplitter deleted the crystal/autosave branch October 12, 2026 05:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants