wallet: Make and record an init-messenger pattern decision
Los mantenedores suelen responder en 1 día
@grypez ya está trabajando en esto.
Desde el 26/5/2026.
Evaluación
Este issue todavía no se ha evaluado.
Descripción
Problem
The extension and mobile clients both create two restricted messengers per controller: a controller messenger (runtime, narrow privileges) and an init messenger (boot-only, broader privileges for one-shot setup steps). The wallet currently uses a single messenger per controller. Whether to adopt the two-messenger pattern is unresolved and undocumented. Without a written decision, every new controller wired into the wallet inherits this ambiguity silently.
Proposed direction
Evaluate the trade-offs and write a short decision document (init-messenger-decision.md) in the wallet package recording the chosen approach and the concrete conditions under which it should be revisited. Link from the package README.
To inform the decision, gather empirical data on which messenger actions are invoked during init() vs. at runtime across the controllers already wired (see sub-issue for tooling). If the init-time and runtime allowlists are effectively the same, the two-messenger pattern adds boilerplate without narrowing any privileges — which favors deferring adoption.
Acceptance
- A decision is made and written down in
packages/wallet/init-messenger-decision.md. - The document covers: which pattern is chosen, why, and what conditions would trigger revisiting.
packages/wallet/README.mdlinks to the decision document.
Context
- Extension reference:
app/scripts/messenger-client-init/—getInitMessenger/getMessengerfactory pattern. - Mobile reference:
app/core/Engine/messengers/— same dual-factory convention.
Subissues
- #8791
- Lenguaje dominante
- TypeScript
- Estrellas
- 422
- Forks
- 313
- Merge medio
- 1 d 8 h
- PR fusionados (30 d)
- 414
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Sin guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de MetaMask/core
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
Los mantenedores suelen responder en 1 día
-
CI: "Validate changelog diffs" job fails on every fork-sourced pull requestPosiblemente ocupada @Roxen-AS la tomó hace 20 días. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
Los mantenedores suelen responder en 1 día
-
platform-api-docs: `scan` strategy misses ESM-only packages, which ship `.d.ts` rather than `.d.cts`Posiblemente ocupada @gaohan1994 la tomó hace 21 días. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
Los mantenedores suelen responder en 1 día
-
[utils] Replace the `uuid` dependency with `crypto.randomUUID()`Posiblemente ocupada @avantikonde la tomó hace 34 días. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
MetaMask/core#10210 · 1 reacción ·
Los mantenedores suelen responder en 1 día
-
[utils] `toWei` accepts fractional wei and returns wrong valuesPosiblemente ocupada @Roxen-AS la tomó hace 20 días. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
Los mantenedores suelen responder en 1 día
Todos los issues de MetaMask/core
Issues similares
-
[FEATURE] 场景打开后主界面左上角缺失【返回】按钮Abiertoenhancement module: library-ui
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
chthollyphile/folia-major#1206 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
typescript-eslint/typescript-eslint#13189 ·
Los mantenedores suelen responder en 2 días
-
severity:medium triage:confirmed triage:in-progress triage:reproduced
Dificultad 2/5 1-3 horas Aptitud para principiantes 73/100
Cotal-AI/Cotal#6442 · 2 comentarios ·
Los mantenedores suelen responder en 1 día
-
wrong type
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
elastic/elasticsearch-specification#6919 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
Los mantenedores suelen responder en 1 día