Implement DatabaseSystem for Edit History Storage
Summary
Introduces a new DatabaseSystem class that utilizes IndexedDB for storing the user's edit history. This change is part of a follow-up from the recent core refactor (see PR #961) and addresses the limitations of using StorageSystem (localStorage) for large data storage.
Details
- DatabaseSystem: A new system that wraps IndexedDB, providing data access and compatibility with web workers.
- Migration: The user's edit history has been migrated from
StorageSystemtoDatabaseSystem, allowing for more efficient data storage. - Issue Resolution: This change resolves the limitations highlighted in issue #187, where localStorage was insufficient for storing large amounts of data.
Related Issues
- closes #1078
It's a good start, I need to learn more about it..
My first impression is that we need to keep the storage stuff around because when the user loads a new version of Rapid, they should be able to restore a backup thats in localstorage created by an older version. But at least this gives us an opportunity to start saving better backups.
Hi @tannerwuster!
Thank you for your pull request.
We require contributors to sign our Contributor License Agreement, and yours needs attention.
You currently have a record in our system, but the CLA is no longer valid, and will need to be resubmitted.
Process
In order for us to review and merge your suggested changes, please sign at https://code.facebook.com/cla. If you are contributing on behalf of someone else (eg your employer), the individual CLA may not be sufficient and your employer may need to sign the corporate CLA.
Once the CLA is signed, our tooling will perform checks and validations. Afterwards, the pull request will be tagged with CLA signed. The tagging process may take up to 1 hour after signing. Please give it that time before contacting us about it.
If you have received this in error or have any questions, please contact us at [email protected]. Thanks!