ipld-explorer-components icon indicating copy to clipboard operation
ipld-explorer-components copied to clipboard

Support Unixfs 1.5

Open lidel opened this issue 5 years ago • 2 comments

Explorer should show mtime and mode when present in dag-pb, to make it easy to spot difference in optional metadata.

Right now two CIDs can have the same files but different mtime/mode and Explorer does not show any hint what is different between them. We need to decide how to present those additional (optional/implicit) attributes.

Ref.

  • The IPLD Explorer UI lives in WebUI's explore tab and as a standalone website at: https://explore.ipld.io/#/explore/QmdmQXB2mzChmMeKY47C43LxUdg1NDJ5MWcKMKxDu7RgQm/
  • unixfs1.5 specs: https://github.com/ipfs/specs/pull/226
    • so far add with mtime and mode is only supported by js-ipfs: https://github.com/ipfs/js-ipfs/pull/2621
    • go-ipfs has an open bounty: https://github.com/ipfs/go-ipfs/issues/6920
  • An example of UX problem that we want to solve: https://discuss.ipfs.io/t/why-has-same-sub-cids-but-not-same-root-cid/8810/6?u=lidel

lidel avatar Sep 24 '20 14:09 lidel

@lidel i'm confused by the title vs the first line:

Explorer should show mtime and mode when present in dag-pb, to make it easy to spot difference in optional metadata.

Questions

  • are you just proposing adding mtime and mode for dag-pb for now?
  • What are the variations of metadata that can exist and where is a good source of truth for this?
    • https://ipfs.io/ipfs/QmXec1jjwzxWJoNbxQF5KffL8q6hFXm9QwUGaa3wKGk6dT/#title=Multicodecs&src=https://raw.githubusercontent.com/multiformats/multicodec/master/table.csv seems to be the source of truth for codecs themselves, but where are optional metadata defined?

Action items

  • find variations of metadata between different ipld codecs
  • it sounds like we need an additional section in the explorer to show these properties, and we should have @juliaxbow help us out with that once we know what optional metadata can be

SgtPooki avatar Sep 12 '22 21:09 SgtPooki

FYI that we're now using the latest version of ipfs-unixfs and should be able to do this more easily now.

js-unixfs seems to support mtime: https://github.com/search?q=repo%3Aipld%2Fjs-unixfs%20mtime&type=code

SgtPooki avatar Nov 29 '23 23:11 SgtPooki