<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[[Alpha] Greenline - A qml Whatsapp client for Ubuntu Touch]]></title><description><![CDATA[<p dir="auto">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.</p>
<p dir="auto">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.</p>
<p dir="auto">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.</p>
<p dir="auto">Also the app runs unconfined to setup a background daemon, more on the architecture bellow.</p>
<p dir="auto">Releases here: <a href="https://github.com/brennoflavio/greenline/releases" rel="nofollow ugc">https://github.com/brennoflavio/greenline/releases</a></p>
<p dir="auto">Once its stable, I'll publish to the store. Now more details about it.</p>
<h3>Architecture</h3>
<p dir="auto">This app is composed of 3 parts:</p>
<ol>
<li>Golang Daemon</li>
</ol>
<p dir="auto">This daemon managed by Systemd connects to Whatsapp servers and runs continuously in the background, gathering events and pre processing them. Also:</p>
<ul>
<li>Manages your encryption keys</li>
<li>Serialize whatsapp events, stores in a queue</li>
<li>Expose a JSON RPC endpoint to read and send messages, among other operations</li>
<li>Syncs users avatars, media, and other data</li>
<li>Sends notifications</li>
</ul>
<ol start="2">
<li>Python Backend</li>
</ol>
<p dir="auto">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</p>
<ol start="3">
<li>QML</li>
</ol>
<p dir="auto">The frontend is entirely written in qml and communicates with python using pyotherside</p>
<p dir="auto">In order to pull messages in the background, it needs to run unconfined.</p>
]]></description><link>https://forums.ubports.com/topic/12162/alpha-greenline-a-qml-whatsapp-client-for-ubuntu-touch</link><generator>RSS for Node</generator><lastBuildDate>Sat, 04 Apr 2026 11:12:16 GMT</lastBuildDate><atom:link href="https://forums.ubports.com/topic/12162.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 04 Apr 2026 05:49:52 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to [Alpha] Greenline - A qml Whatsapp client for Ubuntu Touch on Sat, 04 Apr 2026 09:39:54 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/brenno.almeida" aria-label="Profile: brenno.almeida">@<bdi>brenno.almeida</bdi></a></p>
<p dir="auto">Very nice!</p>
<p dir="auto">How do you interact with Whatsapp protocol? Did you reverse ingeneer it yourself? Do you use an existing library?</p>
]]></description><link>https://forums.ubports.com/post/94770</link><guid isPermaLink="true">https://forums.ubports.com/post/94770</guid><dc:creator><![CDATA[pparent]]></dc:creator><pubDate>Sat, 04 Apr 2026 09:39:54 GMT</pubDate></item><item><title><![CDATA[Reply to [Alpha] Greenline - A qml Whatsapp client for Ubuntu Touch on Sat, 04 Apr 2026 06:15:19 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/brenno.almeida" aria-label="Profile: brenno.almeida">@<bdi>brenno.almeida</bdi></a> 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?</p>
]]></description><link>https://forums.ubports.com/post/94760</link><guid isPermaLink="true">https://forums.ubports.com/post/94760</guid><dc:creator><![CDATA[arubislander]]></dc:creator><pubDate>Sat, 04 Apr 2026 06:15:19 GMT</pubDate></item></channel></rss>