MetaMask / MetaMask/metamask-extension
[State Sync Redesign 1.4] Send keyed initial state on `START_UI_SYNC`
- Dominant language
- TypeScript
- Stars
- 13.2k
- Forks
- 5.6k
- Avg merge
- 2d 5h
- Merged PRs (30d)
- 451
Description
Modify the initial state sync to send controller-keyed state alongside the flat state, enabling `ControllerStateManager` initialization (Epic 3).
## Steps
1. In `setupControllerConnection.startUISync`, send both `this.getState()` (flat, for Redux) and controller-keyed state
2. Modify `handleStartUISync` in `ui/index.js` to accept and store the keyed state
## Files
- `app/scripts/metamask-controller.js`
- `ui/index.js`
## Dependencies
Issue 1.3
## Context
Part of [State Sync Redesign — Epic 1: Transport optimization].
Contributor guide
Research direction
Read app/scripts/metamask-controller.js at setupControllerConnection.startUISync and ui/index.js at handleStartUISync, checking the requirements from Issue 1.3 first. The change is complete when START_UI_SYNC sends both flat and controller-keyed state, and the UI accepts and stores the keyed state for ControllerStateManager initialization.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- backend, frontend
- Issue type
- Feature
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 52/100