ISO icon indicating copy to clipboard operation
ISO copied to clipboard

Remaining issues with Falkon browser

Open probonopd opened this issue 3 years ago • 42 comments

Pros

  • Qt native
  • Global Menu "just works"

Cons

  • Kf5 dependencies:
pkg info -dx falkon | grep kf5
        kf5-kwidgetsaddons-5.71.0
        kf5-kjobwidgets-5.71.0
        kf5-kcompletion-5.71.0
        kf5-kwallet-5.71.0
        kf5-purpose-5.71.0_1
        kf5-kservice-5.71.0
        kf5-kio-5.71.0
        kf5-ki18n-5.71.0
        kf5-kcrash-5.71.0
        kf5-kcoreaddons-5.71.0
        kf5-kconfig-5.71.0
  • Sometimes the icons just get lost:

image

probonopd avatar Dec 29 '20 14:12 probonopd

How to add something to the built-in ad blocker? In uBlock Origin, you would use the pipette tool for this...

image

probonopd avatar Dec 29 '20 15:12 probonopd

According to nowrep on #falkon IRC, you can build without most dependencies. Only kf5-archive is required and ecm is a build-time dep.

https://invent.kde.org/network/falkon/-/blob/master/CMakeLists.txt#L93

To get rid of most kf5 depdencies we'd probably need to build our own pkg using ports.

How to do this whilst minimizing the amount of stuff that needs to be downloaded, so that one can do this in Cirrus CI?

"install deps with pkg, use pourdriere...?"

probonopd avatar Dec 29 '20 16:12 probonopd

when this lands, https://github.com/freebsd/poudriere/pull/797 that's how

igalic avatar Dec 29 '20 16:12 igalic

I imagine that the UA on helloSystem will be same as it is on my FreeBSD-CURRENT:

Mozilla/5.0 (X11; FreeBSD amd64; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Falkon/3.1.0 Chrome/83.0.4103.122 Safari/537.36

Exceptional sites

Teams for friends and family https://teams.live.com/ basics work without a user agent override, which is nice.

Video calling can't be expected to work, for example:

image

– allowances for the camera and microphone can be remembered but still, they don't work. YMMV.

Expect comparable failures for audio calls, without video.

https://github.com/webcompat/web-bugs/issues/25070#issuecomment-751324990 relates, but is probably not specific, to Firefox; tl;dr await improvements by Microsoft and in the meantime, don't expect user agent spoofing to significantly improve the situation.


Various other sites might be not compatible, most notably (and not surprising) KDE bug 415664 – Streaming Video from sites with DRM doesn't work..

For all such sites, I guess the recommendation should be to try Chromium (albeit https://github.com/helloSystem/Menu/issues/29 without global menu integration) or https://github.com/helloSystem/ISO/issues/47 await ease of use of applications such as Google Chrome.

IMHO site incompatibilities need not detract from the appeal of Falkon as a default.

grahamperrin avatar Dec 30 '20 17:12 grahamperrin

https://github.com/helloSystem/ISO/issues/60#issuecomment-752124152

How to add something to the built-in ad blocker? In uBlock Origin, …

KDE bug 411329 – [Feature Request] adblock: visually block elements

grahamperrin avatar Dec 30 '20 18:12 grahamperrin

More important for me would be that meet.jit.si works... Can you get screen sharing in meet.jit.si to work with Falkon?

probonopd avatar Dec 30 '20 21:12 probonopd

Searching in the GitHub code editor does not work. The GitHub search box shows up for a split second, but then the Falkon search box steals focus, and the GitHub search box disappears. Result: Impossible to search in the GitHub online editor. Bug that should be reported upstream? (It works in Chromium.)

probonopd avatar Dec 31 '20 11:12 probonopd

https://www.falkon.org/development/ ▶ https://bugs.kde.org/buglist.cgi?bug_status=UNCONFIRMED&bug_status=CONFIRMED&bug_status=ASSIGNED&bug_status=REOPENED&component=extensions&component=general&list_id=1506993&product=Falkon at a glance, nothing matching.

… GitHub code editor … GitHub search box …

I'm not familiar with this search box, is it the Start searching in file editor feature that's described at https://docs.github.com/en/free-pro-team@latest/github/getting-started-with-github/keyboard-shortcuts#source-code-editing? (I seem to not get this feature in Firefox 84.0.1 on non-helloSystem FreeBSD-CURRENT.)

grahamperrin avatar Dec 31 '20 12:12 grahamperrin

https://github.com/helloSystem/ISO/issues/60#issuecomment-752764683

▶ KDE bug 431004 – Screen sharing non-functional at meet.jit.si (Jitsi Meet)

grahamperrin avatar Dec 31 '20 13:12 grahamperrin

Thanks for testing and submitting. These are incredibly valuable contributions.

probonopd avatar Dec 31 '20 13:12 probonopd

I'm not familiar with this search box,

Go to a file on GitHub, click the "Edit" button, then press ⌘-F for searching. Within the GitHub HTML, a search box then appears. This is it working in Chromium:

https://user-images.githubusercontent.com/2480569/103411935-217b8f00-4b73-11eb-91db-a2fd5747202a.mp4

This does not work for me on Falkon:

https://user-images.githubusercontent.com/2480569/103412031-83d48f80-4b73-11eb-9afc-4e87f8b9abac.mp4

As you can see, for a split second the GitHub search box appears but then Falkon's own search steals its focus, making it close. And the Falkon search does not find anything on that page.

Can you reproduce?

Version: Mozilla/5.0 (X11; FreeBSD amd64; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Falkon/3.1.0 Chrome/80.0.3987.163 Safari/537.36

probonopd avatar Dec 31 '20 13:12 probonopd

Unlike with Adblock Plus I do get Promoted posts on Twitter. This is without changing any ad blocker related settings.

probonopd avatar Dec 31 '20 15:12 probonopd

Regarding https://github.com/helloSystem/ISO/issues/60#issuecomment-752135518:

Maybe @koobs knows or can find out whether there is any way to get a special build variant with only the minimal dependencies into FreeBSD packages? In helloSystem we would like to use this package but without all the dependencies that are not absolutely necessary. And we really would like not to build FreeBSD binary packages just for helloSystem, but rather use what is in FreeBSD packages.

Another such case would be https://github.com/helloSystem/ISO/issues/64.

probonopd avatar Jan 02 '21 09:01 probonopd

@probonopd Two options:

  1. A flavour for the existing port, similar to git-lite, that disables unnecessary dependencies, or unsets certain OPTIONS
  2. A new sub-port off the main one, that disables unnecessary dependencies, or unsets certain OPTIONS

If there's a good case to be made for the value of a special flavor/variant for the existing port for users, I'd go with (1) and fallback to (2) in the event of unfavourable outcomes

koobs avatar Jan 03 '21 07:01 koobs

Yes @koobs a -lite flavor is what I had in mind. Looking at the Makefile:

OPTIONS_DEFINE= GNOMEKEYRING KDEINTEGRATION
OPTIONS_DEFAULT=        KDEINTEGRATION
OPTIONS_SUB=    YES

It seems that all we would need would be the KDEINTEGRATION option to be disabled for the -lite build .

Based on this information, what would be the best way to get a -lite build going?

Looking at https://www.freebsd.org/doc/en_US.ISO8859-1/books/porters-handbook/makefile-options.html it seems to me that having a KDEINTEGRATION knob that would work not only for Falkon but for many KDE applications would be a very worthwhile thing to have, given that many KDE applications would be perfectly useful as standalone applications outside of KDE Plasma (in fact, many KDE applications have most users outside of KDE Plasma, such as on Windows.) One example would be #64.

image

probonopd avatar Jan 03 '21 11:01 probonopd

Also check the viability of https://qutebrowser.org/.

qutebrowser is a keyboard-focused browser with a minimal GUI. It’s based on Python and PyQt5

This would have the advantage that it could be hacked on without the need for compilation, and could be totally customized for helloSystem.

Since all the heavy lifting happens in QtWebEngine... maybe it could be viable?

Update: Tested it quickly. It's too "keyboard oriented". Has not even a URL bar. But the idea of building a browser around

py37-qt5-webkit

...tempting.

probonopd avatar Jan 03 '21 20:01 probonopd

qutebrowser

too "keyboard oriented".

+1

I love its minimalism and I half-tried to get into it a few months ago, maybe with the help of an on-screen cheat sheet, but it's not something that I'd bundle as a default browser.

grahamperrin avatar Jan 03 '21 20:01 grahamperrin

How can we add our own search provider to Falkon preconfiguration?

https://github.com/KDE/falkon/blob/94a635c3480fe0d8174f0bc82a72b331052a5ecd/src/lib/opensearch/searchenginesmanager.cpp#L159-L188

I would like to add https://github.com/search?q=org%3AhelloSystem+%s

probonopd avatar Jan 04 '21 00:01 probonopd

To identify the relevant file I included a unique word xylophone whilst adding the search engine, then sought the word after quit.

% pwd
/usr/home/grahamperrin/.config/falkon/profiles/default
% grep -R xylophone .
Binary file ./browsedata.db matches
% strings browsedata.db | grep xylophone
helloSystem at GitHub xylophonehttps://github.com/search?q=org%3AhelloSystem+%sAAAAIgBRAFAAaQB4AG0AYQBwAEkAYwBvAG4ARQBuAGcAaQBuAGUAAAABAAAAAYlQTkcNChoKAAAADUlIRFIAAAAQAAAAEAgGAAAAH/P/YQAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAiRJREFUOI2NUzFrFEEU/ua93dwm3u7d7t4RA3aCYCFYnhqNWAYsbASLFLb5BzaWgp2iRVDBIoUpRGxsRRPFwkaw1iAKicnd7dyRnLnbmXkWuQ1LQJOvevP4vu9984ZROIR6vX6FmW8BuKZEZgBAlNoA8NZa+0JrvVrmq1LNjTh+zp63cNi0DGvMcjvLbgOwZQNO03TNI7rwP3EB49ynTqdzGYBlAGjE8bLHPJ8bszrK85vdLNsg5lOk1LaIdASobrfbd0Z5ftfzvDM+8+xkpXJ6sLf3ClEUtaabTZluNiVJkqXxkCqAqdLQapE2SZKlgh9FUYsmmBcP7mfts3G5A2BQMtgBIADgnFspmhPMiwTmWQCwzo0AdI6xgnXr3HB/czxLGD8VlNrs9XrrR6m11j+g1G8AgMgMFdEA1ADQMRIQROrjWkiAnwDAStXSNL1+lDqO43kmirA/+ReRUmtOBFvttnXGvIzD8NK/xEkYXmSip8VZRN5Rbszj0TCHiFjd7/d7u7sfiGgQRVGrIAZBcJWItv0g+MhEJ0sGj0hr/cWv+E+mm82Juu/PVavVhTAMPyultgpipVLZiaKoUU5jRR5kWfb14C8kcfyeiM5Z586LSF9rrUv8sJGmm0w0BQDWmNftLLuxv9Exulk2B6VWmOi7x/wNwEzJ4EQhNsbcK8QAwOVYg8HgzWQQ7EGphu/7y8Ph8A8A1Go1X4mcdcDDTrd7v6z5CyXu2gXXx9U2AAAAAElFTkSuQmCC/////wAAABAAAAAQAAAAAAAAAAE=
% 

– binary, so it might be unreasonably difficult to attempt pre-configuration.

grahamperrin avatar Jan 04 '21 01:01 grahamperrin

Well, if worst comes to worst we always have skel ;-)

probonopd avatar Jan 04 '21 05:01 probonopd

Seems to be a sqlite3 database. So probably editable with an sqlite3 editor.

probonopd avatar Jan 04 '21 05:01 probonopd

https://hellosystem.github.io/docs/user/components/applications/falkon

image

probonopd avatar Jan 04 '21 05:01 probonopd

those examples (almost) all use g while demonstrating every search engine short cut

igalic avatar Jan 04 '21 09:01 igalic

Thanks @igalic, it is fixed on https://hellosystem.github.io/docs/user/components/applications/falkon

probonopd avatar Jan 04 '21 20:01 probonopd

Yes @koobs a -lite flavor is what I had in mind. Looking at the Makefile:

OPTIONS_DEFINE= GNOMEKEYRING KDEINTEGRATION
OPTIONS_DEFAULT=        KDEINTEGRATION
OPTIONS_SUB=    YES

It seems that all we would need would be the KDEINTEGRATION option to be disabled for the -lite build .

Based on this information, what would be the best way to get a -lite build going?

  1. Existing port: Create an issue in bugzilla asking for a lite flavour to be added (with request to unset certain option sets), OR
  2. New port: Create an issue in bugzilla with a patch for a new port (based on the existing), but with a PKGNAMESUFFIX=lite and unsettting a certain option set (Ask in #freebsd-ports on freenode IRC if you need help

koobs avatar Jan 05 '21 02:01 koobs

https://github.com/helloSystem/ISO/issues/60#issuecomment-754213522

In lieu of:

bug Falkon

– use the standard prefix for a port-related bug, in this case:

bug www/falkon

Maybe also add a predefined shortcut for FreshPorts.

grahamperrin avatar Jan 06 '21 04:01 grahamperrin

No one knows the www/ part... at least I don't.

probonopd avatar Jan 06 '21 18:01 probonopd

It's the defined way of creating and seeking bugs for a port.

Click the two ladybird icons at (for example) https://www.freshports.org/sysutils/bsdisks/

grahamperrin avatar Jan 07 '21 07:01 grahamperrin

The ~/.config/falkon/profiles/default/browsedata.db file can be configured e.g, using https://sqliteonline.com/ or a local SQite editor indeed. This is useful eg., for clearing the file from unwanted tables/entries that we do not want to ship as preconfiguration.

Interestingly, this also allows one to set up autocompletion which is not possible through the Falkon UI as far as I know.

We might want to add autocompletion where it is possible, and may want to add a hello search keyword for the helloSystem documentation.

image

probonopd avatar Jan 10 '21 08:01 probonopd

% sudo pkg remove mysql57-server
Passwort: 
Checking integrity... done (0 conflicting)
Deinstallation has been requested for the following 6 packages (of 0 packages in the universe):

Installed packages to be REMOVED:
        (..)
        falkon: 3.1.0
        kaccounts-integration: 20.08.3
        (...)
        kf5-purpose: 5.74.0
        mysql57-server: 5.7.32

When a browser pulls in a MySQL server, then I'd say something is wrong...!

We really need a falkon-lite package.

For now, we are thin-installing Falkon, meaning there is a placeholder but the user has to download it before first use.

probonopd avatar Jan 24 '21 10:01 probonopd