martinrotter / rssguard

Feed reader (and podcast player) which supports RSS/ATOM/JSON and many web-based feed services.
GNU General Public License v3.0
1.54k stars 122 forks source link

[BUG]: Add custom external browser does not work on linux flatpak #917

Closed ghost closed 1 year ago

ghost commented 1 year ago

Brief description of the issue

Greetings! I'm trying to replace the external browser and they don't seem to work at all, I guess it must be a flatpak thing. It also doesn't work with RW permission for the host.

I have tried both on my system and on a clean virtual machine (both linux mint), as well as firefox in .deb and tor browser official/portable.

Using the default system browser works fine, but my goal is to use arguments as otherwise tor is not able to open with external links.

How to reproduce the bug?

-Add a custom browser in the configuration. For example /usr/bin/firefox -Open any link with the external browser

What was the expected result?

Opening with the external browser

What actually happened?

Error indicating that the browser cannot be launched with the selected url. Or nothing at all, in some tests.

Debug log

I don't think it will do any good, but here goes. It's with a new clean install, just creating a local account, changing the external browser to /usr/bin/firefox and trying to open any source.

 /usr/bin/flatpak run --branch=stable --arch=x86_64 --command=rssguard io.github.martinrotter.rssguard --log

Failed to load module "xapp-gtk3-module"
time="     1.476" type="warning" -> Qt: Session management error: None of the authentication protocols specified are supported
time="     1.507" type="critical" -> core: Missing value after '--log'.
time="     1.507" type="debug" -> core: Initializing settings in '/home/usuario/.var/app/io.github.martinrotter.rssguard/config/RSS Guard 4/config/config.ini' (non-portable way).
time="     1.545" type="info" -> 

GL Type: desktop
Surface Type: OpenGL
Surface Profile: CompatibilityProfile
Surface Version: 4.5
QSG RHI Backend: OpenGL
Using Supported QSG Backend: yes
Using Software Dynamic GL: no
Using Multithreaded OpenGL: yes

Init Parameters:
  *  application-name rssguard 
  *  browser-subprocess-path /app/bin/QtWebEngineProcess 
  *  create-default-gl-context  
  *  disable-features ConsolidatedMovementXY,InstalledApp,BackgroundFetch,WebOTP,WebPayments,WebUSB,PictureInPicture 
  *  disable-setuid-sandbox  
  *  disable-speech-api  
  *  enable-features NetworkServiceInProcess,TracingServiceInProcess 
  *  enable-smooth-scrolling  
  *  enable-threaded-compositing  
  *  enable-use-zoom-for-dsf false 
  *  in-process-gpu  
  *  use-gl desktop 

time="     3.759" type="warning" -> database: SQLite database is not initialized. Initializing now.
time="     3.762" type="debug" -> database: SQLite database backend should be ready now.
time="     3.763" type="debug" -> gui: Available icon theme paths: QList(/app/share/icons, /usr/share/icons, /usr/share/runtime/share/icons, /run/host/user-share/icons, /run/host/share/icons, :/icons, :/graphics, /home/usuario/.var/app/io.github.martinrotter.rssguard/config/RSS Guard 4/icons, /app/bin/icons)
time="     3.819" type="debug" -> gui: Installed icon themes are: '', 'hicolor', 'default', 'Numix-Circle', 'gnome', 'HighContrast', 'breeze', 'breeze-dark', 'Numix-Light', 'Numix', 'Yaru', 'Yaru-bark', 'Yaru-blue', 'Yaru-magenta', 'Yaru-olive', 'Yaru-prussiangreen', 'Yaru-purple', 'Yaru-red', 'Yaru-sage', 'Yaru-viridian', 'Mint-Y-Legacy-Dark-Blue', 'Mint-Y-Legacy-Dark-Brown', 'Mint-Y-Legacy-Dark-Grey', 'Mint-Y-Legacy-Dark-Orange', 'Mint-Y-Legacy-Dark-Pink', 'Mint-Y-Legacy-Dark-Purple', 'Mint-Y-Legacy-Dark-Red', 'Mint-Y-Legacy-Dark-Sand', 'Mint-Y-Legacy-Dark-Teal', 'Mint-Y-Legacy-Dark-Yellow', 'Mint-Y-Legacy', 'Mint-Y-Legacy-Aqua', 'Mint-Y-Legacy-Blue', 'Mint-Y-Legacy-Brown', 'Mint-Y-Legacy-Dark', 'Mint-Y-Legacy-Dark-Aqua', 'Mint-Y-Legacy-Grey', 'Mint-Y-Legacy-Orange', 'Mint-Y-Legacy-Pink', 'Mint-Y-Legacy-Purple', 'Mint-Y-Legacy-Red', 'Mint-Y-Legacy-Sand', 'Mint-Y-Legacy-Teal', 'Mint-Y-Legacy-Yellow', 'ePapirus-Dark', 'ePapirus', 'Papirus-Light', 'Papirus-Dark', 'Papirus', 'Mint-X', 'Mint-X-Aqua', 'Mint-X-Blue', 'Mint-X-Brown', 'Mint-X-Dark', 'Mint-X-Grey', 'Mint-X-Orange', 'Mint-X-Pink', 'Mint-X-Purple', 'Mint-X-Red', 'Mint-X-Sand', 'Mint-X-Teal', 'Mint-X-Yellow', 'Mint-Y-Dark-Teal', 'Mint-Y-Aqua', 'Mint-Y-Blue', 'Mint-Y-Brown', 'Mint-Y-Dark', 'Mint-Y-Dark-Aqua', 'Mint-Y-Dark-Blue', 'Mint-Y-Dark-Brown', 'Mint-Y-Dark-Grey', 'Mint-Y-Dark-Orange', 'Mint-Y-Dark-Pink', 'Mint-Y-Dark-Purple', 'Mint-Y-Dark-Red', 'Mint-Y-Dark-Sand', 'Mint-Y-Grey', 'Mint-Y-Orange', 'Mint-Y-Pink', 'Mint-Y-Purple', 'Mint-Y-Red', 'Mint-Y-Sand', 'Mint-Y-Teal', 'Mint-Y', 'Breeze_Snow', 'breeze_cursors', 'Yaru-bark-dark', 'Yaru-blue-dark', 'Yaru-dark', 'Yaru-magenta-dark', 'Yaru-olive-dark', 'Yaru-prussiangreen-dark', 'Yaru-purple-dark', 'Yaru-red-dark', 'Yaru-sage-dark', 'Yaru-viridian-dark', 'Numix-Circle-Light', 'Bibata-Modern-Classic', 'Bibata-Modern-Ice', 'Bibata-Original-Classic', 'Bibata-Original-Ice', 'GoogleDot-Black', 'GoogleDot-White', 'XCursor-Pro-Dark', 'XCursor-Pro-Light', 'DMZ-Black', 'DMZ-White', 'Adwaita', 'Breeze', 'Breeze Dark', 'Faenza'
time="     3.819" type="debug" -> gui: Loading icon theme 'Breeze'.
time="     3.820" type="debug" -> gui: Found path of base skin: ':/skins/nudus-base'.
time="     3.820" type="debug" -> gui: Trying to load base file ':/skins/nudus-base/html_wrapper.html' for the skin.
time="     3.820" type="debug" -> gui: Local file ':/skins/nudus-light/html_style.css' exists, using it for the skin.
time="     3.820" type="debug" -> gui: Trying to load base file ':/skins/nudus-base/html_enclosure_image.html' for the skin.
time="     3.820" type="debug" -> gui: Trying to load base file ':/skins/nudus-base/html_single_message.html' for the skin.
time="     3.820" type="debug" -> gui: Trying to load base file ':/skins/nudus-base/html_enclosure_every.html' for the skin.
time="     3.820" type="debug" -> gui: Local file ':/skins/nudus-light/qt_style.qss' exists, using it for the skin.
time="     3.820" type="debug" -> gui: Trying to load base file ':/skins/nudus-base/html_adblocked.html' for the skin.
time="     3.822" type="debug" -> gui: Setting style: 'Fusion'.
time="     3.829" type="debug" -> gui: Skin 'nudus-light' loaded.
time="     3.835" type="debug" -> network: Persistent web data storage path: '/home/usuario/.var/app/io.github.martinrotter.rssguard/config/RSS Guard 4/web/storage'.
time="     3.835" type="debug" -> network: Disabling application-wide proxy completely.
time="     3.908" type="debug" -> core: OpenSSL version: 'OpenSSL 1.1.1p  21 Jun 2022'.
time="     3.908" type="debug" -> core: OpenSSL supported: 'true'.
time="     3.908" type="debug" -> core: Global thread pool has 3 threads.
time="     3.908" type="debug" -> core: Starting RSS Guard 4.3.4.
time="     3.908" type="debug" -> core: Instantiated class  'Application'.
time="     3.911" type="debug" -> core: Starting to load active localization. Desired localization is 'es_ES'.
time="     3.912" type="debug" -> core: Application localization 'es_ES' loaded successfully, specifically sublocalization 'es' was loaded.
time="     3.912" type="debug" -> core: Qt localization 'es' loaded successfully.
time="     3.917" type="debug" -> database: SQLite database connection 'MessagesModel' to file '/home/usuario/.var/app/io.github.martinrotter.rssguard/config/RSS Guard 4/database/database.db' seems to be established.
time="     3.926" type="debug" -> message-model: Repopulated model, SQL statement is now:
 'SELECT Messages.id, Messages.is_read, Messages.is_important, Messages.is_deleted, Messages.is_pdeleted, Messages.feed, Messages.title, Messages.url, Messages.author, Messages.date_created, Messages.contents, Messages.enclosures, Messages.score, Messages.account_id, Messages.custom_id, Messages.custom_hash, Feeds.title, CASE WHEN length(Messages.enclosures) > 10 THEN 'true' ELSE 'false' END AS has_enclosures, (SELECT GROUP_CONCAT(Labels.name) FROM Labels WHERE Labels.custom_id IN (SELECT LabelsInMessages.label FROM LabelsInMessages WHERE LabelsInMessages.account_id = Messages.account_id AND LabelsInMessages.message = Messages.custom_id)) as msg_labels FROM Messages LEFT JOIN Feeds ON Messages.feed = Feeds.custom_id AND Messages.account_id = Feeds.account_id WHERE 0 > 1;'.
time="     3.926" type="debug" -> core: Auto-download timer started with interval 10000 ms.
time="     3.926" type="debug" -> core: Creating FeedDownloader singleton.
time="     3.975" type="debug" -> gui: Creating main application form in thread: '0x7f2bae62df80'.
time="     4.025" type="debug" -> gui: Current row changed - proxy 'QModelIndex(-1,-1,0x0,QObject(0x0))', source 'QModelIndex(-1,-1,0x0,QObject(0x0))'.
time="     4.072" type="debug" -> network: Settings of BaseNetworkAccessManager loaded.
time="     4.183" type="debug" -> gui: Creating tray icon menu.
time="     4.214" type="debug" -> core: Showing the main window when the application is starting.
time="     4.228" type="debug" -> database: SQLite database connection 'FeedReader' to file '/home/usuario/.var/app/io.github.martinrotter.rssguard/config/RSS Guard 4/database/database.db' seems to be established.
time="     4.228" type="debug" -> database: SQLite database connection 'FeedlyEntryPoint' to file '/home/usuario/.var/app/io.github.martinrotter.rssguard/config/RSS Guard 4/database/database.db' seems to be established.
time="     4.229" type="debug" -> database: SQLite database connection 'GmailEntryPoint' to file '/home/usuario/.var/app/io.github.martinrotter.rssguard/config/RSS Guard 4/database/database.db' seems to be established.
time="     4.229" type="debug" -> database: SQLite database connection 'GreaderEntryPoint' to file '/home/usuario/.var/app/io.github.martinrotter.rssguard/config/RSS Guard 4/database/database.db' seems to be established.
time="     4.229" type="debug" -> database: SQLite database connection 'OwnCloudServiceEntryPoint' to file '/home/usuario/.var/app/io.github.martinrotter.rssguard/config/RSS Guard 4/database/database.db' seems to be established.
time="     4.230" type="debug" -> database: SQLite database connection 'StandardServiceEntryPoint' to file '/home/usuario/.var/app/io.github.martinrotter.rssguard/config/RSS Guard 4/database/database.db' seems to be established.
time="     4.230" type="debug" -> database: SQLite database connection 'TtRssServiceEntryPoint' to file '/home/usuario/.var/app/io.github.martinrotter.rssguard/config/RSS Guard 4/database/database.db' seems to be established.
time="     4.230" type="debug" -> gui: User wants to have tray icon.
time="     4.230" type="warning" -> gui: Showing tray icon with 3000 ms delay.
time="     4.252" type="debug" -> gui: Creating SystemTrayIcon instance.
time="     4.262" type="debug" -> core: No execution message received from other app instances.
[37:9:0420/205008.233749:ERROR:command_buffer_proxy_impl.cc(125)] ContextResult::kTransientFailure: Failed to send GpuControl.CreateCommandBuffer.
time="     7.088" type="warning" -> gui: Tray icon is available, showing now.
time="     7.088" type="debug" -> gui: Showing tray icon immediately.
time="     7.088" type="debug" -> gui: Tray icon displayed.
time="    10.559" type="debug" -> database: SQLite database connection 'StandardServiceRoot' to file '/home/usuario/.var/app/io.github.martinrotter.rssguard/config/RSS Guard 4/database/database.db' seems to be established.
time="    10.563" type="debug" -> core: Filter accepts row 'usuario (RSS/ATOM/JSON)' and filter result is: 'true'.
time="    10.563" type="debug" -> database: SQLite connection 'StandardServiceRoot' is already active.
time="    10.563" type="debug" -> database: SQLite database connection 'StandardServiceRoot' to file '/home/usuario/.var/app/io.github.martinrotter.rssguard/config/RSS Guard 4/database/database.db' seems to be established.
time="    10.563" type="debug" -> database: SQLite database connection 'RecycleBin' to file '/home/usuario/.var/app/io.github.martinrotter.rssguard/config/RSS Guard 4/database/database.db' seems to be established.
time="    10.564" type="debug" -> database: SQLite database connection 'ImportantNode' to file '/home/usuario/.var/app/io.github.martinrotter.rssguard/config/RSS Guard 4/database/database.db' seems to be established.
time="    10.564" type="debug" -> database: SQLite database connection 'RootItem' to file '/home/usuario/.var/app/io.github.martinrotter.rssguard/config/RSS Guard 4/database/database.db' seems to be established.
time="    10.576" type="debug" -> core: Filter accepts row 'Papelera de reciclaje' and filter result is: 'true'.
time="    10.576" type="debug" -> core: Filter accepts row 'Artículos importantes' and filter result is: 'true'.
time="    10.576" type="debug" -> core: Filter accepts row 'Unread articles' and filter result is: 'true'.
time="    10.576" type="debug" -> core: Filter accepts row 'Etiquetas' and filter result is: 'true'.
time="    12.489" type="debug" -> database: SQLite connection 'StandardServiceRoot' is already active.
time="    12.489" type="debug" -> database: SQLite database connection 'StandardServiceRoot' to file '/home/usuario/.var/app/io.github.martinrotter.rssguard/config/RSS Guard 4/database/database.db' seems to be established.
time="    12.490" type="debug" -> core: Filter accepts row 'usuario (RSS/ATOM/JSON)' and filter result is: 'true'.
time="    12.490" type="debug" -> core: Filter accepts row 'RSS Guard' and filter result is: 'true'.
time="    12.490" type="debug" -> core: Filter accepts row 'usuario (RSS/ATOM/JSON)' and filter result is: 'true'.
time="    12.490" type="debug" -> core: Filter accepts row 'Technology' and filter result is: 'true'.
time="    12.491" type="debug" -> core: Filter accepts row 'usuario (RSS/ATOM/JSON)' and filter result is: 'true'.
time="    12.491" type="debug" -> core: Filter accepts row 'Misc' and filter result is: 'true'.
time="    12.501" type="debug" -> core: Filter accepts row 'Misc' and filter result is: 'true'.
time="    12.502" type="debug" -> core: Filter accepts row 'Lifehacker' and filter result is: 'true'.
time="    12.505" type="debug" -> core: Filter accepts row 'Technology' and filter result is: 'true'.
time="    12.505" type="debug" -> core: Filter accepts row 'Scott Hanselman's Blog' and filter result is: 'true'.
time="    12.505" type="debug" -> core: Filter accepts row 'Technology' and filter result is: 'true'.
time="    12.505" type="debug" -> core: Filter accepts row 'Slashdot' and filter result is: 'true'.
time="    12.506" type="debug" -> core: Filter accepts row 'Technology' and filter result is: 'true'.
time="    12.506" type="debug" -> core: Filter accepts row 'NYT > Technology' and filter result is: 'true'.
time="    12.509" type="debug" -> core: Filter accepts row 'Technology' and filter result is: 'true'.
time="    12.516" type="debug" -> core: Filter accepts row 'The Verge' and filter result is: 'true'.
time="    12.517" type="debug" -> core: Filter accepts row 'Technology' and filter result is: 'true'.
time="    12.517" type="debug" -> core: Filter accepts row 'nixCraft: Linux Tips' and filter result is: 'true'.
time="    12.518" type="debug" -> core: Filter accepts row 'Technology' and filter result is: 'true'.
time="    12.518" type="debug" -> core: Filter accepts row 'It's FOSS' and filter result is: 'true'.
time="    12.518" type="debug" -> core: Filter accepts row 'Technology' and filter result is: 'true'.
time="    12.518" type="debug" -> core: Filter accepts row 'MajorGeeks.Com' and filter result is: 'true'.
time="    12.519" type="debug" -> core: Filter accepts row 'RSS Guard' and filter result is: 'true'.
time="    12.519" type="debug" -> core: Filter accepts row 'Recent Commits to rssguard:master' and filter result is: 'true'.
time="    12.520" type="debug" -> gui: Feed list item expanded - usuario (RSS/ATOM/JSON)
time="    12.538" type="debug" -> gui: Feed list item expanded - Papelera de reciclaje
time="    12.540" type="debug" -> gui: Feed list item expanded - Artículos importantes
time="    12.541" type="debug" -> gui: Feed list item expanded - Unread articles
time="    12.542" type="debug" -> gui: Feed list item expanded - Etiquetas
time="    12.549" type="debug" -> gui: Feed list item expanded - RSS Guard
time="    12.559" type="debug" -> gui: Feed list item expanded - Technology
time="    12.578" type="debug" -> gui: Feed list item expanded - Misc
time="    12.579" type="debug" -> gui: Destroying FormAddAccount instance.
time="    33.013" type="debug" -> core: Syncing settings.
time="    33.013" type="debug" -> network: Disabling application-wide proxy completely.
time="    33.018" type="debug" -> network: Settings of BaseNetworkAccessManager loaded.
time="    33.019" type="debug" -> network: Settings of BaseNetworkAccessManager loaded.
time="    33.021" type="debug" -> gui: Destroying FormSettings distance.
time="    42.127" type="debug" -> CTRL is NOT pressed while sorting articles - sorting with standard mode.
time="    42.127" type="debug" -> Displaying messages from feeds IDs: ''2'' and URLs: 'http://feeds.hanselman.com/ScottHanselman'.
time="    42.127" type="debug" -> message-model: Repopulated model, SQL statement is now:
 'SELECT Messages.id, Messages.is_read, Messages.is_important, Messages.is_deleted, Messages.is_pdeleted, Messages.feed, Messages.title, Messages.url, Messages.author, Messages.date_created, Messages.contents, Messages.enclosures, Messages.score, Messages.account_id, Messages.custom_id, Messages.custom_hash, Feeds.title, CASE WHEN length(Messages.enclosures) > 10 THEN 'true' ELSE 'false' END AS has_enclosures, (SELECT GROUP_CONCAT(Labels.name) FROM Labels WHERE Labels.custom_id IN (SELECT LabelsInMessages.label FROM LabelsInMessages WHERE LabelsInMessages.account_id = Messages.account_id AND LabelsInMessages.message = Messages.custom_id)) as msg_labels FROM Messages LEFT JOIN Feeds ON Messages.feed = Feeds.custom_id AND Messages.account_id = Feeds.account_id WHERE Feeds.custom_id IN ('2') AND Messages.is_deleted = 0 AND Messages.is_pdeleted = 0 AND Messages.account_id = 1 ORDER BY Messages.id DESC;'.
time="    42.143" type="debug" -> core: Filter accepts row 'usuario (RSS/ATOM/JSON)' and filter result is: 'true'.
time="    42.143" type="debug" -> core: Filter accepts row 'RSS Guard' and filter result is: 'true'.
time="    42.143" type="debug" -> core: Filter accepts row 'Technology' and filter result is: 'true'.
time="    42.143" type="debug" -> core: Filter accepts row 'Misc' and filter result is: 'true'.
time="    42.143" type="debug" -> core: Filter accepts row 'Etiquetas' and filter result is: 'true'.
time="    42.143" type="debug" -> core: Filter accepts row 'Artículos importantes' and filter result is: 'true'.
time="    42.143" type="debug" -> core: Filter accepts row 'Unread articles' and filter result is: 'true'.
time="    42.143" type="debug" -> core: Filter accepts row 'Papelera de reciclaje' and filter result is: 'true'.
time="    42.143" type="debug" -> core: Filter accepts row 'Lifehacker' and filter result is: 'true'.
time="    42.143" type="debug" -> core: Filter accepts row 'Scott Hanselman's Blog' and filter result is: 'true'.
time="    42.143" type="debug" -> core: Filter accepts row 'Slashdot' and filter result is: 'true'.
time="    42.143" type="debug" -> core: Filter accepts row 'NYT > Technology' and filter result is: 'true'.
time="    42.143" type="debug" -> core: Filter accepts row 'The Verge' and filter result is: 'true'.
time="    42.143" type="debug" -> core: Filter accepts row 'nixCraft: Linux Tips' and filter result is: 'true'.
time="    42.143" type="debug" -> core: Filter accepts row 'It's FOSS' and filter result is: 'true'.
time="    42.143" type="debug" -> core: Filter accepts row 'MajorGeeks.Com' and filter result is: 'true'.
time="    42.143" type="debug" -> core: Filter accepts row 'Recent Commits to rssguard:master' and filter result is: 'true'.
time="    42.994" type="debug" -> feed-downloader: Starting feed updates from worker in thread '0x7f2b3bfff640'.
time="    42.994" type="debug" -> feed-downloader: All caches synchronized.
time="    42.994" type="debug" -> database: SQLite database connection 'db_connection_139823666951744' to file '/home/usuario/.var/app/io.github.martinrotter.rssguard/config/RSS Guard 4/database/database.db' seems to be established.
time="    42.994" type="debug" -> feed-downloader: Downloading new messages for feed ID '2' URL: 'http://feeds.hanselman.com/ScottHanselman' title: 'Scott Hanselman's Blog' in thread  '139823572538944'.
time="    42.994" type="debug" -> database: SQLite database connection 'db_connection_139823572538944' to file '/home/usuario/.var/app/io.github.martinrotter.rssguard/config/RSS Guard 4/database/database.db' seems to be established.
time="    42.994" type="debug" -> core: Downloading URL 'http://feeds.hanselman.com/ScottHanselman' to obtain feed data.
time="    42.994" type="debug" -> network: Settings of BaseNetworkAccessManager loaded.
time="    43.784" type="debug" -> network: Destroying Downloader instance.
time="    43.785" type="debug" -> network: Destroying SilentNetworkAccessManager instance.
time="    43.799" type="debug" -> feed-downloader: Downloaded 11 messages for feed ID '2',operation took 805206 microseconds.
time="    43.800" type="debug" -> database: SQLite connection 'db_connection_139823572538944' is already active.
time="    43.800" type="debug" -> database: SQLite database connection 'db_connection_139823572538944' to file '/home/usuario/.var/app/io.github.martinrotter.rssguard/config/RSS Guard 4/database/database.db' seems to be established.
time="    43.800" type="debug" -> core: Updating messages in DB.
time="    43.801" type="debug" -> database: Checking if message with feed-specific custom ID 'https://www.hanselman.com/blog/post/0c9c9a66-f3db-4e58-a1f3-c692b8ad64af' is present in DB.
time="    43.801" type="debug" -> database: Checking if message with feed-specific custom ID 'https://www.hanselman.com/blog/post/aba7f282-e752-48e8-8bf5-3c2e8c33c0e6' is present in DB.
time="    43.801" type="debug" -> database: Checking if message with feed-specific custom ID 'https://www.hanselman.com/blog/post/9632ddf9-403c-4319-bba6-4cb98bc7932b' is present in DB.
time="    43.802" type="debug" -> database: Checking if message with feed-specific custom ID 'https://www.hanselman.com/blog/post/0909e949-cd9a-4867-8e02-6e24660b1856' is present in DB.
time="    43.802" type="debug" -> database: Checking if message with feed-specific custom ID 'https://www.hanselman.com/blog/post/495513ca-ca88-421f-8ade-50e4cf17d747' is present in DB.
time="    43.802" type="debug" -> database: Checking if message with feed-specific custom ID 'https://www.hanselman.com/blog/post/efee6f41-a33b-4fb4-9af0-6a8df6b9539b' is present in DB.
time="    43.802" type="debug" -> database: Checking if message with feed-specific custom ID 'https://www.hanselman.com/blog/post/d9e0f2ec-d7fd-484e-9b60-35cc70ab1398' is present in DB.
time="    43.802" type="debug" -> database: Checking if message with feed-specific custom ID 'https://www.hanselman.com/blog/post/a3e8448a-7bc5-4256-b945-ac12db42970d' is present in DB.
time="    43.802" type="debug" -> database: Checking if message with feed-specific custom ID 'https://www.hanselman.com/blog/post/5640a57a-b161-4d16-b72c-e8d4d8d9c1e3' is present in DB.
time="    43.802" type="debug" -> database: Checking if message with feed-specific custom ID 'https://www.hanselman.com/blog/post/6b5f7bee-a5e6-4a55-a922-96080fbf89de' is present in DB.
time="    43.802" type="debug" -> database: Checking if message with feed-specific custom ID 'https://www.hanselman.com/blog/post/384dc9f7-9053-4c0b-9337-56c3305b06f8' is present in DB.
time="    43.804" type="debug" -> database: SQLite connection 'db_connection_139823572538944' is already active.
time="    43.804" type="debug" -> database: SQLite database connection 'db_connection_139823572538944' to file '/home/usuario/.var/app/io.github.martinrotter.rssguard/config/RSS Guard 4/database/database.db' seems to be established.
time="    43.804" type="debug" -> database: SQLite connection 'db_connection_139823572538944' is already active.
time="    43.804" type="debug" -> database: SQLite database connection 'db_connection_139823572538944' to file '/home/usuario/.var/app/io.github.martinrotter.rssguard/config/RSS Guard 4/database/database.db' seems to be established.
time="    43.804" type="debug" -> database: SQLite connection 'db_connection_139823572538944' is already active.
time="    43.804" type="debug" -> database: SQLite database connection 'db_connection_139823572538944' to file '/home/usuario/.var/app/io.github.martinrotter.rssguard/config/RSS Guard 4/database/database.db' seems to be established.
time="    43.804" type="debug" -> database: SQLite connection 'db_connection_139823572538944' is already active.
time="    43.804" type="debug" -> database: SQLite database connection 'db_connection_139823572538944' to file '/home/usuario/.var/app/io.github.martinrotter.rssguard/config/RSS Guard 4/database/database.db' seems to be established.
time="    43.805" type="debug" -> feed-downloader: Updating messages in DB took 4245 microseconds.
time="    43.805" type="debug" -> feed-downloader: std::pair(11,11) messages for feed 2 stored in DB.
time="    43.805" type="debug" -> feed-downloader: Made progress in feed updates, total feeds count 1/1 (id of feed is 2).
time="    43.805" type="debug" -> feed-downloader: Finished feed updates in thread '0x7f2b3bfff640'.
time="    43.806" type="debug" -> core: Filter accepts row 'Papelera de reciclaje' and filter result is: 'true'.
time="    43.806" type="debug" -> core: Filter accepts row 'Artículos importantes' and filter result is: 'true'.
time="    43.806" type="debug" -> core: Filter accepts row 'Unread articles' and filter result is: 'true'.
time="    43.806" type="debug" -> core: Filter accepts row 'Etiquetas' and filter result is: 'true'.
time="    43.806" type="debug" -> core: Filter accepts row 'RSS Guard' and filter result is: 'true'.
time="    43.806" type="debug" -> core: Filter accepts row 'Technology' and filter result is: 'true'.
time="    43.806" type="debug" -> core: Filter accepts row 'Misc' and filter result is: 'true'.
time="    43.806" type="debug" -> core: Filter accepts row 'usuario (RSS/ATOM/JSON)' and filter result is: 'true'.
time="    43.806" type="debug" -> core: Filter accepts row 'Scott Hanselman's Blog' and filter result is: 'true'.
time="    43.806" type="debug" -> core: Filter accepts row 'Slashdot' and filter result is: 'true'.
time="    43.806" type="debug" -> core: Filter accepts row 'NYT > Technology' and filter result is: 'true'.
time="    43.806" type="debug" -> core: Filter accepts row 'The Verge' and filter result is: 'true'.
time="    43.806" type="debug" -> core: Filter accepts row 'nixCraft: Linux Tips' and filter result is: 'true'.
time="    43.806" type="debug" -> core: Filter accepts row 'It's FOSS' and filter result is: 'true'.
time="    43.806" type="debug" -> core: Filter accepts row 'MajorGeeks.Com' and filter result is: 'true'.
time="    43.809" type="debug" -> core: Using QSoundEffect to play notification sound.
time="    43.818" type="debug" -> CTRL is NOT pressed while sorting articles - sorting with standard mode.
time="    43.822" type="debug" -> message-model: Repopulated model, SQL statement is now:
 'SELECT Messages.id, Messages.is_read, Messages.is_important, Messages.is_deleted, Messages.is_pdeleted, Messages.feed, Messages.title, Messages.url, Messages.author, Messages.date_created, Messages.contents, Messages.enclosures, Messages.score, Messages.account_id, Messages.custom_id, Messages.custom_hash, Feeds.title, CASE WHEN length(Messages.enclosures) > 10 THEN 'true' ELSE 'false' END AS has_enclosures, (SELECT GROUP_CONCAT(Labels.name) FROM Labels WHERE Labels.custom_id IN (SELECT LabelsInMessages.label FROM LabelsInMessages WHERE LabelsInMessages.account_id = Messages.account_id AND LabelsInMessages.message = Messages.custom_id)) as msg_labels FROM Messages LEFT JOIN Feeds ON Messages.feed = Feeds.custom_id AND Messages.account_id = Feeds.account_id WHERE Feeds.custom_id IN ('2') AND Messages.is_deleted = 0 AND Messages.is_pdeleted = 0 AND Messages.account_id = 1 ORDER BY Messages.id DESC;'.
time="    43.825" type="debug" -> gui: Reloading of msg selections took 7 miliseconds.
time="    45.269" type="debug" -> core: Filter accepts row 'Recent Commits to rssguard:master' and filter result is: 'true'.
time="    45.269" type="debug" -> core: Filter accepts row 'Lifehacker' and filter result is: 'true'.
time="    49.389" type="debug" -> gui: Message list got focus with reason 'Qt::MouseFocusReason'.
time="    49.389" type="debug" -> gui: Current row changed - proxy 'QModelIndex(2,6,0x5648386745d0,MessagesProxyModel(0x56483670bca0, name = MessagesProxyModel))', source 'QModelIndex(2,6,0x0,MessagesModel(0x564836052800))'.
time="    49.389" type="debug" -> database: SQLite connection 'RecycleBin' is already active.
time="    49.389" type="debug" -> database: SQLite database connection 'RecycleBin' to file '/home/usuario/.var/app/io.github.martinrotter.rssguard/config/RSS Guard 4/database/database.db' seems to be established.
time="    49.389" type="debug" -> database: SQLite connection 'ImportantNode' is already active.
time="    49.389" type="debug" -> database: SQLite database connection 'ImportantNode' to file '/home/usuario/.var/app/io.github.martinrotter.rssguard/config/RSS Guard 4/database/database.db' seems to be established.
time="    49.390" type="debug" -> database: SQLite connection 'RootItem' is already active.
time="    49.390" type="debug" -> database: SQLite database connection 'RootItem' to file '/home/usuario/.var/app/io.github.martinrotter.rssguard/config/RSS Guard 4/database/database.db' seems to be established.
time="    49.390" type="debug" -> database: SQLite connection 'StandardServiceRoot' is already active.
time="    49.390" type="debug" -> database: SQLite database connection 'StandardServiceRoot' to file '/home/usuario/.var/app/io.github.martinrotter.rssguard/config/RSS Guard 4/database/database.db' seems to be established.
time="    49.390" type="debug" -> feed-model: There is request to reload feed model for more than 10 items, reloading model fully.
time="    49.390" type="debug" -> core: Filter accepts row 'usuario (RSS/ATOM/JSON)' and filter result is: 'true'.
time="    49.390" type="debug" -> core: Filter accepts row 'Papelera de reciclaje' and filter result is: 'true'.
time="    49.390" type="debug" -> core: Filter accepts row 'Artículos importantes' and filter result is: 'true'.
time="    49.390" type="debug" -> core: Filter accepts row 'Unread articles' and filter result is: 'true'.
time="    49.390" type="debug" -> core: Filter accepts row 'Etiquetas' and filter result is: 'true'.
time="    49.390" type="debug" -> core: Filter accepts row 'RSS Guard' and filter result is: 'true'.
time="    49.390" type="debug" -> core: Filter accepts row 'Technology' and filter result is: 'true'.
time="    49.390" type="debug" -> core: Filter accepts row 'Misc' and filter result is: 'true'.
time="    49.390" type="debug" -> core: Filter accepts row 'Scott Hanselman's Blog' and filter result is: 'true'.
time="    49.390" type="debug" -> core: Filter accepts row 'Slashdot' and filter result is: 'true'.
time="    49.390" type="debug" -> core: Filter accepts row 'NYT > Technology' and filter result is: 'true'.
time="    49.390" type="debug" -> core: Filter accepts row 'The Verge' and filter result is: 'true'.
time="    49.391" type="debug" -> core: Filter accepts row 'nixCraft: Linux Tips' and filter result is: 'true'.
time="    49.391" type="debug" -> core: Filter accepts row 'It's FOSS' and filter result is: 'true'.
time="    49.391" type="debug" -> core: Filter accepts row 'MajorGeeks.Com' and filter result is: 'true'.
time="    49.407" type="debug" -> core: Filter accepts row 'Recent Commits to rssguard:master' and filter result is: 'true'.
time="    49.408" type="debug" -> core: Filter accepts row 'Lifehacker' and filter result is: 'true'.
time="    49.751" type="debug" -> gui: Hovered link: 'QUrl()'.
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: iCCP: cHRM chunk does not match sRGB
time="    51.898" type="debug" -> gui: Message list got focus with reason 'Qt::PopupFocusReason'.
time="    51.898" type="debug" -> network: We are trying to open URL 'http://feeds.hanselman.com/~/672999470/0/scotthanselman~Lets-upgrade-my-main-site-and-podcast-to-NET-LTS'.
time="    51.898" type="debug" -> network: Arguments for external browser: '"http://feeds.hanselman.com/~/672999470/0/scotthanselman~Lets-upgrade-my-main-site-and-podcast-to-NET-LTS"'.
time="    51.925" type="debug" -> network: External web browser call failed.
time="    53.761" type="debug" -> database: SQLite connection 'RecycleBin' is already active.
time="    53.761" type="debug" -> database: SQLite database connection 'RecycleBin' to file '/home/usuario/.var/app/io.github.martinrotter.rssguard/config/RSS Guard 4/database/database.db' seems to be established.
time="    53.761" type="debug" -> database: SQLite connection 'ImportantNode' is already active.
time="    53.761" type="debug" -> database: SQLite database connection 'ImportantNode' to file '/home/usuario/.var/app/io.github.martinrotter.rssguard/config/RSS Guard 4/database/database.db' seems to be established.
time="    53.761" type="debug" -> database: SQLite connection 'RootItem' is already active.
time="    53.761" type="debug" -> database: SQLite database connection 'RootItem' to file '/home/usuario/.var/app/io.github.martinrotter.rssguard/config/RSS Guard 4/database/database.db' seems to be established.
time="    53.762" type="debug" -> database: SQLite connection 'StandardServiceRoot' is already active.
time="    53.762" type="debug" -> database: SQLite database connection 'StandardServiceRoot' to file '/home/usuario/.var/app/io.github.martinrotter.rssguard/config/RSS Guard 4/database/database.db' seems to be established.
time="    53.762" type="debug" -> feed-model: There is request to reload feed model for more than 10 items, reloading model fully.
time="    53.762" type="debug" -> core: Filter accepts row 'Papelera de reciclaje' and filter result is: 'true'.
time="    53.762" type="debug" -> core: Filter accepts row 'Artículos importantes' and filter result is: 'true'.
time="    53.762" type="debug" -> core: Filter accepts row 'Unread articles' and filter result is: 'true'.
time="    53.762" type="debug" -> core: Filter accepts row 'Etiquetas' and filter result is: 'true'.
time="    53.762" type="debug" -> core: Filter accepts row 'RSS Guard' and filter result is: 'true'.
time="    53.762" type="debug" -> core: Filter accepts row 'Technology' and filter result is: 'true'.
time="    53.762" type="debug" -> core: Filter accepts row 'Misc' and filter result is: 'true'.
time="    53.762" type="debug" -> core: Filter accepts row 'usuario (RSS/ATOM/JSON)' and filter result is: 'true'.
time="    53.762" type="debug" -> core: Filter accepts row 'Scott Hanselman's Blog' and filter result is: 'true'.
time="    53.762" type="debug" -> core: Filter accepts row 'Slashdot' and filter result is: 'true'.
time="    53.762" type="debug" -> core: Filter accepts row 'NYT > Technology' and filter result is: 'true'.
time="    53.762" type="debug" -> core: Filter accepts row 'The Verge' and filter result is: 'true'.
time="    53.762" type="debug" -> core: Filter accepts row 'nixCraft: Linux Tips' and filter result is: 'true'.
time="    53.762" type="debug" -> core: Filter accepts row 'It's FOSS' and filter result is: 'true'.
time="    53.762" type="debug" -> core: Filter accepts row 'MajorGeeks.Com' and filter result is: 'true'.
time="    53.764" type="debug" -> gui: Message list got focus with reason 'Qt::ActiveWindowFocusReason'.
time="    53.771" type="debug" -> core: Filter accepts row 'Recent Commits to rssguard:master' and filter result is: 'true'.
time="    53.771" type="debug" -> core: Filter accepts row 'Lifehacker' and filter result is: 'true'.

Operating system and version

martinrotter commented 1 year ago

Well, I will test tonight on my home Linux machine, this might be well related to flatpak sandboxing things.

time="    51.898" type="debug" -> network: We are trying to open URL 'http://feeds.hanselman.com/~/672999470/0/scotthanselman~Lets-upgrade-my-main-site-and-podcast-to-NET-LTS'.
time="    51.898" type="debug" -> network: Arguments for external browser: '"http://feeds.hanselman.com/~/672999470/0/scotthanselman~Lets-upgrade-my-main-site-and-podcast-to-NET-LTS"'.
time="    51.925" type="debug" -> network: External web browser call failed.
guihkx commented 1 year ago

As far as I know, the only way to make this work would be by weakening the Flatpak sandbox by adding the --talk-name=org.freedesktop.Flatpak permission, which would allow Flatpak apps to launch programs outside of their own sandbox (i.e. programs from the host itself).

That's because, by design, Flatpak denies access to /usr/bin and a bunch of other directories on the host.

If you still want to do this (which is something I personally don't recommend), first add the required permission to RSS Guard:

flatpak --user override --talk-name=org.freedesktop.Flatpak io.github.martinrotter.rssguard

Restart RSS Guard, go to Settings > Network & web & tools > External web browser, and match these settings (type the first path manually, don't use the Browse button):

image

You can replace firefox in the Parameters field by whatever browser you want.

If you want to undo this (i.e. use the default, safer sandbox permissions), run:

flatpak --user override --no-talk-name=org.freedesktop.Flatpak io.github.martinrotter.rssguard

And then restart RSS Guard.

martinrotter commented 1 year ago

Well, I guess this is now solved. :) Thanks @guihkx.

ghost commented 1 year ago

@guihkx Thank you so much! I just tried it and it works fine with tor browser too. I'll have to see if I can make it a little less insecure, but for now this is great :-)

Sorry for the trouble to you both.

richardstevenhack commented 6 months ago

Just tried it. It works. Thanks! I prefer RSSGuard to using Thunderbird's RSS, so this sends me back to RSSGuard.