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

bug: Show indicator for indirect pins (within MFS breadcrumbs) #1736

Open
lidel opened this issue Mar 25, 2021 · 3 comments
Open

bug: Show indicator for indirect pins (within MFS breadcrumbs) #1736

lidel opened this issue Mar 25, 2021 · 3 comments
Labels
area/pinning Integrating pinning into GUI apps area/screen/files Issues related to Files screen kind/bug A bug in existing code (including security flaws) need/analysis Needs further analysis before proceeding need/maintainer-input Needs input from the current maintainer(s) P3 Low: Not priority right now topic/design-ux UX strategy, research, not solely visual design

Comments

@lidel
Copy link
Member

lidel commented Mar 25, 2021

Extracted from #1713

Problem

Right now user can't tell when a file is pinned indirectly (when file is not pinned, but its parent dir is).
This is especially problematic when MFS autopinning is enabled.
In that scenario, everything is pinned indirectly via MFS root CID, but that is not reflected in the Files interface in any way.

How to detect indirect pins?

We need to limit checks to MFS. Even if file is pinned indirectly via some CID that is not in MFS, we won't be able to show that.
In the context of WebUI, we should check if any level from breadcrumbs is pinned (locally or remotely) and update "Pin Status" column.

How to indicate indirect pins?

I believe this should be only indicate in "Pin Status" column on Files screen, and should be distinct enough, so people know that file is pinned via one of its parents.

  • We could display a faded cloud icon (30% etc) next to files that are pinned indirectly
  • .. or design a new icon for such files
  • ?

Would appreciate help / troughts / suggestions here. @jessicaschilling @rafaelramalho19

@lidel lidel added P3 Low: Not priority right now need/analysis Needs further analysis before proceeding need/community-input Needs input from the wider community area/pinning Integrating pinning into GUI apps labels Mar 25, 2021
@lidel lidel added this to the v2.12 milestone Mar 25, 2021
@jessicaschilling
Copy link
Contributor

I'd vote for the lower-opacity icon plus mouseover explanatory text. We experimented quite a bit with franken-icons in that column last year and none of them really worked ...

@redactedscribe
Copy link

It's a shame that something as useful as visually indicating if one of your files is pinned or not via an "old" folder recursive pin isn't yet implemented. It may be that I've not yet fully grasped IPFS, but the Web UI constantly gives me the impression that the GC will eat one of my files, because when I change a folder's contents, its CID will of course update too.

Say 1 new file was added to this folder. The pinned CID of the folder before this change happened still recursively pins all files except this 1 new file (I think). A pin of the folder's new CID is necessary to make sure the new file stays local and isn't removed. ipfs add automatically pins an added file, why not the UI's Import feature?

As far as I can tell, only pinning files is the best method if reliable visual feedback is desired (when you know the contents of a folder's files won't change but you still plan to add new files).

Is there not a way that, for example, when a folder's CID changes and the previous CID was recursive, automatically recursively pin the new CID? I'm not sure how much that would solve, but at least all new changes to the folder's contents would be automatically pinned.

I'd just like to be confident that anything I Import won't be mistakenly removed by GC.

@SgtPooki SgtPooki removed this from the v2.14 milestone Dec 5, 2022
@SgtPooki SgtPooki added area/screen/files Issues related to Files screen topic/design-ux UX strategy, research, not solely visual design need/analysis Needs further analysis before proceeding need/maintainer-input Needs input from the current maintainer(s) and removed need/analysis Needs further analysis before proceeding need/community-input Needs input from the wider community labels Dec 5, 2022
@SgtPooki
Copy link
Member

SgtPooki commented Dec 5, 2022

@redactedscribe I apologize that we still haven't addressed this issue for you. For context: the ipfs-desktop project lost some team members to another higher priority project a few years ago and only recently has been receiving the dedicated devs it requires.

Action items for dev (or community member!) who wants to make a PR for this:

  1. for each file we should check if any level from breadcrumbs is pinned (locally or remotely) and update "Pin Status" column.
    • If a user clicks into a pinned parent folder, we can assume the children listed within that parent are all pinned. We shouldn't need to check breadcrumb path for each child, as they all exist at that path (need to confirm this)
    • If the prior bullet point is true, we should probably display the regular "pinning status" icon at the breadcrumb level
  2. modify pinned status icon to represent child of parent pinned item
    • icon at 30% reduced opacity
    • tooltip on hover to allow users to discover more information about the parent of the items being pinned
  3. Allow users to pin child items directly
    • i.e. if a child is pinned via it's parent, changes to that parent pinning could result in changes to the old parent's children's pinning status (i.e. overriding a CID with childA with a CID that has childB will mean childA should get garbage collected). In this scenario, users may find a child important enough to ensure it's not garbage collected, regardless of the parent's updates.
    • We should follow Kubo practice for this.
    • If the child is pinned, but parent is removed or unpinned, how do we handle this?

@hacdias how does kubo handle item 3 currently?

@juliaxbow what do you think about the proposed UX updates?

@SgtPooki SgtPooki changed the title Show indicator for indirect pins (within MFS breadcrumbs) bug: Show indicator for indirect pins (within MFS breadcrumbs) Jul 3, 2023
@SgtPooki SgtPooki added the kind/bug A bug in existing code (including security flaws) label Jul 3, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/pinning Integrating pinning into GUI apps area/screen/files Issues related to Files screen kind/bug A bug in existing code (including security flaws) need/analysis Needs further analysis before proceeding need/maintainer-input Needs input from the current maintainer(s) P3 Low: Not priority right now topic/design-ux UX strategy, research, not solely visual design
Projects
No open projects
Status: Needs Prep Work / Blocked
Development

Successfully merging a pull request may close this issue.

4 participants