diff --git a/hosts/common/programs/flare-signal.nix b/hosts/common/programs/flare-signal.nix index f39595f1..4632568d 100644 --- a/hosts/common/programs/flare-signal.nix +++ b/hosts/common/programs/flare-signal.nix @@ -1,16 +1,39 @@ # Flare is a 3rd-party GTK4 Signal app. # UI is effectively a clone of Fractal. +# # compatibility: # - desko: works fine. pairs, and exchanges contact list (but not message history) with the paired device. exchanges future messages fine. # - moby (cross compiled flare-signal-nixified): nope. it pairs, but can only *receive* messages and never *send* them. # - even `rsync`ing the data and keyrings from desko -> moby, still fails in that same manner. # - console shows error messages. quite possibly an endianness mismatch somewhere # - moby (partially-emulated flare-signal): works! pairs and can send/receive messages, same as desko. +# +# error signatures (to reset, run `sane-wipe-fractal`): +# - upon sending a message, the other side receives it, but Signal desktop gets "A message from Colin could not be delivered" and the local CLI shows: +# ``` +# ERROR libsignal_service::websocket] SignalWebSocket: Websocket error: SignalWebSocket: end of application request stream; socket closing +# ERROR presage::manager] Error opening envelope: ProtobufDecodeError(DecodeError { description: "invalid tag value: 0", stack: [("Content", "data_message")] }), message will be skipped! +# ERROR presage::manager] Error opening envelope: ProtobufDecodeError(DecodeError { description: "invalid tag value: 0", stack: [("Content", "data_message")] }), message will be skipped! +# ``` +# - this occurs on moby, desko, `flare-signal` and `flare-signal-nixified` +# - the Websocket error seems to be unrelated, occurs during normal/good operation +# - related issues: +# error when sending from Flare to other Flare device: +# - ``` +# ERROR libsignal_protocol::session_cipher] Message from .3 failed to decrypt; sender ratchet public key message counter 1 +# No current session +# ERROR presage::manager] Error opening envelope: SignalProtocolError(InvalidKyberPreKeyId), message will be skipped! +# ``` +# - but signal iOS will still read it. +# +# well, seems to have unpredictable errors particularly when being used on multiple devices. +# desktop _seems_ more reliable than on mobile, but not confident. + { pkgs, ... }: { sane.programs.flare-signal = { - # package = pkgs.flare-signal-nixified; - package = pkgs.flare-signal; + package = pkgs.flare-signal-nixified; + # package = pkgs.flare-signal; persist.private = [ # everything: conf, state, files, all opaque ".local/share/flare" diff --git a/hosts/modules/gui/default.nix b/hosts/modules/gui/default.nix index ea070e42..70692c44 100644 --- a/hosts/modules/gui/default.nix +++ b/hosts/modules/gui/default.nix @@ -28,7 +28,7 @@ "epiphany" # gnome's web browser "evince" # works on phosh "firefox" - "flare-signal" # gtk4 signal client + # "flare-signal" # gtk4 signal client # "foliate" # e-book reader "fractal" # matrix client "g4music" # local music player