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

    [Alpha] Greenline - A qml Whatsapp client for Ubuntu Touch

    Scheduled Pinned Locked Moved App Development
    2 Posts 2 Posters 21 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.
    • brenno.almeidaB Offline
      brenno.almeida
      last edited by

      Hi everyone! I've been working on a qml Whatsapp client for Ubuntu Touch for a few weeks, now I think its good enough for its alpha release.

      The app is not complete, there's still a ton of work to do, and probably many bugs. If you want to test it out, feel free to install in your device, and get back here if you find any bug so I can look at it. The Whatsapp protocol is awful to work with, I'm posting this early to gather feedback about edge cases.

      Consider this app as Alpha, don't use it expecting to be 100% functional or complete, but use it to give feedback and help with the development.

      Also the app runs unconfined to setup a background daemon, more on the architecture bellow.

      Releases here: https://github.com/brennoflavio/greenline/releases

      Once its stable, I'll publish to the store. Now more details about it.

      Architecture

      This app is composed of 3 parts:

      1. Golang Daemon

      This daemon managed by Systemd connects to Whatsapp servers and runs continuously in the background, gathering events and pre processing them. Also:

      • Manages your encryption keys
      • Serialize whatsapp events, stores in a queue
      • Expose a JSON RPC endpoint to read and send messages, among other operations
      • Syncs users avatars, media, and other data
      • Sends notifications
      1. Python Backend

      Event driven backend that pulls events from the daemon and acts on them, building a chat room and message database. It also sends events to the frontend, updating the message list in real time

      1. QML

      The frontend is entirely written in qml and communicates with python using pyotherside

      In order to pull messages in the background, it needs to run unconfined.

      arubislanderA 1 Reply Last reply Reply Quote 0
      • arubislanderA Offline
        arubislander @brenno.almeida
        last edited by

        @brenno.almeida Do users of this app run the risk of Meta blocking or otherwise disabling their their accounts after a while, for using an unofficial WA cliรซnt? Or does this use the same.API as the browser is using?

        ๐Ÿ‡ฆ๐Ÿ‡ผ ๐Ÿ‡ณ๐Ÿ‡ฑ ๐Ÿ‡บ๐Ÿ‡ธ ๐Ÿ‡ช๐Ÿ‡ธ
        Happily running Ubuntu Touch
        JingPad (24.04-1.x daily)
        OnePlus Nord N10 5G (24.04-2.x daily)
        PinePhone OG (20.04)
        Meizu Pro 5 (16.04 DEV)

        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