UBports Robot Logo UBports Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Search
    • Register
    • Login
    1. Home
    2. brenno.almeida
    3. Posts
    Offline
    • Profile
    • Following 0
    • Followers 0
    • Topics 1
    • Posts 3
    • Groups 0

    Posts

    Recent Best Controversial
    • RE: [Alpha] Greenline - A qml Whatsapp client for Ubuntu Touch

      @sahirul not yet, but is planned. For now, qr code only

      posted in App Development
      brenno.almeidaB
      brenno.almeida
    • RE: [Alpha] Greenline - A qml Whatsapp client for Ubuntu Touch

      @arubislander @pparent app uses whatsmeow, a golang implementation of Whatsapp Web socket. So from Whatsapp perspective, its like you're using Whatsapp Web.

      The risk of being banned using unofficial tools is never 0, but extremely low if you don't abuse the tool. Its the same risk of using the WhatsApp Matrix bridge for example, that uses the same library behind the scenes.

      posted in App Development
      brenno.almeidaB
      brenno.almeida
    • [Alpha] Greenline - A qml Whatsapp client for Ubuntu Touch

      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.

      posted in App Development
      brenno.almeidaB
      brenno.almeida