keybase / keybase/client

[Feature Request/Refinement] kbfs caching refinements

Open
#13,042 6 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Go
Stars
9.2k
Forks
1.3k
Avg merge
12h 58m
Merged PRs (30d)
56

Description

Sort of a continuation of #12969 with kbfs related requests.

Currently looking to switch my pic/movie share folders from Dropbox to Keybase and set up my mom's computer with Keybase.

I just finished uploading to kbfs, and tried watching some movies from the file explorer on a second notebook.

These are all jpg and mov files taken by an iPhone 7 by the way.

movies <10MB were fine. Took a little longer to load than from disk, but after one play or so they were smooth (caching)

movies >50MB were stopping frequently to buffer regardless of how many times I played them start to finish.

movies >100MB or ones that were set to higher resolutions had a much more frequent buffer stoppage (understandable)

My mom's used to dropbox just downloading the whole file onto her disk while she's doing something else, and by the time she gets around to double clicking on it, it's already on her SSD and loads fast regardless of the size.

Request

I wonder if there would be a way to increase the disk cache size or make it so that this stuff doesn't bother her too much.

I wonder what combination of settings and tunings of fuse might help her use case without making her tell me every day "why don't we go back to Dropbox, it was so much faster."

Super simple fix:

allow for a full-sync mode similar to Dropbox that downloads everything. (this could be paid. we'd pay)

A little more tricky:

idk if there's a way to do this, but maybe create a file viewer in the desktop app where my mom could click a few thumbnails and add them to a queue that would silently download in the background, then she could watch them, and when the queue is idle for a while, shave it back down to the default cache by removing items on a FIFO order.

Another option (depends on taste)

Maybe just enable an option to have fuse halt on feeding any data until all is downloaded. So opening a 500MB movie to watch will take a looooong time to start, but it will never be buffered because it is all downloaded at the beginning.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing the KBFS caching behavior and the FUSE-related settings described in the issue, along with how the desktop app and file explorer access files. Compare the proposed full-sync, background download queue, and wait-until-downloaded modes. Done would mean selecting and implementing a defined caching behavior that prevents repeated movie buffering without an unspecified cache policy.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
desktop, operating-systems
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.