Skip to content

Conversation

@microbit-robert
Copy link

@microbit-robert microbit-robert commented Dec 8, 2025

Requires thorough testing and review. The current loading page is a simple proof-of-concept - this could probably be a bit nicer and handle the project load failure case as well.

The storage has error handling that isn't currently doing anything other than logging to the console.

TODO:

  • Migrate from Date.now to uuid for action and recording ids
  • Migrate from ID to id
  • Handle changes in multiple tabs (done except check MakeCode open in both places)
  • Only load from IndexedDB once when the app loads - it is currently loading as a result of navigation changes inside the ProjectProvider. I think this is because of where this layer is in the component tree. A work around is in place.

A more sensible diff discounting the white space shift from removing the old persist middleware, but still quite large.

This can now support multiple projects, and I'll create a new PR targeting this one to work as a proof of concept. This should now be a simple case of not clearing the stores for a new session and project import.

@github-actions
Copy link

github-actions bot commented Dec 8, 2025

Preview build will be at
https://review-createai.microbit.org/storage/

Everything that updates multiple stores is now a transaction.
Assert data loaded from storage.
Update project 'updatedAt' when appropriate
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