want-my-rss icon indicating copy to clipboard operation
want-my-rss copied to clipboard

Option to open in standalone app

Open ghost opened this issue 6 years ago • 14 comments

Is it possible to add the option to subscribe to the feed via a local rss feed (such as QuiteRSS)?

ghost avatar Feb 14 '19 01:02 ghost

There is an option in preferences already: screenshot 2019-02-15 at 20 56 01

Reeywhaar avatar Feb 15 '19 17:02 Reeywhaar

It does not allow to subscribe through QuiteRSS (or any feed reader that is not part of the web browser), no matter what you put in the preferences.

ghost avatar Feb 15 '19 22:02 ghost

Oh, I must be mistaken it with just any website based reader. Am I understand right that QuiteRss is standalone app, like Reeder for example? Yeah, need to think about it. Great if such apps could have some protocol url registered, like quiterss:subscribe=http://example.com/feed, It could have make everything easier

Reeywhaar avatar Feb 15 '19 22:02 Reeywhaar

Yep, It's a standalone app but I couldn't find documentation about how to add a feed from an external web browser, however before firefox removed support for rss feed it was possible to subscribe directly by clicking the "subscribe" button on the RSS preview.

Maybe Firefox was creating an .xml file of the feed and opening it with QuiteRSS. Not sure if it's still possible with the current implementation of plugins in Firefox but that could be the best (or only) way to support standalone feed reader.

ghost avatar Feb 15 '19 23:02 ghost

Yeah, there was way, but it was removed with rss support: https://developer.mozilla.org/en-US/docs/Mozilla/Firefox/Releases/2/Adding_feed_readers_to_Firefox also, it was a duty of an reader app to register itself. As for now, there is a way, to communicate with standalone app via native messaging but it requires app to have native manifest. WebExtensions being web extensions, a lot of security limitations here.

The other way as I said, is to have own registered protocol as I said above.

Reeywhaar avatar Feb 15 '19 23:02 Reeywhaar

we lost this mime types in browser settings, maybe possible return it back?

application/rss+xml
application/x-rss+xml
application/atom+xml
application/rdf+xml
x-scheme-handler/feed

whoizit avatar Feb 22 '19 04:02 whoizit

I can easily subscribe to my local RSS feeds client, Liferea, by clicking on the feed's URL link (on top of the RSS feed page created by this extension) and selecting "Liferea" in the dialog that Firefox presents (that also allows to save the file locally). I can customize this dialog in "Preferences > General > Applications" (look for the row with "feed" in the "Content Type" column). I use Firefox 65.0.2 in a fully updated Manjaro Linux box.

bolocholo avatar Mar 07 '19 18:03 bolocholo

Unfortunately it doesn't work with QuiteRSS. Maybe QuiteRSS was using an API that Firefox had put in place to subscribe to feed reader rather than just opening a .rss or .atom file with it.

ghost avatar Mar 07 '19 20:03 ghost

@bolocholo can't find feed in the "Content Type" column on my Firefox 65.0.1 from Void Linux. I have Liferea too, but it's not works for me. I click on subscribe in rss page opened by this addon, but nothing happens

whoizit avatar Mar 07 '19 21:03 whoizit

So, I've been looking on this issue and still solution is unclear:

  • @whoizit, there is a way for extension to handle protocols, but it's hardly relative to your idea, and the list of protocols is very limited.
  • @bolocholo, I can't find feed (though I don't have any standalone reader) in Content-Type column neither. This type must be remained with profile between Firefox updates, or something. What's interesting is how is it actually works? Reader must be provided with feed url for subscription, but file you open is just a piece of rss data which can contain feed url, but it's not obligatory per spec. I thought that I can add special external reader type, that will be roughly similar to clicking on <a href="rss data url" download="feed.rss" type="x-scheme-handler/feed"></a> but not sure if it be any helpful at all.

Reeywhaar avatar Mar 13 '19 13:03 Reeywhaar

For those still interested, I managed to set this up with my local feed application. As @Reeywhaar mentioned, the application needs to handle a url protocol. Many old rss apps register rss and/or feed. I use feed:%s in this extension to open in a local application.

If the application doesn't register a protocol itself, but takes commandline arguments, you can add it manually, see http://kb.mozillazine.org/Register_protocol. And it looks like quietrss does support arguments passed from non-primary instances to the primary instance, https://github.com/QuiteRSS/quiterss/blob/0e9b869423/src/application/mainapplication.cpp#L135

Only trouble I had was some applications expect the raw address and this extension encodes it, https://github.com/Reeywhaar/want-my-rss/blob/3f33c014c3/ts/storage.ts#L106. An option to not encode the url or just a second replacement key like %url would be convenient.

tasadar2 avatar Jan 07 '20 03:01 tasadar2

Any update on when this fix will be merged?

ghost avatar Jun 06 '20 15:06 ghost

I can easily subscribe to my local RSS feeds client, Liferea, by clicking on the feed's URL link (on top of the RSS feed page created by this extension) and selecting "Liferea" in the dialog that Firefox presents (that also allows to save the file locally). I can customize this dialog in "Preferences > General > Applications" (look for the row with "feed" in the "Content Type" column). I use Firefox 65.0.2 in a fully updated Manjaro Linux box.

I also use Liferea on ArchLinux. This method does not really work. Firefox downloads a feed file to a local file system, then Liferea shows a feed referring to this local file. The local file will not be updated when the feed is updated and will disappear after a reboot because it resides in /tmp.

beroal avatar Feb 10 '21 18:02 beroal

Only trouble I had was some applications expect the raw address and this extension encodes it, https://github.com/Reeywhaar/want-my-rss/blob/3f33c014c3/ts/storage.ts#L106. An option to not encode the url or just a second replacement key like %url would be convenient.

Thank you for the suggestion. It seems to me that the URI syntax does not allow two schemes, and non-encoded “URI” has two schemes. For example, feed:http://example.com has the feed and http schemes. So passing a non-encoded “URI” is fragile since any program through which it passes (Firefox, desktop environment) may reject the non-encoded “URI” as invalid. I suppose we need to fix feed readers. 😓

Update. Actually, RFC 3986 may support such strings in a perverse way. Relevant parts from the RFC are:

URI         = scheme ":" hier-part [ "?" query ] [ "#" fragment ]
hier-part   = path-rootless
path-rootless = segment-nz *( "/" segment )
segment       = *pchar
segment-nz    = 1*pchar
pchar         = unreserved / pct-encoded / sub-delims / ":" / "@"

So feed is scheme, http: is the first segment segment-nz, then an empty segment, then example.com as another segment.

beroal avatar Feb 10 '21 19:02 beroal