[Alpha] Greenline - A qml Whatsapp client for Ubuntu Touch
-
@Vlad-Nirky I use the latest version from yesterday and test it over last night.
I haven't noticed any increased battery drain. The Pixel 3a switches to deep sleep mode without any issues. < 2% battery drain per hour. Tested last night with notifications enabled. -
@Vlad-Nirky Its not an impression, the app is inefficient in its current state, optimizations are needed. The perception will vary depending on the amount of whatsapp data you receive. Its a combination of having the backend written in python (which means that on receiving new events, a python process is created to process it on the fly) and the qml frontend re-rendering on each event that emits a qml update. So for example receiving a new chat means re-rendering the whole chat list.
Not too worried about it yet, but something for me to look in the future. I'm not 100% decided on how this app will manage its data so not gonna waste time optimizing something that might change. Probably will get back to this once the app support all possible Whatsapp events / message types, which will give clarity on how to model everything.
-
@brenno.almeida so a premenantly temporary solution.
yeah just make sure to refactor at some point. great client as is but i recommend you structure the client around the data not the other way, that way lies pain suffering and keyboard bashing. -
@ChromiumOS-Guy please keep the discussion on feedback and suggestions, avoiding giving orders or similar statements.
The way you put it is a bit rude for my taste. It does not sound intentional, but with a bit of out of context to me. Its not that the app is being developed without a data model in mind, more like new requirements (replies, edits, new message types, etc.) requires rethink on how things are done, which is pretty common on any medium o higher complexity project.
-
@brenno.almeida i am sorry i did not mean to hurt you or be rude. as for permanently temporary solutions again my advice is to avoid this or refactor after the fact.
high complexity means compromises what im advising here is that for what your describing i don't think you should compromise right now because you won't be able to back out without a lot of effort. -
I wouldn't use a META product if there were alternatives. But there are a lot of people who are very resistant to change. There are groups for their kids' school activities: soccer, tennis, music, and so on.
If you use Ubuntu Touch every day, a lightweight QML app like Greenline is perfect. You can check WhatsApp messages when needed. In an emergency, you can send a message like, “I'll be 10 minutes late.”
Personally, I prefer a WhatsApp alternative that is fast and stable, uses few resources, and adapts well to changes in WhatsApp’s data structure—such as the Go library, whatsmeow, protobuf structures, and WebSocket conditions on the servers.
I don’t need features like video or forms.
If someone wants all of WhatsApp’s features (including META AI) on Ubuntu Touch, then they have the wrong device.Keep Greenline lean, efficient, and adaptable to changes at Meta for a long life on Ubuntu Touch. Many people and groups still need some time before they’re ready to switch to alternatives.
-
There's a new release for this app. This release contains a big standardization / internal refactor. I highly recommend that you:
- Logout from the app in your main Whatsapp device
- In Greenline settings, reset the app
- Install the update
- Then login again
If you don't disconnect, there's a high chance that the app will crash in some places. As we approach to a beta release, I added more safeguards to catch bugs and make the app more robust, fixing some bugs on the way. Hopefully this will be the last time this will be needed, as from now on I'll adopt a data migration system for changes.
https://github.com/brennoflavio/greenline/releases
Changes:
- Allow sending documents
- Add option to catch and report crashes
- Add option to pause daemon when closing the app
- Render Whatsapp text messages with buttons
- Fix images rotating in chat page
- Restore old behavior for unread count bubble in app drawer
- Handle Group Information and other whatsmeow events
- Remove daemon configuration database, centralize all configuration in python
- Harden media download, prevent crashes when downloading unavailable media
- Reorganize code into modules, better separation of concerns
- Add tests for daemon <> python communication and python <> qml communication
- Document and test all python interfaces, with real, sanitized Whatsmeow data
- App now validates at build and at runtime all data structures, logs errors, and ensures consistency between app parts
-
@brenno.almeida Amazing work, thank you so much!
One thing I noticed - and I don't think it has only started in this latest version - is that if I open a conversation from the app and not from the notification then the notification doesn't dissapear - I think I remember it used to.
-
@mihael noted!
Btw there's a new release: https://github.com/brennoflavio/greenline/releases
If you didn't disconnected your Whatsapp account in the last update, please take time to do it. Takes a few minutes and will improve your experience with the app.
Changes:
- Now links inside text are clickable and will open the browser
- Mentions are also treated as links, clicking on them open the messages
- Text between stars are rendered as bold message, like in Whatsapp
- Now sending a message while offline does not crash the app anymore
- Daemon should be way faster to reconnect when going back from offline to online or switching networks
- Fix bug when clearing data app not deleting all files
-
noticed something, there is no date to the messages.
my only note is that you probably want to either have an option in the settings or decide based on account region if to use dd/mm/yyyy scheme or US mm/dd/yyyy scheme. -
Hello Brenno,
Could you explain where the deamon is installed? Becaused I notice that when I disable the account inside the app and then uninstall the app, I still have some greenline deamon running, and creating some logs:
Jun 07 10:06:30 ubuntu-phablet systemd[2675]: greenline.service: Failed with result 'exit-code'. Jun 07 10:06:30 ubuntu-phablet systemd[2675]: greenline.service: Main process exited, code=exited, status=203/EXEC Jun 07 10:06:30 ubuntu-phablet systemd[2675]: Started greenline.service - Greenline Sync Service. Jun 07 10:06:30 ubuntu-phablet systemd[2675]: greenline.service: Scheduled restart job, restart counter is at 5123. Jun 07 10:06:20 ubuntu-phablet systemd[2675]: greenline.service: Failed with result 'exit-code'. Jun 07 10:06:20 ubuntu-phablet systemd[2675]: greenline.service: Main process exited, code=exited, status=203/EXEC Jun 07 10:06:20 ubuntu-phablet systemd[2675]: Started greenline.service - Greenline Sync Service. Jun 07 10:06:20 ubuntu-phablet systemd[2675]: greenline.service: Scheduled restart job, restart counter is at 5122. Jun 07 10:06:10 ubuntu-phablet systemd[2675]: greenline.service: Failed with result 'exit-code'. Jun 07 10:06:10 ubuntu-phablet systemd[2675]: greenline.service: Main process exited, code=exited, status=203/EXEC Jun 07 10:06:10 ubuntu-phablet systemd[2675]: Started greenline.service - Greenline Sync Service. Jun 07 10:06:10 ubuntu-phablet systemd[2675]: greenline.service: Sch eduled restart job, restart counter is at 5121. Jun 07 10:05:59 ubuntu-phablet systemd[2675]: greenline.service: Failed with result 'exit-code'. Jun 07 10:05:59 ubuntu-phablet systemd[2675]: greenline.service: Main process exited, code=exited, status=203/EXEC Jun 07 10:05:59 ubuntu-phablet systemd[2675]: Started greenline.service - Greenline Sync Service.Thank you very much!

-
@pparent did you use the restart button in system settings? If so its a bug that needs to be fixed. That button should remove everything from your system. If you remember, give me more details, I'll try to reproduce it.
Anyway the only file outside the app data/cache/config directory is a unit file in your user systemd directory, you can see it by running sysremctl --user status greenline.service
-
Hey, getting back to this project after a few weeks of vacation with a small release that fixes some bugs shown from the new crash report tool:
https://github.com/brennoflavio/greenline/releases
I'm also going to start preparing this software for a release in OpenStore. There's a few features missing and bugs to fix, after that, I'll release a beta version and only focus on bugs.
So if you find any new issues please report, so this can be released in a good shape. Thanks for your help and support!
-
@brenno.almeida Greenline has been working perfectly for weeks. It has everything I need from WhatsApp. Thanks so much for the new update. You’ve more than earned that vacation.
-
@brenno.almeida Thanks for the work again
its fast, reliable, has push notifications. what else do we need xD?Well ok theres a few features that can be added, but i am sure that will all come when the time is ready

-
There's a new release for this app.
https://github.com/brennoflavio/greenline/releases
Changes:
- Support for sending and receiving location messages. Live location are rendered as regular location (only the first update is received) as Whatsapp Web / Whatsmeow does not have full support for live location.
- Finished support for ContentHub, now you can send files and media from other Apps directly to Greenline, no need to open the app first
- Some dead code removal and cleanups, with the new migration support.
- Fixed a bug where clearing data did not delete everything related to the app.
With the new migration system, the app will be slow to open the first time after the upgrade. This happens to adjust the database to the newest code. Should happen only one time, other opens should go normally. This only happens when there's migrations to run, which should be rare after Beta.
-
This app is getting better and better!
I can see introduced support for messages reactions (like
). The reaction is displayed next to the time of the message and then there is a reaction menu when you swipe the message tot the left - that one does nothing for the moment.Many, many thanks!
-
I sometimes check WhatsApp groups or chats after 2–4 days. There are messages from different days.
Currently, all messages have a timestamp. I would like the date to be visible as well.
yyyy:mm:dd hh:mm -
@mihael can you give me more details on that? That menu should show who sent the reaction and which reaction (emoji) was sent. Support for sending reactions is not implemented yet, but planned.
@linus67 Yeah this is known, a better chat is planned with a divider between unread / read messages, and timestamp in messages.
Progress towards beta: https://git.brennoflavio.com.br/brennoflavio/greenline/milestone/1
-
@brenno.almeida I mean the heart that I circled in yellow:

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