MetaMask / MetaMask/metamask-extension

Persist and recall state in smaller pieces

Open
#7,311 0 comments 0 reactions 0 assignees View on GitHub
area-storage type-enhancement
Dominant language
TypeScript
Stars
13.2k
Forks
5.6k
Avg merge
2d 5h
Merged PRs (30d)
451

Description

We have always persisted state in one big blob, and this is some old technical debt that I couldn't find an issue for at quick glance.

Some reasons this is not great:
- Storage writes are heavy-weight and slow
- Passing the entire store to the UI with each update is computationally intensive.

Ideally:
- We would just write updates to disk
- We would only send the UI the data it needs to render

Let this issue be a place for declaring the problem, defining a solution, and implementing it.

Contributor guide

Open the contributing guide

Research direction

No files, tests, or entry points are named. Begin by mapping where state is persisted and where the full store is passed to the UI, then define the smaller-piece design before implementation. Done means updates can be written incrementally and the UI receives only the data needed for rendering.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
full-stack
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.