hoehermann / purple-signal

Pidgin/libpurple plugin for signal using libsignal-service-java (and parts of signal-cli).
GNU General Public License v3.0
24 stars 3 forks source link

Plugin is "hard linked" to signal-cli 0.8.0 #8

Open radasbona opened 2 years ago

radasbona commented 2 years ago

Hi, it seems the version 0.8.0 of signal-cli stopped working. I can't even send messages any more. So i downloaded a new cli version - 0.9.2.

But a get this error at plugin activating: "Directory '/opt/signal-cli-0.9.2/lib' contained no signal-cli-0.8.0.jar."

I tried a softlink and get this error: java.lang.NoClassDefFoundError: org/whispersystems/signalservice/api/SignalServiceProtocolStore

hoehermann commented 2 years ago

Indeed, this plug in is coupled very tightly to a specific signal-cli version. This had not been a problem when I updated the code-base on a monthly basis. However, recent changes sucked the fun out of maintaining the plug-in.

This plug-in essentially is a C/C++ wrapper around the (official) Java implementation libsignal-service-java. However, Signal itself is moving away from their own reference implementation. They now favour libsignal-client, which implements the same functionality in Rust. So now I have a C wrapper around a Java compatibility layer around a Rust binary which is hard to build. Everything is moving in different directions and nothing is stable. Oh and nodejs seems to be involved at some point. I do not like any of that.

What once was a fun project now has become a chore. I fail to find the motivation to keep working on either of my plug-ins. :( Maybe someone else wants to pick this up.

radasbona commented 2 years ago

Yes, I have already read that at the signald plugin. I thought that was in favor of this plugin.

Well, if coding is not fun, there is no point. That's so...

hoehermann commented 2 years ago

The point of this plug-in was eliminating the need for signald. I hoped it would reduce the amount of maintenance required and offer compatibility with Windows at the same time. Unfortunately, I achieved neither. :(