UBports Robot Logo UBports Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Search
    • Register
    • Login

    Livewire: A native XMPP client for Ubuntu Touch

    Scheduled Pinned Locked Moved App Development
    12 Posts 6 Posters 137 Views 2 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • P Offline
      projectmoon
      last edited by projectmoon

      Live discussion at: xmpp:livewire@conference.agnos.is?join

      For the past ~2 months, I have been hacking away at making a native XMPP client for Ubuntu Touch. When @brenno.almeida released Greenline, the opportunity was too good to pass up. There exists an XMPP client called Libervia (formerly known as Salut a Toi) that works as a background daemon, and thus could fit pretty much straight into the existing architecture of Greenline.

      Many experiments later, we now have Greenline but yellow the internals have been completely redone in an unholy abomination of Rust (of course) and Python (because Libervia is written in Python). It's a fully confined app that supports most modern XMPP basics, with a few features that still need to be implemented (e.g. reactions).

      The client is considered to be in alpha state, but is available on the OpenStore for testing. I consider it functional enough for daily use, but with rough edges. This thread is a discussion/support thread for the app. More specific bug reports should be filed at the git repository: https://git.agnos.is/projectmoon/livewire

      You can find it on the OpenStore. I expect a handful of updates in the next days/weeks to address the most glaring bugs, and then to work on proper push notification support, which will be its own interesting journey.

      Linus67L nbdynlN 2 Replies Last reply Reply Quote 4
      • Linus67L Offline
        Linus67 @projectmoon
        last edited by

        @projectmoon
        Greenline has ~ 30 MB
        Kaidan has 9 MB (XMPP Client in the OpenStore) Kaidan works great,

        Livewire has ~200 MB Why is Livewire such a heavyweight?

        Pixel 3a, works with NextCloud, pihole, Wireguard VPN, Trilium, GhostCloud, Paperless ngx...and a lot of great apps from the Open Store.
        Lenovo Tab M10 HD TB-X306X LTE

        P 1 Reply Last reply Reply Quote 0
        • P Offline
          projectmoon @Linus67
          last edited by projectmoon

          @Linus67 said:

          @projectmoon
          Greenline has ~ 30 MB
          Kaidan has 9 MB (XMPP Client in the OpenStore) Kaidan works great,

          Livewire has ~200 MB Why is Livewire such a heavyweight?

          Gotta shove all that Python somewhere. Could possibly be trimmed down. Maybe there are some unnecessary modules.

          Libervia was chosen because there is no complete XMPP solution in Rust yet. If there ever is one, I would probably switch to that to reduce the complexity. Possibly will also investigate using the QT XMPP library.

          Edit: Indeed 215 MB of the installation size is Python code.

          Linus67L 1 Reply Last reply Reply Quote 0
          • Linus67L Offline
            Linus67 @projectmoon
            last edited by

            @projectmoon Okay, all right. I installed the app, and it looks promising. This could turn out to be something really big. Especially with olmea encryption in all conversations.

            Pixel 3a, works with NextCloud, pihole, Wireguard VPN, Trilium, GhostCloud, Paperless ngx...and a lot of great apps from the Open Store.
            Lenovo Tab M10 HD TB-X306X LTE

            P 1 Reply Last reply Reply Quote 0
            • P Offline
              projectmoon @Linus67
              last edited by

              @Linus67 come join the (currently one man) party in livewire@conference.agnos.is to test things out!

              1 Reply Last reply Reply Quote 0
              • S Offline
                sixwheeledbeast
                last edited by

                Thank you I have been hopeful a working UT OMEMO XMPP chat client would come soon.
                This is very heavy but functions which is great.
                I have a few questions.
                How far away are features like:- OMEMO MUC, In band registration, support multiple accounts, audio/video calls?
                If Libervia is a backend is there a possibly it could be merged into the existing messages app?

                P MoemM 2 Replies Last reply Reply Quote 0
                • P Offline
                  projectmoon @sixwheeledbeast
                  last edited by projectmoon

                  @sixwheeledbeast said:
                  OMEMO MUC

                  Next major item on the list. All the pieces are present, just need to assemble them correctly.

                  In band registration

                  I consider it lower priority: something for app stable release, but not for alpha -> beta graduation. Although it's a barrier to new users, it's possible to register elsewhere. However, if someone wants to contribute it earlier, hey ho let's go.

                  support multiple accounts

                  Coming soon to a .click near you

                  audio/video calls?

                  Faaaaaaaaaaaaaaaaaaar away.

                  If Libervia is a backend is there a possibly it could be merged into the existing messages app?

                  Anything is possible. But I won't be doing it. I don't know how the Lomiri messaging app is constructed, exactly, and if it's specific to SMS/MMS or not.

                  1 Reply Last reply Reply Quote 0
                  • MoemM Offline
                    Moem @sixwheeledbeast
                    last edited by

                    @sixwheeledbeast said:

                    audio/video calls

                    If this is high priority for you, you might want to give DeltaTouch a try. Earlier this weekI tried a videochat with a friend who was using DeltaChat on /e/OS, and it worked fine.

                    Is currently using an Op5t
                    Also owns an Op1, a BQ E4.5, an Xperia X, a Nothing Phone 1, and a Rabbit R1 as well as a BQ tablet and a Pinetab2. Please, someone... make it stop.

                    1 Reply Last reply Reply Quote 0
                    • nbdynlN Online
                      nbdynl @projectmoon
                      last edited by

                      @projectmoon So i know, i need to do my own investigations, but uhh

                      can you explain a little why someone could need this? what is the advantage of your app?
                      like i am ungoogled searching the meaning of a xmpp client and "olmea" encryption.

                      the app looks great...

                      P MoemM 2 Replies Last reply Reply Quote 0
                      • P Offline
                        projectmoon @nbdynl
                        last edited by

                        @nbdynl said:

                        @projectmoon So i know, i need to do my own investigations, but uhh

                        can you explain a little why someone could need this? what is the advantage of your app?
                        like i am ungoogled searching the meaning of a xmpp client and "olmea" encryption.

                        the app looks great...

                        It is an XMPP client. XMPP/Jabber is an instant messaging standard like Matrix. Older, different, some might say more efficient. But the end result is the same: put text into box, send text to other people. OMEMO (not olmea) is just the name of the end to end encryption used.

                        1 Reply Last reply Reply Quote 0
                        • MoemM Offline
                          Moem @nbdynl
                          last edited by

                          @nbdynl said:

                          xmpp client

                          Xmpp is a decently popular chat protocol with a great number of clients:
                          https://xmpp.org/software/?category=clients

                          It makes a lot of sense for UT to have one or more native clients, too.

                          Is currently using an Op5t
                          Also owns an Op1, a BQ E4.5, an Xperia X, a Nothing Phone 1, and a Rabbit R1 as well as a BQ tablet and a Pinetab2. Please, someone... make it stop.

                          1 Reply Last reply Reply Quote 0
                          • brenno.almeidaB Offline
                            brenno.almeida
                            last edited by

                            Nice work @projectmoon looks like a solid project. Never thought that Greenline could be used as a base for anything, the way the app is structured is too "whatsapp-specifc" and with a lot of code shortcuts, a bit hacky to be honest.

                            I'm seeing that you're building some non python modules into the project, numpy as an example. How are you building that for arm64? Are you cross compiling, building in a arm64 worker, or something else? Thanks!

                            1 Reply Last reply Reply Quote 0

                            Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                            Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                            With your input, this post could be even better 💗

                            Register Login
                            • First post
                              Last post