MetaMask / MetaMask/metamask-extension

[State Sync Redesign 1.4] Send keyed initial state on `START_UI_SYNC`

Open
#40,037 0 comments 0 reactions 0 assignees View on GitHub
INVALID-ISSUE-TEMPLATE team-extension-platform
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.