ipfs-webui icon indicating copy to clipboard operation
ipfs-webui copied to clipboard

Show what happens when trying to load a remote CID

Open momack2 opened this issue 4 years ago • 3 comments

Describe the bug Tried to view a CID that's stored on pinata - loaded forever and the rest of the screen became unclickable / frozen - had to quit the app

To Reproduce Steps to reproduce the behavior:

  1. Search CID in the address bar
  2. see ipfs loading logo
  3. try to click on anything else on the screen
  4. See error

Expected behavior Does not freeze, able to navigate away

Screenshots Screen Shot 2021-05-19 at 4 41 42 PM

Desktop (please complete the following information):

  • OS: macOS catalina
  • Browser chrome
  • Version 89.0.4389.114

momack2 avatar May 20 '21 05:05 momack2

Notes from triage:

  • ipfs-webui should be smarter about content that is not in local datastore
  • if it is not in local cache, show new page for "looking for content"
    • details TBD, rough ideas:
      • always show "cancel" option (js-ipfs-http-client now supports AbortSignal)
      • > 5s provide information that content is not present on local node and is being loooked for
        • bonus: we could visualize the DHT walk – see https://github.com/ipfs/ipfs-webui/issues/1843
      • >ns "taking longer than expected, would you like to manually connect to peer" + input
  • see if we can proactively detect CIDs "broken by a typo (https://github.com/ipfs/ipfs-webui/issues/1739#issuecomment-850438099)

lidel avatar May 21 '21 13:05 lidel

Related prior art for visualizing the DHT lookup:

  1. http://research.protocol.ai.ipns.localhost:8080/blog/2021/a-visualization-tool-for-the-ipfs-dht/
  2. https://github.com/dwarkeshsp/ipfs-globe/

lidel avatar Jan 10 '22 14:01 lidel

We don't have bandwidth for this specific issue right now, but this kind of visibility into network operations would be very useful (e.g. for this IPNS issue)

This information isn't offered by the current RPC API, but we definitely want to expose this in Helia. After that's done, we can expose the info in a GUI.

For visibility, here's the GUI roadmap.

TinyTb avatar Jan 03 '23 16:01 TinyTb