Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

Support lazy loading preinstalled Snaps

Open
#3,370 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
25/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Stale
Tech stack
typescript

Research direction

Start by reading the SnapController constructor and SnapController.startSnap, which the issue identifies as the relevant entry points. Trace how preinstalled Snap JSON is currently supplied and fetched, then define the metadata and lazy-fetch behavior needed when a Snap is first invoked; done means initialization no longer fetches every preinstalled Snap while invocation still obtains the required Snap.

Written by the indexing model from the issue text.

Description

snaps-feature snaps-unrefined-backlog

Currently all preinstalled Snaps must be provided to the SnapController through the constructor, meaning all preinstalled Snaps must be fetched at app initialisation time. This may become problematic when there are many preinstalled Snaps, resulting in a long initialisation time.

We should consider allowing lazy loading of preinstalled Snaps. Instead of providing the full JSON, we can provide metadata for how the Snap should be fetched, and lazily fetch when the Snap is actually invoked for the first time (e.g., in SnapController.startSnap).

Dominant language
TypeScript
Stars
856
Forks
660
Avg merge
1d 14h
Merged PRs (30d)
9

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from MetaMask/snaps

All issues in MetaMask/snaps

Similar issues

More TypeScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.