Falkon: Development Update, Dec 2023

A lot of happened since I last wrote something about Falkon development.

Release of Falkon 23.08

Relatively a lot of stuff was changed/added/fixed for this release series.

The biggest thing I struggled with was session restore optimizations which is very slow and I manahed to get it faster by a bit and also introduce new bugs. Well nothing is for free. There is still a second part waiting and that is to delay putting icons into the tabs on the tabbar until they are realy needed. This operation actualy takes most of the time.

The rest are smaller parts and also stuff contributed by people who care about Falkon.

There should also be another release in this series 23.08.5 with more bugfixes. (It is already getting to the point I am fixing my own mistakes.)

Preparations for Falkon 24.02

The biggest change is a port to Qt6 which is possible thanks to people contributing to Falkon (and me having a headache). The Qt6 port is a minimal port, which means that no new features and some features are disabled.

Even the bare port like this takes a lot of energy since the version of KDE ExtraCmakeModules (ECM) was not increased since forever and after bumping it into a proper number it made the code unable to compile due to a lot of string issues. This was a headache since Clazy integration in KDevelop did not work properly so I could not use automatic fix. (yes, I could use the time to learn how to do it manually…)

Another point is that Qt6 is constantly releasing new version which break stuff, so there are some bugreports from not yet released Qt6 which I have no will to test.

Next plans

Version 24.02 is a special one and thus the feature freeze happened much sooner so no new features can be added there, which means the new features will land in some 24.04++++ release.

These are some of the requested stuff made possible thanks to Qt6 implementing it.

  • Detection of captive portals
  • New way to detect network availability status
  • DNS Over Https (or so I think, since it pops in the terminal logs – doh - using system settings)

And probably many more since I did not take a complete look at what is new, the features will come over time.

Site Settings

This is a feature I am working on for a while with some breaks here and there. I plan to finish it within the new year of 2024. I am struggling with some system design and functionality, so after I sort these out I will go beg the KDE GUI team for help to help me design and improve the UI for this feature. Better later than never that I realized this.

PS: This thing touches a lot of essential parts of browser so I think it is important to take more time to properly make it.

SpeedDial

This page sucks a lot of power from the CPU. I have no idea whhy this little webpage is so demanding.

I tried to take a look at it and I slowly started reqriting it and it resulted in me fixinf a single typo. Yes, this is what you get after working most of the weekend on JavaScript code.

This thing is using JQuery and the JQuert Sortable thing to make the speeddial page interactive. I tried to search for a good replacement but I found nothing worth my attention. It is all either part of the BIG framework or abandoned code (mo update for a while).

Support for different devices

I am trying to use Falkon on PinePhone and PineTab2 to find the performance issues and the UI issues on these touch devices. And there is a lot of them since Falkon was never designed with Touch supoort in mind, the touch stuff is not even enabled in the code and I do not want to mess stuff by enabling it before properly testing it.

Fixing tests

All autotests should pass locally and also on GitLab CI, well they do not. It is not a surprise sicne I did not change the tests after changing the code, I totally forgot them. There are some interesting tests which hope that the browser is not fully initialized yet (QmlTabsApiTest) to do their stuff, that is simply not how it is supposed to be done. The problem with this approach is that it creates a seemingly random bug in the middle of the test.

I want to learn more about Falkon autotests and how they are done in order to write some tests for the Site Settings future feature.

PS: PyFalkon tests are broken for many years (they depend on a removed functionality) and I will leave this one for later. It is not shown on the Qt6 GitLab CI since it is missing PySide6 on the server, so it is fine, right?

Conclusion

While I am a bit more familiar with Falkon code-base there are still places I have no idea about, that is why I need to take more time to learn more about it. Also the same goes for Qt of whatever version, I work with Qt mostly only on Falkon and some smaller projects. That is another excuse why the changes take so much time. But is is a good exercise.

Overall, it looks good and I will continue looking over Falkon until someone better appears.

Yes, I am sure I forgot something.

Yes, I did not put any links to this post.

Articles from blogs I follow:

Plasma6 and FreeBSD 14

I just installed a new FreeBSD desktop machine. For this one, I wanted to have KDE Plasma6, since that’s already running on my Linux laptop and gaming machine – and it’s time for me to dogfood on FreeBSD. Here’s some notes.

via [bobulate] October 8, 2024

Neurodivergence and accountability in free software

In November of last year, I wrote Richard Stallman’s political discourse on sex, which argues that Richard Stallman, the founder of and present-day voting member of the board of directors of the Free Software Foundation (FSF), endorses and advocates for a ha…

via Drew DeVault's blog September 25, 2024

There is only one reason why Microsoft Windows is the dominating operating system on the PC desktop

The Internet is filled with blog posts, articles on tech media, and videos on YouTube about why Linux is not the main operating system on the PC desktop. "5 reasons why", "10 reasons why", bla, bla, bla. But they are all wrong.

via unixdigest.com August 24, 2024

Generated by openring