PINE64
GTK Rust mobile Linux client for Signal - Printable Version

+- PINE64 (https://forum.pine64.org)
+-- Forum: PinePhone (https://forum.pine64.org/forumdisplay.php?fid=120)
+--- Forum: PinePhone Software (https://forum.pine64.org/forumdisplay.php?fid=121)
+--- Thread: GTK Rust mobile Linux client for Signal (/showthread.php?tid=13610)

Pages: 1 2


RE: GTK Rust mobile Linux client for Signal - alexandre - 04-15-2021

Thanks for making things better (especially with skills I dont have !).

As you're thinking of the «design», could i suggest to make such app decoupling the UI from the rest which could run as a «daemon». You write one daemon, and then people write their UI to interact with (with Qt or GTK or whatever). One could also imagine that when the phone is on the local network, other authorized computers could interact with that daemon. I dont know how much complex/difficult these things are but I think it could be a great feature (i'm a big fan of MPD and I also always regret that when you switch from gnome/phosh to plasma you realize that there is so few common stuff (contacts, call/sms history (even ModemManager vs ofono) are separted…) despite the efforts made on freedesktop.org…).

I guess every such app would implement the same functionalities (connect, identify, receive, send, share status/files, manage contacts…), so write them once Wink

Good work anyway !

alex


RE: GTK Rust mobile Linux client for Signal - Be. - 04-15-2021

(04-15-2021, 01:25 AM)alexandre Wrote: Thanks for making things better (especially with skills I dont have !).

As you're thinking of the «design», could i suggest to make such app decoupling the UI from the rest which could run as a «daemon». You write one daemon, and then people write their UI to interact with (with Qt or GTK or whatever). One could also imagine that when the phone is on the local network, other authorized computers could interact with that daemon. I dont know how much complex/difficult these things are but I think it could be a great feature (i'm a big fan of MPD and I also always regret that when you switch from gnome/phosh to plasma you realize that there is so few common stuff (contacts, call/sms history (even ModemManager vs ofono) are separted…) despite the efforts made on freedesktop.org…).

I guess every such app would implement the same functionalities (connect, identify, receive, send, share status/files, manage contacts…), so write them once Wink

Good work anyway !

alex
Yes we're thinking of how to decouple the application logic from the GUI frontend so people could write separate clients and we can collaborate on one backend library.


RE: GTK Rust mobile Linux client for Signal - eFqLLnGo - 04-28-2021

I am not really a dev so this is an honest question :

if the issue with axolotl is that it uses its own implementation in go, and signal just released a great rust library. Isn't the best choice to contribute (or fork) to axolotl by switching from the go implementation to the rust library?

Otherwise this really feels like a waste to have to redo a new GUI etc. Reinventing the wheel.


RE: GTK Rust mobile Linux client for Signal - Be. - 04-28-2021

(04-28-2021, 08:23 AM)eFqLLnGo Wrote: I am not really a dev so this is an honest question :

if the issue with axolotl is that it uses its own implementation in go, and signal just released a great rust library. Isn't the best choice to contribute (or fork) to axolotl by switching from the go implementation to the rust library?

Otherwise this really feels like a waste to have to redo a new GUI etc. Reinventing the wheel.
I don't know Go and I'm not especially interested in learning it. I have not looked very deep into the Axolotl code but it's IMO a rather strange architecture that I'm personally not very enthusiastic about working with. The Signal protocol code in Axolotl is a completely independent implementation in Go which is wrapped in a WebSocket that communicates with a Vue.js frontend running in QWebEngine. I also don't know Vue.js and I'm not particularly interested in learning web stuff. Whisperfish is written in Rust with a QML GUI, which are both technologies I have been wanting to learn for a while. Whisperfish has been using the libsignal-protocol-c library with their own Rust bindings, which is better than a complete reimplementation. The transition to the new upstream Rust library is almost done. Most of the work to get Whisperfish running on PinePhones will be adapting the QML to use either the proprietary Sailfish QML libraries or KDE's Kirigami QML library. Fortunately there are a few other applications like PureMaps which have already done this so we'll be reusing code from that.


RE: GTK Rust mobile Linux client for Signal - sativista - 11-11-2021

Hi Be., how are you?

Man, I've been looking this post here and have gone in WF's gitlab reps, and could see that you already have been working there.
How is the status of your plans?

I have some programming skills but I'm not Qt, Kirigami, QML, C++, Rust, skilled one. I've been working with Java in the last years.
I'm interested in learning these programming languages/apis/libs but I'm very stagnated, could you point me in the right direction?
I'm eagerly to help this project, maybe I could be helpful.