Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

Allow precise host-function requirements for snapshot/restore

Ouverte
#338 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Les mainteneurs répondent en général sous 7 jours

Personne n'a encore pris cette issue.

Évaluation

Difficulté
4/5
Temps estimé
3-5 jours
Accessibilité débutants
52/100
Type d'issue
Fonctionnalité
Clarté
Plutôt claire
Activité
Active
Stack technique
javascript, rust
Domaine
backend

Piste de recherche

Start by locating the handler and module registration APIs, then trace how snapshot and restore state tracks available and required host functions. Define the optional per-item requirement declarations and verify that omitted declarations retain conservative promotion while removals recompute the union of declared requirements.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

lifecycle/needs-review
Problem

Hyperlight-JS snapshots distinguish:

  • available: callbacks installed in the destination host
  • required: callbacks exposed to the current guest state and recorded in snapshots

Consider:

  1. Snapshot requires function A.
  2. Destination provides A and B.
  3. Restore preserves required = {A} and available = {A, B}.
  4. A new handler that calls B is staged.
  5. The next snapshot must require both A and B.

Hyperlight-JS cannot reliably infer host-function dependencies from arbitrary
JavaScript. Imports and property access can be dynamic, and runtime observation
would miss unexecuted branches.

The current safe behavior conservatively promotes required to the complete
available manifest whenever a handler or module is added after restoration.
This is correct but can overstate requirements and reduce snapshot portability.

Proposed solution

Add an optional API for declaring host-function requirements when registering
handlers and modules. Track requirements per registered item so removals can
recompute the resulting union.

Callers that omit declarations retain the conservative promotion behavior.

Langage dominant
Rust
Étoiles
15
Forks
5
Merge moyen
7 j 3 h
PR mergées (30 j)
28

Préparer son environnement

Ouvrir dans Codespaces

Lance le conteneur de développement du projet dans votre navigateur, avec votre propre compte GitHub.

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de hyperlight-dev/hyperlight-js

Toutes les issues de hyperlight-dev/hyperlight-js

Issues similaires

Plus d'issues Rust

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.