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.45k stars 120 forks source link

[BUG]: Undocumented need to put double backslashes in the Parameters, for External web browser #1235

Closed quickwick closed 7 months ago

quickwick commented 7 months ago

Brief description of the issue

This is less a bug, and more of a gap in the documentation. Specifically regarding the "External web browser" option (and almost certainly "External e-mail client" and "External tools").

I have what is most likely a very unusual workflow. I have python.exe set as my external browser, and then in Parameters I have the path to a .py script, and then the %1. When I click the button to open in external browser, it triggers the python script, which does stuff with the article URL.

This stopped working in 4.5.2, though it took me a while to notice, and even longer to pinpoint the source of the problem. In 4.5.2, according to the release notes, you overhauled arguments parsing. I skimmed over the "Scraping website" page in the documentation, and noticed where it said paths with backslashes need to be escaped with another backslash. The path to my python script in the Parameters field has lots of backslashes. I escaped them all with an extra slash, and now my python script External Browser workflow is working again.

I suggest that it might be worth a) documenting the External Browser option, and b) specifically mentioning the need to escape backslashes in the Parameters.

How to reproduce the bug?

  1. Set up an External Browser, which contains a Parameter containing backslashes
  2. Select an article, and click the button to open in External Browser

What was the expected result?

The External Browser launches successfully

What actually happened?

The External Browser doesn't launch (actually it is launching and failing, but silently in the background)

Debug log

n/a

Operating system and version

quickwick commented 7 months ago

Even more useful than adding to the documentation site would be adding this information into the "View more information on this" note bubbles, on the relevant Settings pages within the application.

martinrotter commented 7 months ago

Yes, there was major rewrite of CLI arguments tokenization method. Now it supports both types of quotes, " and ' with similar intended behavior like programming languages do.

This change was mentioned in CHANGELOG and some documentation of it is available here in WARNING box.

https://rssguard.readthedocs.io/en/stable/features/scraping.html

TLDR: It is likely best to enclose all you arguments with explicit quotes (either " or ') and not rely on RSS Guard in this aspect although it is able to sometimes guess where quotes should be.

martinrotter commented 7 months ago

I might add separate page to documentation about this. Thanks for noticing me.