Hello!
I was looking for an alternative to Fraidycat for a number of reasons(1), and I came across Sage-Like. It looks great!!
Just a little question, I know that the name is right “sidebar based”… but … will you ever consider making possible to have it in a tab, like Fraidycat of Feedbro?
Thank you!
.
.
.
.
.
(1) It hasn’t been updated in almost three years, sometimes for no reason it loses all saved feeds, it says to sync via Firefox user but doesn’t, developer hasn’t responded to github issues in a long time…
After rethinking I now believe that the improvement in performance is justified. From my experience most feeds are sorted chronologically and I’ll add an informative message to notify the user about the sorting issue.
I’ll work on it.
Regarding the sidebar. Firefox web extensions are not allowed this type of control over the sidebar.
You can get some performance improvement if you uncheck the ‘Show total number of unread feeds and feed-items’ option.
Option to preventing feed refreshing upon sidebar opening is very interesting. I’ll look into it.
‘Skip Completed’ might not be relevant to Sage-Like. When the sidebar is opened, only the feed’s text files, essentially a list of links, are fetched from the web. The articles themselves aren’t loaded into the browser until a feed item is clicked.
Firstly, thank you for the thorough investigation.
It appears that the post URLs in the feed were changed to relative links, causing them to fail a validity check within the extension. I have fixed the issue, and it will be included in the next release.
Due to the fact that this particular feed contains posts with identical URLs, I’ve managed to identify and correct another minor issue. So thank you x2.
The page you provided contains more then 100 links that look like they are supposed to be RSS feeds.
From what I see, only about 30 of them leads to valid feeds. The rest seems to be broken.
Can you provide 2-3 feed links that demonstrate the issues you are experiencing?
What other RSS reader did you used that did not display any problem?
If its possible, I’ll appreciate if you can also add some screenshots of the above feeds and feed-items as they are displayed in Sage-Like and in the other RSS reader for comparison.
One of my feeds seems to have a limit of 10 items (actually most do), but others have up to 100 or more. Is this controlled by Sage-Like, or by the way the the feed owner set up his feed?
Feed owners typically limit the number of published items to their most recent articles, though the specific number can vary. As a result, it’s not uncommon to see some feeds with only 10 items and others with 100 or more.
Sage-Like can be configured to enforce its own limit on the number of items a feed displays.
Right-click on a feed.
Select ‘Properties’ from the context menu.
In the ‘Properties’ window, use the ‘Max feed-items’ option to specify the number of feed items you want to display.
If you set this option to zero, Sage-Like will display all the items the feed owner has made available. Please note that there are some limitations to this feature, which are explained in a message box when you set the value to a non-zero number.
To summarize, the answer to both questions is yes. Feed owners can limit the number of items, and Sage-Like can enforce a local limit on that number.
I’ve just noticed that Sage-like is warning of errors in an RSS feed and cannot read it, however the feed seems ok at Apple Podcasts and no errors are reported in Feedbro (another Firefox RSS reader plugin I use).
Sage-like reports the error at line 54 col 14, as follows:
Line 54 col 14 is a name in a tracklist, where é is used (I’ve added a space between e and ; below to prevent this message board hiding actual code in line) as follows:
Elley Duhé ; - Money On The Dash (Armin Van Buuren Remix)
I hope the above is useful to resolving the problem.
It seems that a non XML editor has been used to paste in the tracklist in that RSS feed php file, adding the unsupported format for the é.
Android apps also flag the feed as an error but Feedbro (another Firefox RSS reader plugin I use) seems to be designed to work-around this type of issue and reads the feed ok (as does Apple podcasts), so perhaps you may consider in the future for Sage-Like to also ignore minor issues like this.
The feed you provided is littered with those HTML5 entities (I stopped counting after 10), and you are probably right about the editor.
I am aware of this issue and have encountered it a few times during the development. The only way to correctly parse an XML feed that contains those entities is to scan each feed and replace them prior to parsing.
Sage-Like has a function that does exactly that and each time I encountered an HTML5 entity that failed the XML parsing I added it to that function. Currently this function handles 25 entities.
This function runs on each feed to make sure there aren’t any HTML5 entities left before it is parsed.
With performance in mind, I preferred this method rather than including the complete list of entities (which exceeds 2000) in the code.
I’m a bit reluctant to add this additional (and maybe substantial) processing solely to accommodate some screwed up feeds. However, when time permits, I’ll consider the following options:
I’ll do some tests using the full list to evaluate the decline in performance.
Modify the way I use the search-and-replace function. Stop using it indiscriminately on every feed before parsing. Instead execute it only if a feed fails parsing and then try to parse again.
I have encountered an issue. I would like to add feeds from this website https://journals.aps.org/feeds
to my addon (you may just try the first one, http://feeds.aps.org/rss/recent/physics.xml
). But it seems the addon cannot read the feed correctly. The error message says “Failed to fetch feed from URL. [timeout]”, but I can open the xml in browser just fine (sage-like didn’t style the xml like other feeds too, instead the raw xml code is displayed).
Would you mind take a look into this? Thank you in advance!
I’ve examined the page and feed you mentioned. The timeout error is puzzling, especially since you were able to load the same URL in a tab without issues. I ran several tests but couldn’t reproduce the problem. All 86 feeds in https://journals.aps.org/feeds, including Recent Articles in Physics, displayed properly in my tests.
The only way I managed to replicate this error was by setting the ‘Single feed fetching timeout’ option to 0 directly in the source code (zero isn’t a valid value in the Options page).
It’s possible your Options data has become corrupted. Please try the following:
In the Options page, change ‘Single feed fetching timeout’ to 300, click the feed in the sidebar, then change the value back to 60. This should overwrite any bad values.
If that doesn’t work, export all extension options to a file, then import them back using the ‘Import Options’ and ‘Export Options’ buttons at the bottom of the Options page.
If the issue persists, try restoring default options by clicking ‘Restore Defaults’ at the bottom of the Options page.
If none of these solutions help, please provide details like your OS version, browser version, and extension version. I’ll do my best to reproduce and resolve the error.
Regarding Sage-Like not rendering the XML as a feed, this depends on the remote server’s response to the browser. Sage-Like only renders XML files if the response content-type indicates it’s an XML feed (rss|rdf|atom) or a JSON feed (rss|feed). For the feeds at https://journals.aps.org/feeds, the server’s response doesn’t include any content-type, which explains why it’s not rendered as a feed.
There is an option to force Sage-Like to render a link as a feed from the link right click context menu if the ‘Show context menu item “Try…’ option is set.
After reading your answer, I dig around a bit myself and found out why now. I have “HTTPS-only mode in all windows” enabled in my browser. If I force the addon to preview the feed, it will fail to fetch because the link is http only. Disabling HTTPS-only fix the problem.
I have also tried to add an exception to “feeds.aps.org” in the HTTPS-only mode setting, but sage-like still can’t fetch it. Looks like there is no way to have both…
You’re right about the issue. Currently, there’s no way around it. When fetching HTTP pages from web extension background scripts, user exceptions are ignored.
There are at least two open bugs on Bugzilla (#1869995 and #1714201) directly addressing this. One of them is dating back to 3 years.
An upcoming Firefox release is expected to adjust HTTPS-Only mode to offer some solution for this.