Skip to content

What Up With the 's' Page? Can't I Just View Feeds Locally?

kickscondor edited this page May 30, 2021 · 6 revisions

The page to view your follows right now is:

So - it's very unfortunate that I need this page - and I hope it will go away in the future! I would love for everything to be local - but the nature of extensions makes this very difficult.

In fact, when Fraidycat first started, everything was local - and the URL to view feeds was:


The problem with this approach was that the background page (used to fetch feeds) was using the same thread as the web app (on index.html). When fetching a huge feed (see issue #1) or a series of feeds, the web app would become unresponsive and I would get messages about how Fraidycat's performance sucked! (And it did!)

Unfortunately, extensions are not meant to be web apps - so I don't think putting background page and bundled pages in separate threads is a priority for the makers of Chrome and Firefox.

The fix this, I moved the web app into a 'content script' - the only other type of script that can be included in an extension. This script gets injected into and performance improved immediately! Content scripts and background scripts don't appear to share a thread.

So - this is the reason for the external URL. A performance reason! 😅

Does This Mean My Follows Get Sent to Domain?

No! I keep no server logs for that domain. And only two requests are made by the extension:

  • /s/index.html which is basically a blank page that the extension can inject into. (For the performance reasons above.)
  • /defs/social.json which is the latest definition file for all the social networks. (This way I can fix when a site breaks without you needing to update your extension.)

I'm sure you're like, "Why should I trust you?" Hey, I don't like this either! Just trying to do my best with the limitations I've been given. Feel free to suggest remedies!! (In issue #210.)

In the meantime, you can verify what I'm saying by viewing the Network tab on the extension's background page.