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
    93 Posts 14 Posters 8.2k Views 4 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

      Thanks you all, keep feedback coming, it helps a lot. No problem to report usability / polish issues aswell.

      @nbdynl yeah broke that a while ago, still not 100% correct as muted chats still counts but at least consistent now.

      Vlad NirkyV 1 Reply Last reply Reply Quote 0
      • Vlad NirkyV Offline
        Vlad Nirky @brenno.almeida
        last edited by

        @brenno.almeida
        Thanks a lot for this great app!
        I get the impression—purely subjective, mind you—that the app uses quite a bit of power.
        Do you think it would be possible to add an option in the settings to set the refresh rate for new messages (or even to stop it unless I check manually)?
        Or am I mistaken?
        What do you think?

        Linus67L brenno.almeidaB 2 Replies Last reply Reply Quote 0
        • Linus67L Offline
          Linus67 @Vlad Nirky
          last edited by

          @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.

          Pixel 3a, works with NextCloud, pihole, Wireguard VPN, Trilium, GhostCloud, Paperless ngx...and a lot of great apps from the Open Store.
          Lenovo Tab M10 HD TB-X306X LTE

          1 Reply Last reply Reply Quote 0
          • brenno.almeidaB Offline
            brenno.almeida @Vlad Nirky
            last edited by

            @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.

            C 1 Reply Last reply Reply Quote 1
            • C Offline
              ChromiumOS-Guy @brenno.almeida
              last edited by

              @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.

              brenno.almeidaB 1 Reply Last reply Reply Quote 0
              • brenno.almeidaB Offline
                brenno.almeida @ChromiumOS-Guy
                last edited by

                @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.

                C 1 Reply Last reply Reply Quote 3
                • C Offline
                  ChromiumOS-Guy @brenno.almeida
                  last edited by

                  @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.

                  1 Reply Last reply Reply Quote 0
                  • Linus67L Offline
                    Linus67
                    last edited by

                    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.

                    Pixel 3a, works with NextCloud, pihole, Wireguard VPN, Trilium, GhostCloud, Paperless ngx...and a lot of great apps from the Open Store.
                    Lenovo Tab M10 HD TB-X306X LTE

                    1 Reply Last reply Reply Quote 0
                    • brenno.almeidaB Offline
                      brenno.almeida
                      last edited by

                      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
                      mihaelM 1 Reply Last reply Reply Quote 4
                      • mihaelM Offline
                        mihael @brenno.almeida
                        last edited by

                        @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.

                        1 Reply Last reply Reply Quote 0
                        • brenno.almeidaB Offline
                          brenno.almeida
                          last edited by

                          @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
                          1 Reply Last reply Reply Quote 3
                          • C Offline
                            ChromiumOS-Guy
                            last edited by

                            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.

                            1 Reply Last reply Reply Quote 0
                            • pparentP Online
                              pparent
                              last edited by

                              @brenno.almeida

                              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! 😊

                              brenno.almeidaB 1 Reply Last reply Reply Quote 0
                              • brenno.almeidaB Offline
                                brenno.almeida @pparent
                                last edited by

                                @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

                                pparentP 1 Reply Last reply Reply Quote 0
                                • brenno.almeidaB Offline
                                  brenno.almeida
                                  last edited by

                                  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!

                                  Linus67L nbdynlN 2 Replies Last reply Reply Quote 2
                                  • Linus67L Offline
                                    Linus67 @brenno.almeida
                                    last edited by

                                    @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.

                                    Pixel 3a, works with NextCloud, pihole, Wireguard VPN, Trilium, GhostCloud, Paperless ngx...and a lot of great apps from the Open Store.
                                    Lenovo Tab M10 HD TB-X306X LTE

                                    1 Reply Last reply Reply Quote 0
                                    • nbdynlN Offline
                                      nbdynl @brenno.almeida
                                      last edited by

                                      @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 🙂

                                      1 Reply Last reply Reply Quote 0
                                      • brenno.almeidaB Offline
                                        brenno.almeida
                                        last edited by

                                        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.

                                        1 Reply Last reply Reply Quote 1
                                        • mihaelM Offline
                                          mihael
                                          last edited by

                                          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!

                                          Linus67L 1 Reply Last reply Reply Quote 0
                                          • Linus67L Offline
                                            Linus67 @mihael
                                            last edited by

                                            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

                                            Pixel 3a, works with NextCloud, pihole, Wireguard VPN, Trilium, GhostCloud, Paperless ngx...and a lot of great apps from the Open Store.
                                            Lenovo Tab M10 HD TB-X306X LTE

                                            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