At the end of the year I ordered an Akko keyboard “5108 B” 100% keyboard. It arrived with 3 weeks despite it being end of the year (top season for delivery guys). The keyboard was in 50% diascount and with free shipping, so I only paid around 70€ for it. I consider this a steam since keyboards with similar features cost easily around 200€ (check the Ducky keyboards of which I think Akko is a clone).
In the Qt5 it was not easily possible to block the new (popup) window request because the function “createWindow” which handles the window creation did not provide the required information (destination URL). It was not imposibble but not straightforward either, so it was not implemented. It Qt6.2 there is a new signel “newWindowRequested” which provides the destination url and also if the request was initiated by human or not. This is ideal for selective blocking of the window creation, eg. popup blocking in AdBlock.
AdBlock Dialog During the development of the AdBlock stuff I need to frequently interact with AdBlock Dialog window to modify the “Custom Rules” filter list. Since due to historical reasons and probably for the ease of use the dialog uses QTreeWidget and each item added to this list is mapped to the source QVector list (QList now) by an index number stored in the data section of the widget item.
I went to ABP Test Pages and checked how Falkon Adblock handles all the different rules. Many things are implemented but even more is not and some rules are misinterpreted (e.g. remove).
I always thought it works well enough (works for me) and with enough filters it even passes the Adblock Tester test page on 96 from 100 points.
I can talk about “what ifs” and complaining the whole day, but lets jump into the results.
Falkon is using its own Adblock implementation and can parse AdblockPlus block lists. The compatibility is not the best especially when it comes to newer or more complicated features. In the next Falkon version there will be a small improvement by adding websocket and rewrite support.
WebSocket While trying to help a user in the IRC channel with an idea on how to make a NoScript-like plugin for Falkon I went over Adblock code to block network traffic and discovered that from Qt 6.4 there is a way to detect and WebSocket connections. Since I already saw it I though “it should not be that hard to add support for it” and it turned out to be a simple task. The already merged Merge Request can by found at invent.kde.org. The implementation also passes the tests at Adblock test pages WebSocket and WebSocket Exception sections.