keybase / client

Keybase Go Library, Client, Service, OS X, iOS, Android, Electron
BSD 3-Clause "New" or "Revised" License
8.91k stars 1.23k forks source link

Firefox extension can't reach installed Keybase client on Fedora #8754

Closed xavrb closed 6 years ago

xavrb commented 7 years ago

To my knowledge, Firefox extension must connect automatically with the installed client, but in this case it doesn't -- it always shows a blue button that asks for me to install the kb client. This is from the Firefox menu and the button on social media. Tried restarting the browser and system (Fedora).

Keybase client version throws: Client: 1.0.31-20170917003451+ed4bf6a71

Firefox extension is 1.10.6

PhML commented 6 years ago

Same troubles here: keybase version 1.0.33 Archlinux Mozilla Firefox 57.0 Chromium 62.0.3202.94 Keybase Extension 1.10.6

Duplicate of #8061 ?

jaredsmith commented 6 years ago

I'm seeing the same thing, and as a former Fedora Project Leader, I'd love to help get this solved.

maxtaco commented 6 years ago

Thanks for the report!

cc: @oconnor663

jaredsmith commented 6 years ago

For what it's worth, I'm using:

Fedora Rawhide (what will become Fedora 28) Mozilla Firefox 57.0.4 Keybase Extension 1.10.6 Keybase client 1.0.39-20180105173612+2c509d789

oconnor663 commented 6 years ago

@PhML it looks like your version of Keybase is super out of date. Could you repeat the install instructions here: https://keybase.io/docs/the_app/install_linux. I run Gnome Shell on Arch, and I find that the Firefox extension works when aur/keybase-bin is installed.

oconnor663 commented 6 years ago

@jaredsmith I have a repro on a Rawhide VM on my end. Will keep playing with it to see what's up.

oconnor663 commented 6 years ago

Ok, it looks like the problem is that we install /usr/lib/mozilla/native-messaging-hosts/io.keybase.kbnm.json, but Firefox 57 on Fedora Rawhide only looks in /usr/lib64/mozilla/native-messaging-hosts. If you link the latter to the former and restart Firefox, it seems to make the extension start working.

I notice that on Arch, /usr/lib64 is just a symlink to /usr/lib. So whatever the underlying rule is for where Firefox is going to look, that's probably why I never saw an issue.

oconnor663 commented 6 years ago

This page suggests that /usr/share/mozilla/native-messaging-hosts might also work, but it didn't seem to work for me. It would be easy to add both lib and lib64 to the package, but I'm worried about a weird interaction if we try to package two filepaths that might end up referring to the same path on some systems. @jaredsmith do you have any suggestions?

jaredsmith commented 6 years ago

I was hoping that /usr/share/mozilla/native-messaging-hosts would work since that's the proper location for shared extensions that don't depend on any arch-specific code.

On Fedora, the next best location would be /usr/lib64/mozilla/native-messaging-hosts/<name>.json on a 64-bit host, and /usr/lib/mozilla/native-messaging-hosts/<name>.json on a 32-bit host.

oconnor663 commented 6 years ago

@jaredsmith could you please help me test this after our next build goes out? Probably tomorrow around noon.

jaredsmith commented 6 years ago

Absolutely 😁

jaredsmith commented 6 years ago

Seems to be working great. Thanks @oconnor663