Skip to content
This repository has been archived by the owner on Feb 12, 2024. It is now read-only.

Docs navigation is very confusing #3261

Closed
ghost opened this issue Sep 2, 2020 · 6 comments
Closed

Docs navigation is very confusing #3261

ghost opened this issue Sep 2, 2020 · 6 comments
Assignees
Labels
kind/resolved-in-helia status/blocked Unable to be worked further until needs are met status/ready Ready to be worked topic/docs Documentation

Comments

@ghost
Copy link

ghost commented Sep 2, 2020

The docs navigation is very confusing. The examples show the Ipfs module, but there's no obvious way to know where the docs for this are. Turns out it's on this page https://github.com/ipfs/js-ipfs/blob/master/packages/ipfs/docs/MODULE.md but there's no obvious link to this page from the front page. MODULE is not a descriptive enough name for someone familiar with the JS ecosystem to know it means the Ipfs constructor.

Now from that MODULE page, I can see that it creates a node instance, but no obvious link to the documentation of this instance. It kind of implies to go to this page https://github.com/ipfs/js-ipfs/tree/master/docs/core-api, which turns out is what a node is, but that was not obvious to me, and I have to click each page to see what's available.

A more reader friendly way to do docs would have every single API on a single page with table of content. Kind of like this https://github.com/puppeteer/puppeteer/blob/v5.2.1/docs/api.md

Also, none of the APIs have events listed. Is there no events available?

@ghost ghost added the need/triage Needs initial labeling and prioritization label Sep 2, 2020
@welcome
Copy link

welcome bot commented Sep 2, 2020

Thank you for submitting your first issue to this repository! A maintainer will be here shortly to triage and review.
In the meantime, please double-check that you have provided all the necessary information to make this process easy! Any information that can help save additional round trips is useful! We currently aim to give initial feedback within two business days. If this does not happen, feel free to leave a comment.
Please keep an eye on how this issue will be labeled, as labels give an overview of priorities, assignments and additional actions requested by the maintainers:

  • "Priority" labels will show how urgent this is for the team.
  • "Status" labels will show if this is ready to be worked on, blocked, or in progress.
  • "Need" labels will indicate if additional input or analysis is required.

Finally, remember to use https://discuss.ipfs.io if you just need general support.

@Gozala Gozala self-assigned this Sep 3, 2020
@Velua
Copy link

Velua commented Sep 6, 2020

As a newcomer, I had no clue what I was doing till finding this issue. So can back this claim.

@achingbrain achingbrain added status/ready Ready to be worked topic/docs Documentation and removed need/triage Needs initial labeling and prioritization labels Sep 7, 2020
@achingbrain
Copy link
Member

This is useful feedback, thanks. We can certainly take a look at making the docs easier to follow, and having some of it buried under /packages/ipfs and some of it under /docs is a bit confusing so I think certainly bringing everything under /docs is a good start.

Also, none of the APIs have events listed. Is there no events available?

The node returned from IPFS.create() is not an event emitter, nor are instances of the ipfs-http-client, mostly because go-ipfs doesn't present any mechanism for receiving events via the HTTP RPC API so having that be part of the core-api would be difficult without adding real-time events to go-ipfs.

I'd like to see more real-time feedback in js-ipfs though, what events were you expecting?

@ghost
Copy link
Author

ghost commented Sep 7, 2020

I'd like to see more real-time feedback in js-ipfs though, what events were you expecting?

I haven't used IPFS much, I just wanted to test it, and try to understand how it works under the hood. For example I wanted to log whenever a peer connects, whenever I send/receive messages to a peer, what this message is, etc. So I wasn't looking for a particular event that wasn't there.

I also wanted to use webRTC specifically to test and not an http provider. I still haven't been able to achieve that yet in the few hours I've tried.

My goal would be to make some browser p2p app that only uses webRTC transport, and also shows statistics about the peers, like how many are connected, how much data sent/received, what country they are from, etc. Not sure if that's possible.

@Gozala Gozala added the status/blocked Unable to be worked further until needs are met label Oct 8, 2020
@Gozala
Copy link
Contributor

Gozala commented Oct 8, 2020

Current plan is to add jsdoc comments into js-ipfs #3281 repos, finish up changes to aegir ipfs/aegir#568 that would allow us to generate docs from that. And then iterate over improvements to documentation. If anyone is interested in helping moving any of the pieces to get there, help would be appreciated.

I'll post updates here as things progress.

@whizzzkid
Copy link

whizzzkid commented May 31, 2023

js-ipfs is being deprecated in favor of Helia. You can follow the migration plan here #4336 and read the migration guide.

This issue has been resolved in Helia! if this does not address your concern please let us know by reopening this issue before 2023-06-05!

@github-project-automation github-project-automation bot moved this from 🛑 Blocked to ✅ Done in js-ipfs deprecation May 31, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
kind/resolved-in-helia status/blocked Unable to be worked further until needs are met status/ready Ready to be worked topic/docs Documentation
Projects
No open projects
Status: Done
Development

No branches or pull requests

4 participants