Deserialization error: catch and provide suggestion
Feature description When a deserialization error of the protocol between the lorri daemon and a client occurs, lorri should output an error message suggesting that the versions of the daemon and the client may be different - this has been the reason for every bug report of this kind so far.
Target users Users of the NixOS lorri module are unlikely to run into this because the daemon and client both come from the same source. Users with other setups are more likely to have different versions of lorri running as daemon and client by accident.
Example failure where this would have helped: https://github.com/target/lorri/issues/284#issuecomment-591875787
The error currently thrown looks like this:
> lorri internal__stream_events
Mar 03 13:14:05.535 ERRO Varlink(src/com_target_lorri.rs:78: Varlink_Error
Caused by:
src/lib.rs:1128: MethodNotFound("com.target.lorri.Monitor"))
Tagging with the lorri version number could also be a solution.
In https://github.com/target/lorri/issues/284#issuecomment-591875787, the error (currently) thrown looked like this:
lorri[8342]: thread 'accept-loop' panicked at 'called `Result::unwrap()` on an `Err` value: Message(R(Deserialize(Custom("i
nvalid value: integer `1701651067`, expected variant index 0 <= i < 1"))))', src/libcore/result.rs:999:5