feat(vault): open any CID from a link or paste, with trustless-gateway fallback
Les mainteneurs répondent en général sous 1 jour
Évaluation
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Accessibilité débutants
- 55/100
- Type d'issue
- Fonctionnalité
- Clarté
- Plutôt claire
- Activité
- Active
- Stack technique
- javascript
- Domaine
- backend, distributed-systems
Piste de recherche
Start by reading features/ipfs/lib/helia-init.ts to see how Helia is initialized, then trace the existing vault page and content decoding flow. Implement the CID route, gateway configuration, validation, and verified fetch with mocked gateway tests. Done means a valid remotely pinned CID opens in a fresh profile, invalid CIDs and unreachable gateways show distinct messages, and fetched content is verified before display.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Summary
Add a page that resolves a CID that is not in the local blockstore, so shared results open without the sender's browser.
Estimated size: M
Motivation
Today a CID shared with another user resolves only if they obtain the block by other means.
Current state in this repo
- Helia runs with
createHelia({ blockstore, datastore })and no custom libp2p or block-broker configuration (features/ipfs/lib/helia-init.ts).
Proposal
- Add
/vault/cid/[cid]with a paste box. - Configure the trustless-gateway block broker with a configurable gateway list (env).
- Show a verified-against-CID indicator and cache fetched blocks locally.
- Validate the CID and the decoded record schema.
Acceptance criteria
- A CID published and pinned elsewhere opens on a fresh browser profile.
- Invalid CIDs and unreachable gateways give distinct messages.
- A fetched block is verified against its CID before display.
Out of scope
- Browser-to-browser transports (see the Kubo browser-connectivity issue).
Technical notes and risks
- Gateway choice affects privacy (the gateway sees the CID); document it.
Dependencies
- None; can be picked up independently.
Testing plan
- Mocked gateway tests; one manual cross-profile check.
Part of #43. Ground rules for the content layer: no secrets in the repo, content-layer failures must never block or discard quantum execution, and tests and docs ship with every PR.
- Langage dominant
- Python
- Étoiles
- 2
- Forks
- 4
- Merge moyen
- 5 h 19 min
- PR mergées (30 j)
- 11
Préparer son environnement
- Fournit un Dockerfile ou un fichier Docker Compose
- Aucun modèle de pull request
- Aucun 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 QMeshPy/distributed-quantum
-
enhancement good first issue helia storage tier-1
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
QMeshPy/distributed-quantum#53 ·
Les mainteneurs répondent en général sous 1 jour
-
chain-integration enhancement payments research-spike tier-2
Difficulté 4/5 3-5 jours Accessibilité débutants 55/100
QMeshPy/distributed-quantum#78 ·
Les mainteneurs répondent en général sous 1 jour
-
chain-integration enhancement payments research-spike tier-2
Difficulté 3/5 1-2 jours Accessibilité débutants 66/100
QMeshPy/distributed-quantum#77 ·
Les mainteneurs répondent en général sous 1 jour
-
chain-integration enhancement payments tier-2
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 35/100
QMeshPy/distributed-quantum#76 ·
Les mainteneurs répondent en général sous 1 jour
-
documentation good first issue kubo storage tier-1
Difficulté 2/5 1-3 heures Accessibilité débutants 42/100
QMeshPy/distributed-quantum#75 ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de QMeshPy/distributed-quantum
Issues similaires
-
Difficulté 2/5 1-3 heures Accessibilité débutants 67/100
MISP/misp-workbench#496 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 66/100
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 1/5 1-3 heures Accessibilité débutants 88/100
fossasia/visdom-dev#69 ·
Les mainteneurs répondent en général sous 3 jours
-
[Bug] Parameters named like a property break to_xcal()Peut-être pris @atharvasalunke1267 l’a pris aujourd’hui. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 65/100
collective/icalendar#2018 · 2 commentaires ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
Les mainteneurs répondent en général sous 1 jour