Skip to content
This repository has been archived by the owner on May 27, 2019. It is now read-only.

Error "Native host has exited" since 2.0.12 --> update host app! #218

Closed
maximbaz opened this issue Mar 18, 2018 · 12 comments
Closed

Error "Native host has exited" since 2.0.12 --> update host app! #218

maximbaz opened this issue Mar 18, 2018 · 12 comments

Comments

@maximbaz
Copy link
Member

2.0.12 introduced a breaking change, browser extension is not compatible with previous versions of the host app. Sorry for the inconvenience, please upgrade the host app 🙂

It is generally expected that users keep the versions in sync, but since browser extension auto-updates, such a breaking change will come as a surprise.

@raxod502
Copy link

How about making the browser extension check the version of the host app, and display an error message

Host app is out of date (version 2.0.11), please install version 2.0.12

rather than

Native host has exited

? Although it's still not ideal that the auto-updates cause breakage, I think this would eliminate any confusion.

@maximbaz
Copy link
Member Author

Good idea, reporting meaningful errors is in general something I want very much (#164), however it's not trivial to implement 😞

On the other hand you inspired me with #219, this should be a relatively cheap way to notify users of major changes.

@erayd
Copy link
Contributor

erayd commented Mar 19, 2018

@maximbaz

Good idea, reporting meaningful errors is in general something I want very much (#164), however it's not trivial to implement.
On the other hand you inspired me with #219, this should be a relatively cheap way to notify users of major changes

I'm concerned that #219 isn't sufficient - many users will just close the notification without reading it. It makes more sense IMO to provide a relevant message at the point the user just experienced something go wrong, when they're more likely to pay attention to such things.

Why not have the host app support a 'get version' call. That way, if you get an error, you can check the version of the host app in the error handling code. If it's a version mismatch causing the problem, then you can tell the user that, without needing to solve #164. This would have avoided the confusion caused by the 2.0.12 release.

Once #164 is sorted at some later date, you can change this behavior as needed.

@maximbaz
Copy link
Member Author

maximbaz commented Mar 19, 2018

I'm not saying that this is a bad idea (and I'm adding this entire idea to #164), but keep in mind that breaking changes are a rare event - this is the first one actually in the history of "community" version. In most cases, when a user experiences an issue, it is not because of the version mismatch.

P.S. it is also a bit tricky, because sometimes there are no changes to the host app and it is actually expected that a newer version of browser extension is working with an older version of the host app. For example, v2.0.10 and v2.0.11 did not have any changes to the host app and were working fine with v2.0.9 of the host app.

@tiramiseb
Copy link

Hello,

My two cents : you may implement a "protocol version" which would evolve independently. So v2.0.9 to v2.0.11 would use the same "protocol version", but 2.0.12 would use a different "protocol version"...

@tiramiseb
Copy link

tiramiseb commented Mar 20, 2018

Regarding update of the host app, keep in mind that some people use the distribution's version, which could be a few days late. So I think a comprehensive warning is important.
... maybe even some place in the code where the distribution maintainer could change a default notice, like changing "please update the host app version" to "please upgrade the Debian package", so that you are not bothered with such problems.

I'm using NixOS and first I wondered if I had a problem like #175, then after searching I realized it was not related to NixOS directly...
Yes, I could have checked https://github.com/dannyvankooten/browserpass/issues first. But we are not logical everyday, we are humans ;)

Oh, and by the way : you could also implement a fallback, where such a problem would trigger a "legacy" code, using the previous protocol version. But I completely understand how it can be difficult, I already tried (and failed) to do so on another project, years ago...

@Cogitri
Copy link

Cogitri commented Mar 22, 2018

Sorry if I missed something about your versioning policy, but I feel like version x introduced a breaking change should result in at least the micro version to be increased, as of sematic versioning

@maximbaz
Copy link
Member Author

Very good point, I should have done that...

@razic
Copy link

razic commented Apr 13, 2019

tips for windows users:

  • if you don't have permission to save the json files, try opening notepad as an administrator first, then open the file. there was no option to open the json file in notepad as administrator from the right click menu on the json file itself.

  • after installation, if you still see the "native host not found" message you may have forgotten to escape your backslashes. in json, backslashes are interpreted as escape sequences. tldr;

change

C:\Program Files\Browserpass\browserpass-windows64.exe

to

C:\\Program Files\\Browserpass\\browserpass-windows64.exe

i would say this should be pointed out better in the readme, but ideally the entire installation process on windows would be on par with the rest of the oses in terms of automation. at some point it might be cool to have gui installers for the native hosts.;

@maximbaz finally my only gripe ui wise so far is the white border on the top and bottom, which are not even the same width... really irks me every time i open it. the borders on the side look great, but would be nice to be consistent here.

image

@maximbaz
Copy link
Member Author

Thanks @razic, I have included your hints in the README: browserpass/browserpass-native@6d5b5d5

I agree that an automated installation would be very nice to have, but since no maintainer uses Windows, there's nobody to work on this. A community help is very welcome, if someone wants to help, create a new issue in browserpass-native and we will discuss details!

Wow these white borders is definitely something I have not seen yet, I will try to figure out what we can do about them.

@maximbaz
Copy link
Member Author

@razic quick googling shows that many extensions suffer the same fate on Windows, however turns out in the next version of Chrome this has been fixed! See the link below, it also links to pre-compiled binaries for Chromium 74 if you want to try now.

https://bugs.chromium.org/p/chromium/issues/detail?id=750419#c17

@razic
Copy link

razic commented Apr 13, 2019

@maximbaz lol not sure how this comment ended up on this thread, i totally meant to put it on the v3 feedback issue 🤦‍♂️ thanks for finding that border issue. chrome 74 is still beta so i'll wait until it they release the stable build. i'll deal with the borders for now ;p i opened browserpass/browserpass-native#48

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Development

No branches or pull requests

6 participants