Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[BUG]: Right-clicking on an article doesn't open it anymore #1410

Closed
guihkx opened this issue May 16, 2024 · 3 comments
Closed

[BUG]: Right-clicking on an article doesn't open it anymore #1410

guihkx opened this issue May 16, 2024 · 3 comments
Assignees
Labels
Milestone

Comments

@guihkx
Copy link
Contributor

guihkx commented May 16, 2024

Brief description of the issue

This is a difference in behavior between 4.6.6 and 4.7.0.

With 4.6.6, you could right-click on any article and it would load up on the WebView panel.

With 4.7.0, right-clicking on articles doesn't make them load on the WebView panel anymore.

I ran a git bisect and commit cd24bcd was the one that introduced this difference in behavior. I understand that with this commit, new options to configure the "read behavior" were introduced, but the previous right-clicking behavior of 4.6.6 isn't there...

So I think this could technically be considered a regression, because the behavior of 4.6.6 was actually added on purpose by you, back in 2021: #321.

How to reproduce the bug?

  1. Right-click on any article

What was the expected result?

The contents of the article should load on the WebView panel (according to the behavior of 4.6.6).

What actually happened?

The article doesn't load on the WebView panel.

Debug log

time="     0.000" type="debug" -> core: Starting RSS Guard 4.7.0.
time="     0.000" type="debug" -> core: Current UTC date/time is 2024-05-16T22:52:11Z.
time="     0.136" type="debug" -> core: Initializing settings in '/home/gui/.config/RSS Guard 4/config/config.ini' (non-portable way).
time="     0.136" type="debug" -> core: Starting to load active localization. Desired localization is 'en_US'.
time="     0.137" type="debug" -> core: Application localization 'en_US' loaded successfully, specifically sublocalization 'en_US' was loaded.
time="     0.137" type="warning" -> core: Qt localization 'en_US' WAS NOT loaded successfully.
time="     0.165" type="debug" -> database: File-based SQLite database connection 'DatabaseFactory' to file '/home/gui/.config/RSS Guard 4/database/database.db' seems to be established.
time="     0.165" type="debug" -> database: File-based SQLite database has version '8'.
time="     0.166" type="debug" -> gui: Available icon theme paths: QList(/home/gui/.local/share/icons, /home/gui/.local/share/flatpak/exports/share/icons, /var/lib/flatpak/exports/share/icons, /usr/share/icons, :/icons, :/graphics, /home/gui/.config/RSS Guard 4/icons, /tmp/rssguard-no-lite-builddir-qt6/src/rssguard/icons)
time="     0.166" type="debug" -> gui: Installed icon themes are: '', 'hicolor', 'breeze', 'breeze-dark', 'breeze_cursors', 'Breeze_Light', 'Adwaita', 'default'
time="     0.166" type="debug" -> gui: Loading default system icon theme.
time="     0.166" type="debug" -> gui: Found path of base skin: ':/skins/nudus-base'.
time="     0.167" type="debug" -> gui: Base file ':/skins/nudus-base/html_wrapper.html' exists, using it for the skin.
time="     0.167" type="debug" -> gui: Local file ':/skins/nudus-light/lite_html_style.css' exists, using it for the skin.
time="     0.167" type="debug" -> gui: Base file ':/skins/nudus-base/lite_html_enclosure_image.html' exists, using it for the skin.
time="     0.167" type="debug" -> gui: Base file ':/skins/nudus-base/lite_html_single_message.html' exists, using it for the skin.
time="     0.167" type="debug" -> gui: Base file ':/skins/nudus-base/lite_html_enclosure_every.html' exists, using it for the skin.
time="     0.167" type="debug" -> gui: Local file ':/skins/nudus-light/qt_style.qss' exists, using it for the skin.
time="     0.167" type="debug" -> gui: Base file ':/skins/nudus-base/html_adblocked.html' exists, using it for the skin.
time="     0.167" type="debug" -> gui: OS defines color scheme: 'Qt::ColorScheme::Unknown'.
time="     0.167" type="debug" -> gui: Setting style: ''.
time="     0.168" type="debug" -> gui: Skin 'nudus-light' loaded. Lite: 'true'.
time="     0.168" type="debug" -> network: Disabling application-wide proxy completely.
time="     0.168" type="debug" -> core: SQLite version: '3.45.3'.
time="     0.171" type="debug" -> core: OpenSSL version: 'OpenSSL 3.3.0 9 Apr 2024'.
time="     0.171" type="debug" -> core: OpenSSL supported: 'true'.
time="     0.171" type="debug" -> core: Global thread pool has 4 threads.
time="     0.171" type="debug" -> core: Instantiated class  'Application'.
time="     0.172" type="debug" -> database: SQLite database connection 'MessagesModel' to file '/home/gui/.config/RSS Guard 4/database/database.db' seems to be established.
time="     0.173" 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, Feeds.is_rtl, CASE WHEN LENGTH(Messages.enclosures) > 10 THEN 'true' ELSE 'false' END AS has_enclosures, (SELECT GROUP_CONCAT(Labels.name) FROM Labels WHERE Messages.labels LIKE "%." || Labels.custom_id || ".%") as msg_labels, Messages.labels FROM Messages LEFT JOIN Feeds ON Messages.feed = Feeds.custom_id AND Messages.account_id = Feeds.account_id WHERE 0 > 1;'.
time="     0.173" type="debug" -> core: Auto-download timer started with interval 10000 ms.
time="     0.173" type="debug" -> core: Creating FeedDownloader singleton.
time="     0.188" type="debug" -> gui: Creating main application form in thread: '0x7acfa993d980'.
time="     0.234" type="debug" -> gui: Current row changed - proxy 'QModelIndex(-1,-1,0x0,QObject(0x0))', source 'QModelIndex(-1,-1,0x0,QObject(0x0))'.
time="     0.234" type="debug" -> gui: Article list header geometries changed.
time="     0.241" type="debug" -> network: Settings of BaseNetworkAccessManager loaded.
time="     0.242" type="debug" -> network: Settings of BaseNetworkAccessManager loaded.
time="     0.242" type="debug" -> network: Settings of BaseNetworkAccessManager loaded.
time="     0.252" type="debug" -> gui: Article list header geometries changed.
time="     0.257" type="debug" -> gui: Article list header geometries changed.
time="     0.261" type="debug" -> gui: Article list header geometries changed.
time="     0.266" type="debug" -> gui: Article list header geometries changed.
time="     0.295" type="debug" -> gui: Creating tray icon menu.
time="     0.326" type="debug" -> CTRL is NOT pressed while sorting articles - sorting with standard mode.
time="     0.326" 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, Feeds.is_rtl, CASE WHEN LENGTH(Messages.enclosures) > 10 THEN 'true' ELSE 'false' END AS has_enclosures, (SELECT GROUP_CONCAT(Labels.name) FROM Labels WHERE Messages.labels LIKE "%." || Labels.custom_id || ".%") as msg_labels, Messages.labels FROM Messages LEFT JOIN Feeds ON Messages.feed = Feeds.custom_id AND Messages.account_id = Feeds.account_id WHERE 0 > 1 ORDER BY Messages.date_created DESC;'.
time="     0.330" type="debug" -> core: Showing the main window when the application is starting.
time="     0.334" type="debug" -> gui: Article list header geometries changed.
time="     0.335" type="debug" -> gui: Article list header geometries changed.
time="     0.336" type="debug" -> gui: Article list header geometries changed.
time="     0.338" type="debug" -> database: SQLite database connection 'FeedReader' to file '/home/gui/.config/RSS Guard 4/database/database.db' seems to be established.
time="     0.342" type="debug" -> core: Plugin '/tmp/rssguard-no-lite-builddir-qt6/src/librssguard-standard/librssguard-standard.so' loaded.
time="     0.343" type="debug" -> core: Plugin '/tmp/rssguard-no-lite-builddir-qt6/src/librssguard-feedly/librssguard-feedly.so' loaded.
time="     0.345" type="debug" -> core: Plugin '/tmp/rssguard-no-lite-builddir-qt6/src/librssguard-gmail/librssguard-gmail.so' loaded.
time="     0.346" type="debug" -> core: Plugin '/tmp/rssguard-no-lite-builddir-qt6/src/librssguard-greader/librssguard-greader.so' loaded.
time="     0.348" type="debug" -> core: Plugin '/tmp/rssguard-no-lite-builddir-qt6/src/librssguard-ttrss/librssguard-ttrss.so' loaded.
time="     0.349" type="debug" -> core: Plugin '/tmp/rssguard-no-lite-builddir-qt6/src/librssguard-nextcloud/librssguard-nextcloud.so' loaded.
time="     0.349" type="debug" -> database: SQLite database connection 'StandardServiceEntryPoint' to file '/home/gui/.config/RSS Guard 4/database/database.db' seems to be established.
time="     0.349" type="debug" -> core: Destructing 'std-rss' plugin.
time="     0.350" type="debug" -> database: SQLite database connection 'StandardServiceRoot' to file '/home/gui/.config/RSS Guard 4/database/database.db' seems to be established.
time="     0.350" type="debug" -> core: Custom ID of feed when loading from DB is '1'.
time="     0.351" type="debug" -> core: Custom ID of feed when loading from DB is '2'.
time="     0.351" type="debug" -> core: Custom ID of feed when loading from DB is '3'.
time="     0.351" type="debug" -> core: Custom ID of feed when loading from DB is '4'.
time="     0.352" type="debug" -> core: Custom ID of feed when loading from DB is '5'.
time="     0.352" type="debug" -> core: Custom ID of feed when loading from DB is '6'.
time="     0.352" type="debug" -> core: Custom ID of feed when loading from DB is '7'.
time="     0.352" type="debug" -> core: Custom ID of feed when loading from DB is '8'.
time="     0.352" type="debug" -> core: Custom ID of feed when loading from DB is '9'.
time="     0.353" type="debug" -> database: SQLite database connection 'RecycleBin' to file '/home/gui/.config/RSS Guard 4/database/database.db' seems to be established.
time="     0.353" type="debug" -> database: SQLite database connection 'ImportantNode' to file '/home/gui/.config/RSS Guard 4/database/database.db' seems to be established.
time="     0.353" type="debug" -> database: SQLite database connection 'UnreadNode' to file '/home/gui/.config/RSS Guard 4/database/database.db' seems to be established.
time="     0.353" type="debug" -> database: SQLite database connection 'LabelsNode' to file '/home/gui/.config/RSS Guard 4/database/database.db' seems to be established.
time="     0.353" type="debug" -> database: SQLite connection 'StandardServiceRoot' is already active.
time="     0.353" type="debug" -> database: SQLite database connection 'StandardServiceRoot' to file '/home/gui/.config/RSS Guard 4/database/database.db' seems to be established.
time="     0.354" type="debug" -> database: SQLite database connection 'FeedlyEntryPoint' to file '/home/gui/.config/RSS Guard 4/database/database.db' seems to be established.
time="     0.354" type="debug" -> database: SQLite database connection 'GmailEntryPoint' to file '/home/gui/.config/RSS Guard 4/database/database.db' seems to be established.
time="     0.354" type="debug" -> database: SQLite database connection 'GreaderEntryPoint' to file '/home/gui/.config/RSS Guard 4/database/database.db' seems to be established.
time="     0.354" type="debug" -> database: SQLite database connection 'TtRssServiceEntryPoint' to file '/home/gui/.config/RSS Guard 4/database/database.db' seems to be established.
time="     0.354" type="debug" -> database: SQLite database connection 'NextcloudServiceEntryPoint' to file '/home/gui/.config/RSS Guard 4/database/database.db' seems to be established.
time="     0.354" type="debug" -> gui: User wants to have tray icon.
time="     0.354" type="warning" -> gui: Showing tray icon with little delay.
time="     0.355" type="debug" -> gui: Feed list item expanded - gui (RSS/ATOM/JSON)
time="     0.355" type="debug" -> gui: Feed list item expanded - RSS Guard
time="     0.355" type="debug" -> core: No execution message received from other app instances.
time="     0.363" type="debug" -> core: OS asked application to save its state.
time="     3.259" type="debug" -> CTRL is NOT pressed while sorting articles - sorting with standard mode.
time="     3.260" type="debug" -> core: Displaying messages from feeds IDs: ''8'' and URLs: 'https://github.com/martinrotter/rssguard/commits/master.atom'.
time="     3.261" 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, Feeds.is_rtl, CASE WHEN LENGTH(Messages.enclosures) > 10 THEN 'true' ELSE 'false' END AS has_enclosures, (SELECT GROUP_CONCAT(Labels.name) FROM Labels WHERE Messages.labels LIKE "%." || Labels.custom_id || ".%") as msg_labels, Messages.labels FROM Messages LEFT JOIN Feeds ON Messages.feed = Feeds.custom_id AND Messages.account_id = Feeds.account_id WHERE Feeds.custom_id IN ('8') AND Messages.is_deleted = 0 AND Messages.is_pdeleted = 0 AND Messages.account_id = 1 ORDER BY Messages.date_created DESC;'.
time="     3.276" type="warning" -> gui: Tray icon is available, showing now.
time="     3.280" type="debug" -> gui: Creating SystemTrayIcon instance.
time="     3.280" type="debug" -> gui: Showing tray icon immediately.
time="     3.287" type="debug" -> gui: Tray icon displayed.
time="     3.289" type="debug" -> gui: Article list header geometries changed.
time="     4.617" type="debug" -> gui: Message list got focus with reason 'Qt::MouseFocusReason'.
time="     4.618" type="debug" -> gui: Current row changed - proxy 'QModelIndex(0,6,0x622773f8d490,MessagesProxyModel(0x622773cfe9d0, name = MessagesProxyModel))', source 'QModelIndex(0,6,0x0,MessagesModel(0x622773cea630))'.
time="     7.702" type="debug" -> gui: Message list got focus with reason 'Qt::PopupFocusReason'.
time="    10.331" type="debug" -> gui: Message list got focus with reason 'Qt::PopupFocusReason'.
time="    10.332" type="debug" -> gui: Main window hide event
time="    10.332" type="debug" -> gui: Article list header geometries changed.
time="    10.333" type="debug" -> gui: Main window close event
time="    10.337" type="debug" -> core: Cleaning up resources and saving application state.
time="    10.337" type="debug" -> core: Close lock was obtained safely.
time="    10.337" type="debug" -> core: Stopping StandardServiceRoot instance.
time="    10.337" type="debug" -> feed-downloader: Destroying FeedDownloader instance.
time="    10.343" type="debug" -> gui: Destroying FormMain instance.
time="    10.345" type="debug" -> gui: Destroying TabWidget instance.
time="    10.345" type="debug" -> gui: Destroying FeedMessageViewer instance.
time="    10.345" type="debug" -> gui: Destroying BaseToolBar instance.
time="    10.347" type="debug" -> network: Destroying Downloader instance.
time="    10.347" type="debug" -> network: Destroying SilentNetworkAccessManager instance.
time="    10.347" type="debug" -> network: Destroying Downloader instance.
time="    10.347" type="debug" -> network: Destroying Downloader instance.
time="    10.347" type="debug" -> network: Destroying SilentNetworkAccessManager instance.
time="    10.347" type="debug" -> network: Destroying SilentNetworkAccessManager instance.
time="    10.347" type="debug" -> gui: Destroying MessagesView instance.
time="    10.353" type="debug" -> gui: Destroying BaseToolBar instance.
time="    10.355" type="debug" -> gui: Destroying FeedsView instance.
time="    10.355" type="debug" -> gui: Destroying TabBar instance.
time="    10.355" type="debug" -> gui: Destroying StatusBar instance.
time="    10.356" type="debug" -> gui: Destroying SystemTrayIcon instance.
time="    10.357" type="debug" -> core: Destroying Application instance.
time="    10.357" type="debug" -> core: Destroying Mutex instance.
time="    10.360" type="debug" -> gui: Destroying IconFactory instance.
time="    10.360" type="debug" -> core: Destroying FeedReader instance.
time="    10.360" type="debug" -> core: Service 'std-rss' will be deleted by runtime.
time="    10.360" type="debug" -> core: Service 'feedly' will be deleted by runtime.
time="    10.360" type="debug" -> core: Service 'gmail' will be deleted by runtime.
time="    10.360" type="debug" -> core: Service 'greader' will be deleted by runtime.
time="    10.360" type="debug" -> core: Service 'tt-rss' will be deleted by runtime.
time="    10.360" type="debug" -> core: Service 'nextcloud' will be deleted by runtime.
time="    10.360" type="debug" -> feed-model: Destroying FeedsModel instance.
time="    10.360" type="debug" -> feed-model: Destroying FeedsProxyModel instance
time="    10.360" type="debug" -> message-model: Destroying MessagesModel instance.
time="    10.361" type="debug" -> message-model: Destroying MessagesProxyModel instance.
core: Destructing 'feedly' plugin.
gmail: Destructing 'gmail' plugin.
core: Destructing 'greader' plugin.
gmail: Destructing 'nextcloud' plugin.
core: Destructing 'std-rss' plugin.
gmail: Destructing 'tt-rss' plugin.

Operating system and version

  • OS: Arch Linux
  • RSS Guard version: 4.7.0
@guihkx guihkx added the Type-Defect This is BUG!!! label May 16, 2024
@martinrotter
Copy link
Owner

martinrotter commented May 17, 2024

You are correct, this is new behavior, question is whether old behavior was actually better or new behavior is "better". Looking at the commit, yes, that is the one and looking at the "if" condition, yes, the "emit" signal below is now included under that condition effectively.

cd24bcd#diff-0568f1d039f9133a4c8f1a4c731c685805c967cd059cc15796061500067363b2R517

This is question of GUI approach/consistency - I have seen apps which do not show the details of selected item when right-clicked (for example Mozilla Thunderbird e-mail client) in master table, also have seen apps which were doing it the same way older RSS Guard did.

Also, note if you right-click more articles (with CTRL for multiple selection) then the article is actually not shown too, which is behavior the same for old and new RSS Guard.

It is however likely bad to break old behavior, so you believe old behavior was better?

@guihkx
Copy link
Contributor Author

guihkx commented May 17, 2024

Also, note if you right-click more articles (with CTRL for multiple selection) then the article is actually not shown too, which is behavior the same for old and new RSS Guard.

Hmm, that's actually something I hadn't considered... I only used the old right click behavior with single articles.

It is however likely bad to break old behavior, so you believe old behavior was better?

Meh, I don't really have strong preferences about the old behavior. Even though did use it quite a lot, I suppose I can get used to the new behavior too.

So if you think it's not worth it to, perhaps, add a new option to emulate the old right-click behavior, feel free to leave the current behavior as is, and feel free close this issue.

@DawEdhel
Copy link

Currently I'm using right-click with such single articles that I want to look into details of and keep it unread as well afterwards, especially to circumvent the personal bothersome issue #1360.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants