Allow precise host-function requirements for snapshot/restore
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
Problem
Hyperlight-JS snapshots distinguish:
available: callbacks installed in the destination hostrequired: callbacks exposed to the current guest state and recorded in snapshots
Consider:
- Snapshot requires function A.
- Destination provides A and B.
- Restore preserves
required = {A}andavailable = {A, B}. - A new handler that calls B is staged.
- 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
Lance le conteneur de développement du projet dans votre navigateur, avec votre propre compte GitHub.
- Aucun Dockerfile ni fichier Docker Compose
- Aucun modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de hyperlight-dev/hyperlight-js
-
lifecycle/needs-review
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
hyperlight-dev/hyperlight-js#81 ·
Les mainteneurs répondent en général sous 7 jours
-
lifecycle/needs-review
Difficulté 4/5 3-5 jours Accessibilité débutants 48/100
hyperlight-dev/hyperlight-js#340 ·
Les mainteneurs répondent en général sous 7 jours
-
lifecycle/needs-review
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 35/100
hyperlight-dev/hyperlight-js#339 ·
Les mainteneurs répondent en général sous 7 jours
-
lifecycle/needs-review
Difficulté 3/5 1-2 jours Accessibilité débutants 55/100
hyperlight-dev/hyperlight-js#337 ·
Les mainteneurs répondent en général sous 7 jours
-
lifecycle/needs-review
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 35/100
hyperlight-dev/hyperlight-js#312 ·
Les mainteneurs répondent en général sous 7 jours
Toutes les issues de hyperlight-dev/hyperlight-js
Issues similaires
-
build: Update rust versionPeut-être pris Une pull request liée à cette issue est ouverte ou déjà fusionnée. Ouvertedependencies
Difficulté 2/5 1-3 heures Accessibilité débutants 67/100
ibm-granite-community/granite-cli#229 ·
Les mainteneurs répondent en général sous 1 jour
-
setTargetAtTime booked ahead of time starts its curve early (values blow up before start_time)Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
orottier/web-audio-api-rs#658 ·
-
Difficulté 2/5 1-3 heures Accessibilité débutants 84/100
aosama/astronomical#1318 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
Les mainteneurs répondent en général sous 1 jour
-
bug: `shep kelpie finish all`Ouvertebug
Difficulté 2/5 1-3 heures Accessibilité débutants 66/100
shep-pm/shep-kelpie#980 ·
Les mainteneurs répondent en général sous 1 jour