Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement DatabaseSystem for Edit History Storage #1678

Draft
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

tannerwuster
Copy link
Contributor

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 StorageSystem to DatabaseSystem, allowing for more efficient data storage.
  • Issue Resolution: This change resolves the limitations highlighted in issue Intense slowdowns on chrome when browser has been open for a while #187, where localStorage was insufficient for storing large amounts of data.

Related Issues

…History

- Introduced a new DatabaseSystem class that wraps IndexedDB.
- Migrated edit history storage from StorageSystem (localStorage) to DatabaseSystem.
@bhousel
Copy link
Contributor

bhousel commented Jan 24, 2025

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

DatabaseSystem
3 participants