Skip to content

feat(vault): open any CID from a link or paste, with trustless-gateway fallback #54

Closed

Description

@Winter-Soren

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.

Activity

  1. added
    enhancementNew feature or request
    storageDecentralized storage and provenance
    heliaBrowser-side Helia / IPFS content layer
    tier-2Needs a new SDK, service or account model
    on Oct 21, 2026
  2. ishikabhoyar commented on Oct 22, 2026

    @ishikabhoyar
    Contributor

    @Winter-Soren I’d like to pick this up.

  3. Winter-Soren commented on Oct 22, 2026

    @Winter-Soren
    MemberAuthor

    4. @Winter-Soren I’d like to pick this up.

    Good luck!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

enhancementNew feature or requestheliaBrowser-side Helia / IPFS content layerstorageDecentralized storage and provenancetier-2Needs a new SDK, service or account model

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions