[Alpha] Greenline - A qml Whatsapp client for Ubuntu Touch
-
First of all, thank you so much for your incredible work on Greenline! Seeing a native QML WhatsApp client moving forward so quickly on Ubuntu Touch is amazing. The recent alpha builds with voice messages and message deletion show huge progress.
As a tester, I noticed an interesting behavior regarding the main chat list:
The app currently populates the history with every single JID (Jabber ID) available from the server's sync history. This includes old "ghost contacts" (like one-time marketplace buyers), unknown numbers, or old groups that were long deleted or left on the main device. When you click them, they just show an empty chat view.
I suspect that filtering these out isn't a quick "one-click" fix, as the underlying protocol/daemon likely dumps the raw cached stream of all historical chat channels upon connection, without the local filters that the official Android/iOS apps use.
Since you are probably busy with core features, I was thinking about some pragmatic ways to tackle this on the client/UI side whenever you find the time:Frontend Filtering (QML Delegate): A quick visual fix could be using a filter or modifying the ChatDelegate in QML. If the model's row indicates that there is no lastMessageText (or the timestamp is null), the item's visibility could be set to false and its height to 0. Database Query Filtering (Backend): If Greenline stores the synced chats in a local SQLite database, modifying the SQL query that populates the QML model might do the trick (e.g., SELECT * FROM chats WHERE last_message_id IS NOT NULL OR unread_count > 0).Just wanted to share this observation and some ideas. No rush at all—the app already looks and feels great for an alpha state!
Keep up the fantastic work!P.S. (Added positive note):
Actually, having this long history of contacts has a surprisingly positive side effect! It acts like a historical WhatsApp-specific phone book. It's amazing to see how incredibly fast, reliable, and battery-friendly Greenline already runs after just about 3 months of development. It’s a massive upgrade compared to the sluggish, battery-draining WebApp solutions we had before. If you ever decide to filter the main chat list, maybe this "raw list" could be repurposed into a dedicated "WhatsApp Contacts/History" tab in the future? -
One more thing:
In its current state, Greenline is actually the PERFECT messenger for children!
Since it focuses purely on communication without all the bloated social-media distractions like Channels, Communities, or Status tabs, it provides a safe environment. Plus, keeping the contact history ensures that old group connections (like school or sports clubs) aren't lost and remain recognizable.Thank you for building such a clean, fast, and battery-friendly alternative!
-
Would you consider doing a confined version of the app without a background deamon, and with the go part only running when the app itself is running? I think it would be usefull for those who don't want notifications all the time, and don't want their battery to be drained by the deamon or are not comfortable with having a whatsapp deamon running at all time. And it would be easier to publish on the openstore!
Thank's a lot for your work!

-
you need to add the ability to send files, you currently don't have the option so i cannot upload a .pptx for example.
-
@Linus67 The chat list is the source of truth for contact information, there's no separate list of contacts in this app. This makes the code easier to undersand and with fewer moving parts, but the tradeoff is that to render the person name in the group it needs to exist as a individual in the list, so removing chats is not possible.
This is unlikely to change, would add a complexity I don't want to manage. However I do plan to add basic filtering in the list, similar to how Teleports works, which should mitigate this.
-
@pparent No plans for a confined version, mainly due to the burden of mantaining two versions of the same app. The best move here is to work with UT devs for proper support of backgroud services for click packages, so this app can run confined as is.
Support for pausing the daemon when app closes is planned tho, which achieves the same result I think.
-
@ChromiumOS-Guy contributions are welcome! But support for all message types is planned before going beta
-
i just found something. i deleted a whole conversation thread on my whatsapp android but i still can see it on greenline and i cannot delete it. i had this behavior on other whatsapp web based apps
-
@StephPTi
Now you can see in Greenline: Meta stores all your actions on WhatsApp. If you like a comment in a group, that contact is stored in the database linked to your phone number. You can view all these records now in Greenline.
You now have a complete list of the phone numbers (contacts) to which you have ever reacted or commented. This is part of the metadata that WhatsApp stores permanently on its servers: when you interacted with whom. This means that most of what you delete in WhatsApp is simply hidden.In a future version of Greenline, it may be possible to hide this ‘metadata’.
-
There's a new release for this app. I recommend disconnecting an connecting Whatsapp after installing this update using the settings since there was some rework on how messages are represented, which can lead to old glitched messages. Since its an alpha, I'm not guaranteeing consistency on each update:
https://github.com/brennoflavio/greenline/releases
- Better offline mode: now if the app has no connection, messages are queued to be sent once connection is back
- Optimizations for rooms that had a lot of replied messages, should load faster now
- Now the pending / sent / delivered / read icons matches closely with whatsapp
- Better handling when whatsapp servers are unavailable, avoiding app crashes
- Better media previews: now you can zoom in / out images, its easier to pause / reproduce videos, and better look and feel
- Fixed a bug where if the person used whatsapp on two devices (like web and app), its chat appeared duplicated and in groups the profile picture did not appear when the message was sent from the second device
- Prevent app crash when trying to download media while offline
-
@brenno.almeida
The installation went smoothly and without any issues.One thing that would be really useful:
When there are lots of new messages for a contact or in a group, I can see the correct number (e.g. 20). Perfect!
When I go into the chat and want to read the messages, I can’t tell which 20 are the new ones.
When the contact or group chat is opened, you should be able to see which messages haven’t been read yet.
When you leave the chat, all messages should be marked as read.
Now I have to spend time reading the messages to figure out if I’ve already read them.Many thanks for your work on this exciting implementation of a third-party WhatsApp solution in QML for Ubuntu Touch!
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