Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Pinning should have a progress bar #2386

Open
ShadowJonathan opened this issue Jan 26, 2023 · 7 comments
Open

Pinning should have a progress bar #2386

ShadowJonathan opened this issue Jan 26, 2023 · 7 comments
Labels
kind/discussion Topical discussion; usually not changes to codebase P2 Medium: Good to have, but can wait until someone steps up

Comments

@ShadowJonathan
Copy link

This is vaguely related to #2385, in terms of bettering the pinning UX

When I'm pinning something in IPFS, im throwing the CID at a black box, which stays silent until it has completed, which can take anywhere from a few seconds to a few months, depending on circumstances.

Kubo's CLI at least makes this a bit more transparent, by providing a --progress flag that one can pass to know how many nodes/blocks have been enumerated. One could check on this to see if it has made any "more" progress.

However, what I think IPFS Desktop needs is a "Blocks Downloaded / Blocks Known" progress bar, one that communicates 1. how many blocks it knows about, this can come from unixfs blocks that point to other CIDs, but those CIDs might not have been downloaded yet, and 2. how many of those blocks are actually downloaded.

Downloading blocks will beget other blocks, in a tree fashion, and the complete status of the pin cannot be known until all blocks have been downloaded.

However, a user would still like to see a progress bar on the pin, to know when it has stalled, how much has been downloaded, and how far "along" it is.

@whizzzkid
Copy link
Contributor

whizzzkid commented Feb 2, 2023

Thanks @ShadowJonathan we can actually discuss this in #2385 (Ask 1), we can close this issue unless you feel strongly this should be something separate.

@whizzzkid whizzzkid added need/author-input Needs input from the original author and removed need/triage Needs initial labeling and prioritization labels Feb 2, 2023
@ShadowJonathan
Copy link
Author

ShadowJonathan commented Feb 2, 2023

@whizzzkid I originally included it in that issue, but I felt else it would become unwieldy and too large to break down, or id be asked to break it down anyways, thus the separate issue.

Edit: and yes, I want this to be a seperate track of progress, I believe this feature would help IPFS a lot more, though a lot of fundamental changes to kubo are needed to make it visible for IPFS-desktop to visualise it

@ShadowJonathan
Copy link
Author

I've responded to #2385, I believe this issue is more about the progress bar, while i believe #2385 Ask 1 is more about a comprehensive overview of the pin queue, I want to divide these feature requests along that line, so that effort and focus on this issue does not get muddied with that Ask.

@ShadowJonathan
Copy link
Author

On Kubo's side, this progress bar can be enhanced and made more "accurate" (and not progressively "expanded" in front of the user's eyes, looking like the downloading will never end) by having bitswap prioritise non-leaf nodes to send to a user, when it announces that want-list.

Additionally, an expansion to bitswap can take place that asks nodes if they have particular CID pinned, and if they do, request all non-leaf nodes of that CID all at once. This way, kubo is left with all but the leaf nodes, which are usually the largest, and so now it can start requesting those specifically all around, instead of continually discovering nodes that point to others.

@github-actions
Copy link
Contributor

github-actions bot commented Feb 9, 2023

Oops, seems like we needed more information for this issue, please comment with more details or this issue will be closed in 7 days.

@ShadowJonathan
Copy link
Author

I have given it more information, I'm waiting for @whizzzkid

@whizzzkid whizzzkid added status/duplicate A question or request for support kind/discussion Topical discussion; usually not changes to codebase and removed need/author-input Needs input from the original author kind/stale labels Feb 9, 2023
@whizzzkid
Copy link
Contributor

Thanks @ShadowJonathan, this will be eventually covered in #2385, the bot just sends out generic messages based on the labels. It should not bug you, w.e'll continue discussion on the parent issue.

@SgtPooki SgtPooki added P2 Medium: Good to have, but can wait until someone steps up and removed status/duplicate A question or request for support labels Oct 31, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/discussion Topical discussion; usually not changes to codebase P2 Medium: Good to have, but can wait until someone steps up
Projects
No open projects
Status: Needs Prep Work / Blocked
Development

No branches or pull requests

3 participants