keybase / keybase-issues

A single repo for managing publicly recognized issues with the keybase client, installer, and website.
900 stars 37 forks source link

KBFS: Mac OS keybase fs mkdir error #3087

Open Zuline opened 7 years ago

Zuline commented 7 years ago

Using

keybase fs mkdir pelorus32,anotheruser

inside my Private directory, keybase throws the following error:

▶ ERROR Cannot use empty name for BlockRef{id: 01c3cblahblah}

But it creates the directory.

Is the directory that's been created a "functioning" and safe directory to use or is there a problem? What's the error about?

strib commented 7 years ago

I think the api is probably expecting something after the folder name. Normally the folders are treated as if they exist, and don't need to be explicitly made. By running it, you just made it show up in your list of folders. I think it's safe and functioning. In the future, I think you can just use the API to create stuff inside those top-level folders.

strib commented 7 years ago

(But we should fix that error message.)

Zuline commented 7 years ago

Normally the folders are treated as if they exist, and don't need to be explicitly made.

I think that's the bit that is a little confusing. As I had an existing chat going, that folder implicitly existed?

What about if I want to use an assertion with a (currently) non-keybase user such as creating a folder pelorus32,some-non-user so that that user can later create an account and locate and access the contents of that folder? That folder can't implicitly exist without keybase knowing about the user.

strib commented 7 years ago

I think that's the bit that is a little confusing. As I had an existing chat going, that folder implicitly existed?

All possible folders implicitly exist. You can just cd into them, and they will automatically appear. That doesn't mean there's anything in them or that there's any record of them on our servers, it just means they are created on-demand when you access them for the first time, so you don't have to create them explicitly.

What about if I want to use an assertion with a (currently) non-keybase user such as creating a folder pelorus32,some-non-user so that that user can later create an account and locate and access the contents of that folder? That folder can't implicitly exist without keybase knowing about the user.

Yep, that works fine too, just as above.

Zuline commented 7 years ago

Thanks @strib I'm still struggling.

Yep, that works fine too, just as above.

So the issue is that if I try that with some future possible folder simply using a Mac OS FS cd it fails with:

-bash: cd: pelorus32,some-future-user: No such file or directory

The Keybase CLI help doesn't list a CD command and one doesn't seem to exist when I try to use it. So at the moment I don't know how to "just cd into the folder" as suggested below.

All possible folders implicitly exist. You can just cd into them, and they will automatically appear.

strib commented 7 years ago

Sorry for not being clear. I was assuming you have the Keybase file system integration installed (you can check the Folders tab in the Keybase GUI if you're not sure, and install it if needed). Then you can do something like cd /keybase/private/pelorus32,some-other-user and just start putting files in that directory through normal file system commands, without needing to use keybase fs at all.

strib commented 7 years ago

More details here: https://keybase.io/docs/kbfs

Zuline commented 7 years ago

Sorry for not being clear. I was assuming you have the Keybase file system integration installed (you can check the Folders tab in the Keybase GUI if you're not sure, and install it if needed).

If by that you mean "Show keybase folders in Finder" or something similar...yes that's set. Otherwise I don't know how to install the KBFS integration. I see no other GUI setting to do that.

Then you can do something like cd /keybase/private/pelorus32,some-other-user and just start putting files in that directory through normal file system commands, without needing to use keybase fs at all.

So this is where it still goes astray:

Mikes-MacBook-Pro:~ pelorus32$ cd /keybase/private/pelorus32,some-unkown-user

-bash: cd: /keybase/private/pelorus32,some-unkown-user: No such file or directory Mikes-MacBook-Pro:~ pelorus32$

Am I missing something here?

Zuline commented 7 years ago

And if I substitute open for cd as per the docs I get:

The file /keybase/private/pelorus32,some-unkown-user does not exist.

strib commented 7 years ago

Does some-unknown-user have the form of user@service, like "beyonce@twitter" or something like that? It doesn't work if it's just a plain keybase username.

If you want to do a keybase log send and report the resulting ID here, I can take a look.

Zuline commented 7 years ago

That explains it all!! It might be my reading or it might not be clear in the docs. Thanks for the clarification.

Does some-unknown-user have the form of user@service, like "beyonce@twitter" or something like that? It doesn't work if it's just a plain keybase username.