Opened 3 years ago

Closed 3 years ago

#10437 closed enhancement (fixed)

falkon browser

Reported by: ken@… Owned by: ken@…
Priority: normal Milestone: 8.3
Component: BOOK Version: SVN
Severity: normal Keywords:


Release announcement copied from

"The new version is 3.0.0. It uses cmake and requires extra-cmake-modules. Optional deps of KF5Wallet and two Python3 modules, PySide2 and Shiboken, for plugins - but PySide2 is not yet released Falkon is a new KDE web browser, previously known as QupZilla. Following this release, there will only be one last final QupZilla release. If you were previously using QupZilla, you can manually migrate your profiles to Falkon by moving the config directory (usually in ~/.config/qupzilla/). There is no automatic migration.

Apart from some under the hood changes, like changing build system from qmake to CMake or using XDG paths, there aren't many differencies from QupZilla. There is a new extension - Vertical Tabs, but it will also be available later this week in last QupZilla release.

It is possible to write Falkon extensions in Python, but since the bindings are generated using PySide2 which is not yet released and thus not packaged by distributions, it won't be currently available for users.

Windows and macOS support is not yet finished, it will be available later."

Apart from using cmake, it requires extra-cmake-modules. I have no idea at the moment what the dependencies for kwallet are.

Change History (15)

comment:1 by ken@…, 3 years ago

Summary: falcon browserfalkon browser

comment:2 by ken@…, 3 years ago

I tried to trace the deps for kwallet, but in the end I gave up when phonon got pulled in: looks like kwallet is only really practical if you are going to install all of kf5.

The list of deps for kwallet is at least:

  • phonon
  • karchive
  • kcodecs
  • kconfig
  • kcoreaddons
  • kdbusaddons
  • kguiaddons
  • ki18n
  • kitemviews
  • kwidgetsaddons
  • kwindowsystem
  • kauth
  • kdoctools
  • kconfigwidgets
  • kiconthemes
  • knotifications
  • kwallet

comment:3 by bdubbs@…, 3 years ago

Owner: changed from blfs-book@… to blfs-book

comment:4 by Pierre Labastie, 3 years ago

Owner: changed from blfs-book to Pierre Labastie
Status: newassigned

comment:5 by Pierre Labastie, 3 years ago

The site for falkon is

The version is now 3.0.1 (released on May 8). I did not want to install 3.0.0, which was older than the most recent qupzilla version. But now, qupzilla version is older than this one.

comment:6 by ken@…, 3 years ago

For 3.0.1: Changelog

added profile migration from QupZilla fix incorrectly completing form data on some sites #391327 fix showing incorrect state of back and forward buttons #391331 fix loading urls containing %20 from location bar #392445 fix save page action for downloading text files #391300 fix download manager trying to closing not restored tabs #392565 fix updating location bar site icon after using paste and go action #392747 fix various issues with QtWebEngine 5.11 #392885, #393398 fix speed dial sometimes loading with no pages #391875 fix leaving html fullscreen after closing tab #393797 fix saving speed dial settings when there are no configured pages fix restoring nested crashed sessions fix setting minimum height of bookmarks toolbar VerticalTabs: fix preserving expanded state of times inside collapsed parent #393567 VerticalTabs: don’t force open sidebar when opening new window #39362

I assume that the qtwebengine changes mean QupZilla is broken by QT-5.11.

Not listed, but ki18n is now a required dependency.

For me (svn books as of 31st May and without kde), 6 out of 10 of the tests now fail. But falkon seems to work ok.

comment:7 by Pierre Labastie, 3 years ago

Owner: changed from Pierre Labastie to blfs-book
Status: assignednew

I've not done anything on this ticket. I think I'd better release it.

comment:8 by ken@…, 3 years ago

Owner: changed from blfs-book to ken@…
Status: newassigned

comment:9 by ken@…, 3 years ago

The ki18n requirement is only because new pofiles for falkon_hellopython.po were added. All other po files were converted in some way and moved to the poqm/ directory. This is for what were experimental new python bindings (see above).

At the moment I have not ascertained the status of those modules, but the fedora specfile avoids the need for kfi18n with the following:

# delete falkon_hellopython translations, we do not package hellopython yet

# note: if you remove this, you also have to add BuildRequires: kf5-ki18n-devel

rm -rf po

and later

# remove useless plugin

rm -fv %{buildroot}%{_libdir}/%{name}/

comment:10 by ken@…, 3 years ago

On a build with qt-5.10.1 and gcc-7.3 I do NOT have that file, and all the tests pass.

comment:11 by ken@…, 3 years ago

Developments, but I'm not sure if I can call it progress ;)

For the python, I definitely do not have the which fedora remove from their build. The two optional modules are both part of the same (QT) git tree (no releases). The po files for hellopython are for a script which which requires PySide2 and is not installed, at least when the modules are missing.

As to the tests - my runs on the other machine were with 3.0.0 installed whereas on the 8.1/5.11.0 I had run them on a fresh system before installing. Now that I retry (i.e. after the install) only one fails.

The results are in Testing/Temporary/LastTest.log (this is created when ctest (from cmake) is run by 'make test').

********* Start testing of WebViewTest *********
Config: Using QtTest library 5.11.0, Qt 5.11.0 (x86_64-little_endian-lp64 shared (dynamic) release build; by GCC 8.1.0)
PASS   : WebViewTest::initTestCase()
FAIL!  : WebViewTest::loadSignalsChangePageTest() Compared values are not the same
   Actual   (((loadFinishedSpy.count()))): 2
   Expected (loadFinishedEmitCount)      : 1
   Loc: [/tmp/falkon-3.0.1/autotests/webviewtest.cpp(87)]
PASS   : WebViewTest::cleanupTestCase()
Totals: 2 passed, 1 failed, 0 skipped, 0 blacklisted, 15276ms
********* Finished testing of WebViewTest *********
<end of output>
Test time =  15.70 sec
Test Failed.
"falkon-webviewtest" end time: Jun 09 20:42 BST
"falkon-webviewtest" time elapsed: 00:00:15

NB that test runs very slowly when it fails.

There was a suggestion on one of the stack websites to use CTEST_OUTPUT_ON_FAILURE=TRUE when invoking make test, but for this failure, no extra information results.

Using diff, and then view, between 3.0.0 and 3.0.1 was painful, 'view' thought it was latin1, so lots of gibberish in the po files but I saw one suspicious change. Using 'less' gave me sane UTF-8 but lacked the highlighting of old/new which 'view' provides.

With 'git-diff' followed by 'view' it was easy to find:

diff --git a/falkon-3.0.0/autotests/webviewtest.cpp b/falkon-3.0.1/autotests/webviewtest.cpp
index a21e693..40b0a57 100644
--- a/falkon-3.0.0/autotests/webviewtest.cpp
+++ b/falkon-3.0.1/autotests/webviewtest.cpp
@@ -82,7 +82,7 @@ void WebViewTest::loadSignalsChangePageTest()
     // WebPage: Workaround for broken load started/finished signals in QtWebEngine 5.10
-    const int loadFinishedEmitCount = qstrncmp(qVersion(), "5.10.", 5) == 0 ? 2 : 1;
+    const int loadFinishedEmitCount = qstrncmp(qVersion(), "5.11.", 5) == 0 ? 1 : 2;
     QTRY_COMPARE(loadFinishedSpy.count(), loadFinishedEmitCount);
     QCOMPARE(loadStartedSpy.count(), 0);

It is only in the test and I wonder if the "== 0 ? 2 : 1;" was accidentally changed (presumably the 5.11. needed to be changed).

Will explore that later. And in case anybody wonders, when I was at school we had to show our workings in exams. By writing this down, I'm hoping that maybe I'll be able to find it when I've forgotten how I reached these opinions.

comment:12 by ken@…, 3 years ago

I'm stopping work on this until fixes for qtwebengine-5.11.0 are available (re the recent chromium CVEs).

comment:13 by ken@…, 3 years ago

Pyside2 has been released at

  • it is apparently too big to upload to pip (9.1 MB zip) (until the pip limits are changed).

in reply to:  13 comment:14 by ken@…, 3 years ago

Replying to ken@…:

Pyside2 has been released at

  • it is apparently too big to upload to pip (9.1 MB zip) (until the pip limits are changed).

Probably, it's the binaries which are too big to upload. The build and install both take for ever and a day (single threaded) and the 5.8MB tarball ends up creating a 544 MB build tree and 58MB of install (with --root /some/where). Pyside2 is the main item, shiboken is within it (e.g. a library).

comment:15 by ken@…, 3 years ago

Resolution: fixed
Status: assignedclosed
Note: See TracTickets for help on using tickets.