Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR introduces lots of necessary infrastructural changes to the storage and persistence solutions, such that any breaking changes to application state in future updates can be performed safely with less friction for existing users.
Technical Changes
unstorage
for more flexibility in where and how key-value relationships are stored.idb
was added to introduce better support for table management and migrations for existing IndexedDB-based databases.beat-mapper-files
IDB has been migrated to version 3, which features improvements to filename resolutions, raw JSON values for info/beatmap metadata, and correct types for Blob files.redux-storage
with a new custom storage middleware, which uses an observable-based architecture for better control over where and how application state is persisted and hydrated.beat-mapper-state
IDB has been migrated to version 3, where the original "snapshot" of persisted state has been broken up and relocated across different storage engines: