That's great to hear, thank you for the explanation and for considering user 
privacy in the application design.  Chromium makes me nervous from a privacy 
and security standpoint, I am actually the ppc64el maintainer for the Chromium 
codebase -- it's a complex beast that tries nearly every way imaginable by 
default to phone home back to Google, which is why I wasn't too happy to see it 
show up in recoll. :)

I haven't caught recoll making any unauthorized network requests, but then 
again I haven't used the new QWebEngine version because I don't use amd64 
machines in any significant capacity (the newest one I have is from 2013, when 
you could still run libre firmware on the mainboards).  It would definitely be 
interesting to see if QWebEngine is able to initiate network requests somehow.

----- Original Message -----
> From: "Jean-Francois Dockes" <[email protected]>
> To: "Timothy Pearson" <[email protected]>
> Cc: "1111324" <[email protected]>
> Sent: Sunday, August 17, 2025 3:39:51 PM
> Subject: Re: Bug#1111324: Acknowledgement ([regression] recollgui 
> uninstallable on ppc64el)

> Several things:
> - As the documents loaded by the preview are loaded from local files, I
>   don't think that the Javascript is allowed to fetch from the network. I
>   am no javascript or browser expert though.
> - In order to prevent webkit or webengine (or anything inside the app
>   actually) from making network requests, recoll sets up the Qt app with a
>   bogus proxy (socks5 proxy on localhost with username recoll and no
>   password). This is a bit of a hack but I think that it should work in
>   case something does try to reach out.
> - I just saw that there is an additional layer which could be set in the code
>   calling Qt Webengine, for intercepting all network requests. I'm going to
>   have a look at adding this as an additional protection layer.
> 
> Because recoll is by nature processing a lot of user data, I try to make
> sure that it initiates no external network traffic at all.
> 
> I've not ever had any report to the contrary, but I'm quite ready to fix
> issues in this area.
> 
> 
> 
> Timothy Pearson writes:
> > Understood, thank you for the explanation.  That helps, and also brings up
> > another question.
> > 
> > On the debian/rules architecture selection, yes, this is supported.  
> > Something
> > similar to:
> > 
> > ifeq (ppc64el,$(DEB_HOST_ARCH))
> > # cmake without webengine
> > else
> > # cmake with webengine
> > endif
> > 
> > should work.
> > 
> > However, the explanation of the renderers does bring up a privacy / security
> > question.  I would personally consider the lack of Javascript support a 
> > plus,
> > in that it stops pingback or similar tracing / monitoring to third party
> > servers.  Loading up an entire Chromium instance without being able to turn 
> > off
> > external access, disable Javascript execution, etc. seems like a major 
> > security
> > and privacy risk.  As an example of how I would expect to see this handled, 
> > VLC
> > pops up a warning indicating that third party services will be able to see 
> > what
> > media you are playing when you turn on metadata lookup -- it seems that if
> > we're going to use QWebEngine for rendering, a similar popup should be
> > displayed somewhere indicating that we're loading and executing the Web 
> > pages
> > including all of the tracking and monitoring pingbacks.
> > 
> > I bring up the privacy issues because I would be tempted to disable 
> > QWebEngine
> > across all architectures on those grounds alone, but it's not my call.
> > Building without QWebEngine on ppc64el would be enough to close this bug.
> > 
> > Thanks!
> > 
> > ----- Original Message -----
> > > From: "Jean-Francois Dockes" <[email protected]>
> > > To: "Timothy Pearson" <[email protected]>, "1111324"
> > > <[email protected]>
> > > Sent: Sunday, August 17, 2025 3:22:09 AM
> > > Subject: Re: Bug#1111324: Acknowledgement ([regression] recollgui 
> > > uninstallable
> > > on ppc64el)
> > 
> > > Recoll uses an HTML engine for displaying the result list and the preview
> > > window.
> > > 
> > > There are three possible engines:
> > > - QTextBrowser, which is the Qt native HTML engine
> > > - Qt Webkit
> > > - Qt Webengine (chromium-based)
> > > 
> > > Of the 3, Qt Webkit was by far the best for our usage, with a much better 
> > > API.
> > > 
> > > Qt decided that they needed to switch to using the chromium version, 
> > > probably
> > > because of
> > > better Web "standards" support, mostly for people who actually use it for
> > > implementing a
> > > Web browser.
> > > 
> > > Qt Webkit was externally maintained for Qt5. As far as I know, there is 
> > > no Qt6
> > > implementation, so there is no way ahead for it.
> > > 
> > > QTextBrowser has only incomplete support for CSS styling (and no 
> > > Javascript
> > > which is an
> > > issue for some result list customisations). Attaching a preview of the 
> > > wikipedia
> > > front
> > > page with QTextBrowser (on the left), and QWebengine (right) for 
> > > illustration.
> > > 
> > > For the moment, it is still possible to build with qt5 and libqt5webkit5, 
> > > which
> > > is
> > > probably the best current solution, but it has no future.
> > > 
> > > Is it possible at all to use different rules for different architectures ?
> > > Disabling the
> > > "real" HTML engines only for architectures platforms which don't support 
> > > them
> > > would
> > > probably be the best approach going forward.
> > > 
> > > jf
> > > 
> > > 
> > > 
> > > 
>  > > [image/png:recoll-wikipedia-preview.png]

Reply via email to