Open MartinDelille opened 6 years ago
@kaimast I ping you because I found this comment: https://github.com/signalapp/Signal-Desktop/issues/2178#issuecomment-381681485
I'm willing to help but only have limited time available.
Awesome! What are your super power?
I'm currently discovering how to link a C++ model to QML thanks to this tutorial so I have some code to push.
Hi,
I was linked here by another user on the signal forums. I too am interested in developing a signal client in Qt/QML, however I'm a python and js dev. Using Cython it should be possible to bind to https://github.com/signalapp/libsignal-protocol-c
I just started learning Qt and QML. I possess no special abilities. I just like getting things to work properly.
If you're open to working with python, we could collaborate.
Cheers
What about you, @Drako? Is this something for you?
Hi @MartinDelille @kaimast @LoveIsGrief, I am trying to organize people interested in a working on a native adaptive Linux Signal client using the new Rust libraries from the Signal Foundation. I have started discussions on the Pine64 and Signal forums. The barebones code in this repository might serve as a useful starting point, or maybe we should start over from scratch. I just ordered a PinePhone and it seems Signal will be the only thing keeping me tied to Android for my daily driver, so I'm interested in moving this forward. I may not be able to spend much time on development myself, but currently I am trying to organize people, come up with a plan for the technical architecture, and a development roadmap.
I am also quite busy these days, but have a decent amount of experience with Rust and will try to help as much as possible.
I have been discussing this in the Plasma Mobile Matrix room. They suggested creating a QObject wrapper running in its own thread to handle the networking and interface with the Rust libraries using cxx and use Qt signals & slots to communicate with QAbstractItemModels backing the QML.
I think whether we go with Qt or GTK will depend on the skills of whoever steps up to do the work. GTK has the advantage of Rust bindings so the upstream Signal libraries could be used without the complexity of mixing languages, but I've never developed with GTK myself. I'm personally familiar with Qt and maintain an old Qt application which uses QWidgets currently, but we're planning to move to Qt Quick and incorporate Rust going forward so if this Signal client uses Qt I could reuse those skills for Mixxx.
I initialized a repository on KDE's GitLab server. If you're interested in helping, join the #plasmamobile:kde.org Matrix room.
I also never had time to go further into this project. The barebone of this application is from the QML chat tutorial.
So it seems development has moved to WhisperFish a SailsFish Signal client. From what I can read, it seems like there's work to do to get it to build on desktop first.
Yes there is work to do to decouple WhisperFish from Sailfish OS. Desktop use is not the primary motivation for this project; Linux smartphones are. But it will work on desktop Linux too!
I will tag here people who may show interest for the project. Feel free to present how you could help this project going on or unsubscribe if you don't want to be bothered by notification.