kickscondor / fraidycat Goto Github PK
View Code? Open in Web Editor NEWFollow blogs, wikis, YouTube channels, as well as accounts on Twitter, Instagram, etc. from a single page.
License: Other
Follow blogs, wikis, YouTube channels, as well as accounts on Twitter, Instagram, etc. from a single page.
License: Other
Right now if you go through and delete all of your follows manually, it's likely that many (or all) of these will reappear. This doesn't manifest itself in the Electron app - therefore it's a bug in the storage.sync code. (I confess that the behavior of storage.sync is opaque to me - I'm not sure when it syncs and how it does so.)
Allow Fraidycatters to broadcast any feeds not marked 'hidden'. You could then see a list of others online and view their pages. When viewing their pages, in place of the 'edit' button, there would be an arrow for copying the follow.
On Dat, I would use the experimental peers API. On web extensions, I could presumably use WebRTC.
It would be nice to start enhancing the post view. Like, for example, show thumbnails of images for inline Twitter images? I may also start just embedding the original page in this area. Not sure yet.
Every time I want to add a feed to a tag, I must find the tag again in the emoji selector. Having a list of current tags (maybe below the Tag(s) bar?) would reduce this inconvenience.
I like Fraidycat's philosophy that everything must have at least one tag, and making "๐ " the default if the user doesn't specify anything.
However, I find that when I'm adding categorized feeds, I quite often want them to be ๐ plus something else: let that feed show up in my main view, and also in this tag-filtered view. I don't mind reaching into the emoji drawer to find the right something-else, but having to hunt for that house icon every time seems suboptimal.
Consider, perhaps, an "Also add to ๐ " checkbox, or having a little palette of click-to-add emoji tags with ๐ always present, or something...
OS: Fedora 31 64bit
Kernel: 5.3.15-300.fc31.x86_64
Firefox: 71.0 (64-bit)
Firefox account: logged in
I open the Fraidycat tab/window, add a few RSS feeds, which show up perfectly, then get on with my stuff. When I want to open the tab again, it's empty: no RSS feeds saved.
Say you're scrolled down and deep into a specific tag of yours, and for whatever reason you want to change a setting (there's not much to change yet but in the future maybe). Right now when you click on the fraidycat logo to go back to the feeds, it takes you to the index/home tag. I think it would be nice if instead of going to the index, it would take you back to where you were in the tag.
If a feed goes missing, I should try to rediscover it from the main URL for the follow. It seems likely that, when switching blog software, a blog could keep its primary URL but change its feed URL. (I don't trust that appropriate 304s or rel="self"s will be in place - see: Postel's Law.)
To get the webextension to build, I had to do the following:
./js
with ./src/js
in src/index.html
(I have a feeling this would break dat building).src/fonts/
:overpass-400.woff2
overpass-400x.woff2
overpass-700.woff2
overpass-700x.woff2
With that done, the extension gives an Uncaught (in promise)
error when it's loaded (in Chrome 78.0.3904.87) but appears to sort of work, bar a few broken images and an intolerance for multiple time categories (e.g. if I add a monthly, add a weekly and then switch back to the monthly, most of the interface disappears). I'm not sure if that's related to the version of router still being wrong or if it's a separate bug.
Otherwise this is really cool and I'm glad it's finally (almost) out!
I wonder about the possibility of adding feeds via an OPML file, rather than links one at a time. This is what I like about Inoreader.
Would it be possible to support an atom feed with a token at the end of it? For example, https://webmention.io/api/mentions.atom?token=...
I'm not really familiar with how atom feeds work and I haven't looked at Fraidycat's code, so I don't know how realistic this request is! ๐ฎ No worries if it's out of scope at the moment, of course.
When I add a YouTube channel (e.g. https://www.youtube.com/channel/UCZYTClx2T1of7BRZ86-8fow), the recent updates are different than the actual updates.
For comparison, I have also added the invidio.us version of the same channel (https://invidio.us/channel/UCZYTClx2T1of7BRZ86-8fow) which shows the correct update history.
I've copied the urls exactly as shown in their respective fraidycat entries, but if there's any more information I can add to aid in reproducing this, let me know!
(Also, as a side note, I feel like you might be the kind of person who appreciates invidio.us/nitter as youtube/twitter alternatives. This extension might also be up your alley: https://addons.mozilla.org/en-CA/firefox/addon/invidition/)
The complete file is loaded in the background script - so I'm not sure why it's stalling the main page - particularly since only a limited bit of data is passed back to that page. I need to spend some time making a simple extension that can isolate the problem.
In Beaker's case, there are some fundamental problems with its underlying RPC communication between the browser and the experimental APIs. I took a first stab at solving that here: pfrazee/pauls-electron-rpc#6. However, I would need to spend serious time on Beaker to solve this, taking time away from this project - which is more pressing for me at the moment.
I think it's going to become helpful to offer a centralized sync option. This would make a mobile version possible. (Ideally you could keep mobile, Chrome and Beaker all synced.)
This could be:
It's possible that you may be monitoring someone from various places - Twitter, their blog, maybe they release music somewhere. (Neil C situation.) I could see wanting to combine these into a single entry.
I'm not sure how this would be displayed - so this is just a question for now.
RSS readers work as a "single page hub" because they allow you to get an overview of all new updates (across various categories) through the use of unread counts. Fraidycat removes unread counts but doesn't seem to replace them with any other UI indicator.
If you have dozens of tags and importance categories, you must manually click through and check each one. That defeats the purpose of RSS! :P
EDIT: But to be clear, I absolutely love what you're doing and the goals you have! And I think your creations are neat! It just doesn't fit my usage if I have to fall into the same repeated checking habits.
I've looked through the documentation and this seems possible, though I don't have a use for it. So I think I will wait until there is adequate interest.
Just want to experiment with releasing this as a standalone.
Preface: I actually like this "buggy" functionality. I find it helpful that subreddits aren't included! Just making this issue to check if it was intended or not.
Link to feed: https://www.reddit.com/r/magicTCG/top/?sort=top
This subreddit feed (I think) always has a "green" indicator because it generally will get new "top" posts daily. But, the tab it's in won't be coloured green. See screenshots below:
I like this functionality of ignoring sources that update daily when determining tab colour. If you know the the source is always going to have green colouring, then there's no way to get useful information from the tab, because the tab will always be green too. But, if daily-update sources are ignored, then you can still get information on whether the less frequent sources have updated. (Like I'm getting with this "mtg" tag here.)
Interestingly, I tried moving some other "daily" updating sources into Daily frequency and it also allowed them to be excluded from the tab coloring. I like this too!
How much of this was intended, or is any of it unintended?
I follow several twitter users who post long threads on various topics. It would be a nice improvement if all the tweets in a thread were combined into a single entry under the user, instead of each tweet being it's own entry so a single thread fills the entire list of links.
First off this looks amazing and so much better than how every other rss reader displays. Unfortunately, I do most of my rss reading on mobile (inoreader). I saw in your website you're considering mobile support. Semi-ironically, I want a way to be notified if that ever happens. I couldn't find an rss feed feel the project, and listening to all Github activity would be very noisy.
So I'm opening a Github issue asking for Android support knowing that I'm asking you to do a heck of a lot of work for free. I know that if this happens it'll be a long way in the future. I'm hoping you'll leave this issue open until that day, should it come, so people can watch it.
Thank you,
Daniel
Right now, the 'monthly' and 'yearly' categories may not be checked for several days. In a way, this makes sense because you're not visiting them that often.
However, when it's time to check them, they should attempt to be current. (And it's possible that if #13 WebSub gets supported down the road, everything really should be current.) There should be no problem polling daily - that's not onerous.
If I have a tag where every source is Daily/Weekly/Monthly/Year (in other words, no source in the tag has Real-time importance), then Real-time still shows as a tab, and remains the default view.
As soon as the "Weekly" tab is clicked, the "Real-time" tab becomes unclickable.
My guess is that it could be better to default to whatever is next in the hierarchy of Daily > Weekly > Monthly > Year and hide Real-time entirely?
(Thanks again for maintaining this lovely project, kicks!)
For feeds that have too much information, like a twitter feed for example, adding a tool to mark something as read would be helpfull. I think a good way to implementing it would be doing something like the "tasks" apps do with their task lists, like google keep. I've made a quick mockup to explain it better, the image can be found here: https://imgur.com/ZyvoGk8
IndieWeb has a bunch of proponents of h-feed now, and some folks seem to be starting to not even bother with RSS/Atom. If it isnโt already supported, adding h-feed might be useful.
The main things are discovery (if a page has an element with class h-feed
or provides a link with a rel of feed
In the content or the response headers) and subscriptions (find elements with class h-entry
and extract the various other information via microformats). The parsing aspect definitely has libraries available.
The most interesting people I follow share their content solely on personal email lists. In addition, many blogs these days also have unfortunately dropped support for RSS and can only be followed by subscribing to an email list. I'd love to be able to import these into fraidycat to have all of it in one place to be read later, instead of having them mixed with normal emails that require action. This could potentially be accomplished by letting the user generate their own unique email with a delimiter such as .
in something like [email protected]
for ingestion.
A workaround I am currently using is Kill The Newsletter, but it isn't 100% reliable and the parser frequently mangles HTML emails so as to make them unreadable. This suggests that the most difficult part of implementing this feature will be creating a reasonable email parser that doesn't destroy emails that are structured unintuitively (e.g. using <table>
s).
Anyway, just an idea for something I thought would be useful, maybe you would find it useful too. Thanks for building a tool to empower the social internet!
Because I encounter a lot of odd syncing issues from browser to browser, I want to ensure that feeds can be imported and exported in OPML.
This has the added benefits of:
I'm already quite close on this, as I consider it a high priority to prevent people from completely losing their follows while things are somewhat in flux (only because I'm new to web extensions.)
Since you like TiddlyWiki I thought to comment that on feed "TiddlyWiki Pre-release" some addresses don't resolve though shown ... Its likely a TW issue? Not Le Cat? Other TW deliver the baby. Prerelease is often a 404.
The is to faidycat available as a docker container, built inside a simple LAMP. Delivering fraidycat this way would benefit the selfhosting community, as it would free the cat to be able to play in any browser, anywhere without having to deal with browser extensions. Also having fraidycat in a home server is way more secure :)
From ValdikSS:
Hi, letting you know that Fraidycat for Firefox doesn't work if strict tracking protection is enabled in Firefox settings. The extension console writes the following:
The resource at โhttps://www.reddit.com/r/linux/โ was blocked because content blocking is enabled.
_generated_background_page.html
Error: NetworkError when attempting to fetch resource. webext.js:177:22The extension does not show any error, just hangs indefinitely when "save" button is pressed.
After getting some blog URLs to work and replying to ValdikSS - another reply came in:
I've tested only twitter and reddit urls, both are blocked. I assume that Firefox considers requests from websites or extensions to only some third-party huge and well-known websites as trackers, that's why standalone blogs on custom domains work fine.
Work to do.
Currently, when opening up a tag, there are several tabs that sort feeds based on importance. But this is a little strange, since I just want Importance to tell me how often a feed updates, and having to remember whether I've already checked my "Weekly" Importance this week is a pain.
My suggestion: Put the feeds under Importance headers, which are stacked up on top of each other under the tags. Like this:
TAG
Real-Time:
Feed1
Content/Content/Content
Feed2
Content/Content/Content
...
Weekly:
Feed3
Content/Content/Content
Feed4
Content/Content/Content
Only Importance levels which I've actually assigned should be shown.
When I am done reading the content under some level of Importance, let me mark that Importance level as "Done", which will hide it (maybe at the bottom?) for some amount of time.
For example, let's say I finish reading everything under "Weekly". I mark this as done, and the Weekly header is collapsed and pushed all the way to the bottom of the screen (out of sight, out of mind). If I check on the tag again in a day, I see no Weekly, because I've already marked it as Done. But come next week, Weekly is back on my feed. Marking Weekly as Done forced all the media within Weekly to wait until next week to show themselves again.
This gives users control over which media is thrown into their face by using a time limit to constrict the flow of media.
Before you start.
My great idea for Fraidycat is:
If you're running the app full screen, it's a long drag to the right to reach the expand button, and then to close, it moves all the way back to the left. Would be nice if it was always on the left, perhaps just under the feed title, inside of the indent.
Very nice bit of work! FWIW I have used both "Feedly" and "The Old Reader", as well as feed readers now long forgotten. I like the minimalism of your approach a lot. Also great that it can make sense of TiddlyWiki! Very useful for TiddlyWiki enthusiasts to be able to track when stuff in releases change.
My request is simple: when you click on an item that it opens in a new tab rather than replacing the Fraidycat tab. (FYI, I on Chrome latest on Win)
Best wishes, TT
Desktop (please complete the following information):
Cannot seem to add Slashdot.org to feeds, either by adding via homepage or by pointing directly to the RSS feed.
Attempted:
https://slashdot.org
http://rss.slashdot.org/Slashdot/slashdotMains
Much like ad blocker whitelists, it would be cool to keep a master list of supported sites and metadata describing how to scrape them, so I can easily adapt to website changes and quickly accept new sites to support.
macOS 10.14.6, standalone version:
The Quit command closes the Fraidycat window, but the app continues to run. It exits only if you force-quit it.
This just makes sense right?
I'd like to have a brief 'status' item in the title for a follow where I can put stuff like '๐ด LIVE' if a streamer is live. I tried playing with the API, but this is going to need to be scraped as well. (Frown.)
Rather than tracking down the URL to watch, it would be great to offer a 'simple subscribe' form on the 'add' page.
Basically, this would add buttons for all kinds of supported sites. Which would then change the form from a URL box to a custom field like this:
And, what would be sweet, is to interface with search on those sites to allow autocomplete.
This is very low priority at the moment and is just frivolous future talk.
Because of the security issues behind this, I am considering doing this as a separate Fraidycat Invasive/Aggressive Edition - because it would have access to your credentials and I don't think I can ask the user which mode to use upon installation. I also am not sure if it is possible for me to call the fetch API with {credentials: "include"} from a background script. If I have to scrape the page using a content script, this could become rather gnarly...
Ideally, Fraidycat should aim for the minimum permissions needed. (In fact, in my Beaker Browser prototype, it asks for permission on every new domain that I hit.)
Right now the permissions requested look like this in Chrome:
And like this in Firefox:
So, let's go through the actual list in the manifest, because I want to see what I can eliminate.
"http://*/"
and "https://*/"
This allows me to make requests to the sites that we're grabbing feeds from. However, this also grants me access to browser history and data for all websites!
This is one I'd really like to fix!! I don't need browser history or personal credentials - I just need fetch
to work for any URL. (The credentials
options set to omit
would be fine!)
So - this is the biggest question. Can I just get vanilla HTTP(S) access?
"storage"
and "unlimitedStorage"
The first is definitely needed. I'm storing a lot of data locally. This is what allows me to run this without a server.
I also add unlimitedStorage
because I actually ran out of space in Vivaldi! It caps out at 5 MB. (If you have 1,000 follows, that's 5k per follow - which is tight.)
I think I can do better here by supplying usage information and getting better about cleaning out history.
"tabs"
This is one I think I can somehow get rid of. Right now I only use this to launch Fraidycat using this line:
browser.browserAction.onClicked.addListener(tab => {
browser.tabs.create({url: "index.html"})
})
That's it! So perhaps I can accomplish this some other way.
There is some CSS padding or something that is giving a scroll bar when there should be none. (Related: I might want to jump to the page top when a link is clicked.)
A progress bar could appear in front of the 'Add' button which shows updates in progress. This would be useful if you reload the browser in the morning and a hundred feeds are updating.
(The opposite of a 'notification' - this indicates that you can go away for awhile. A time estimation might be nice - but it will be inaccurate.)
I was trying to add https://news.ycombinator.com to my feeds, and got an error which kicked me out of the follow process, which is annoying. (side note, https://news.ycombinator.com/rss works)
Hey, just installed Fraidycat and when I tried to import my OPML I got this error:
Error: JSON.parse: unexpected character at line 1 column 1 of the JSON data
At first I thought it was the OPML I was trying to import, however it also occurs when I export from Fraidycat and try to import that OPML file.
I just haven't put in the work to polish this up. Sometimes favicons aren't appearing. Sometimes they're just not loading.
Console is showing "Error: i.fetch is not a function" in background.js
The "Save" button stays disabled.
URLS which are failing:
No user message is presented.
Hello, I just installed Fraidycat on Firefox 71.0,
but I get 'Network error when trying to fetch resource.' every time I try to add something to the feed.
Any idea what could be going wrong?
This seems to be unlikely to be feasible since it requires having a public notification endpoint, but maybe Fraidycat could be configured to optionally talk to a self-hostable notification proxy.
If I try to add this feed: https://www.stereogum.com/feed the Add Follow page hangs, as below.
I've had this happen a few times with other links, usually when I paste a website as-is (without trying to find its feed.) This is the first actual feed I can confirm it happens on.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.