Giter Site home page Giter Site logo

facundoolano / feedi Goto Github PK

View Code? Open in Web Editor NEW
870.0 870.0 27.0 3.18 MB

A personal news aggregator and Mastodon client

License: GNU Affero General Public License v3.0

Python 71.07% HTML 21.79% CSS 3.29% Makefile 1.47% Mako 0.27% JavaScript 0.49% Shell 1.33% Dockerfile 0.30%

feedi's People

Contributors

dertuxmalwieder avatar facundoolano avatar flxzt avatar julienma avatar sedationh avatar shindakun avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

feedi's Issues

[Question] Expand folders to show individual feeds?

Some screenshots make me think that it's possible to open / close folders to see individual feeds.
Also, there's a 2nd zone in bottom left where we can individual feeds: are these favorite feeds? folder-less feeds?

How can I enable / use these options?
Thanks!

image

Duplicated entries in feed

Sometimes when I fetch a new page from the feed, I get one or two duplicated entries. This could be some bug in the assumptions of the pagination algorithm (perhaps if new entries are added between the previous and next page fetch). I haven't identified a pattern to reproduce the bug.

Feed avatar improvements

  1. There's a CSS fallback for when the image is missing, but it doesn't seem to work in mobile in safari.
  2. I tried multiple combinations of the favicon fetching logic, and none picks up the ideal icon for all feeds. It would be best to make the field editable to let the user manually correct when the default icon looks bad. If code doesn't get too complicated, we could display all found options so the user knows what's available
  3. It would be better to fetch and store the feed image locally instead of hotlinking.
  4. It would be nice to show the feed avatars in the command lists and the autocomplete options, instead of the awesome icon.

make problem

hey great job!
When install the project ,I got the following problem:
image

system: windows/ git bash

Expose import/export in the web interface

Currently the csv and opml import/export features are only accessible from the command line. It would be convenient to expose them in the web UI, likely in the sidebar of the feed list.

Clicking on RSS Entries - PermissionError

Hi,

Absolutely love the project! I'm sure this is just a routes issue, but I don't know enough about nodejs to fix it.

When browsing, if I click on an RSS entry's title, it takes me to a page that displays Error fetching article: PermissionError(13, 'Permission denied'). The daemon doesn't throw any logs from this, which I found very strange. I had a permissions issue with the filesystem around the database previously and there were very good Python error traces in journalctl from the service.

Each entry seems to have a number that's unique per-Feed assigned to it. if I'm on feed ABC, the link is https://my-domain.com/feeds/ABC/entries. When I click on an entry, the link becomes https://my-domain.com/entries/12 or similar. I've tried adding back in the feeds/ABC part to make https://my-domain.com/feeds/ABC/entries/12, but that gives a 404.

Similarly, if I'm on the homepage and click on a post from any feed, it'll give me the link https://my-domain.com/entries/12 or some other number per entry. Same PermissionError results.

webp images not supported by kindle

If the article includes a webp image, it should be converted to another format or removed from the output HTML. The conversion probably requiers PIL or similar and some OS level libraries, which we don't want to impose to all users (not everyone needs kindle support). So it should fail gracefully if the libraries are missing.

Add dark theme

I see a lot of annoying eye floaters, dark theme would help a lot.

[idea] Generate a link feed from favorite entries

I think it would be interesting to optionally expose the list of favorited urls as a feed (rss and/or json) that could be consumed by external applications. E.g. maybe someone else wants to to follow your favorites as an rss feed, or you want to build a link blog in a personal website using the json endpoint as a data input. A somewhat related feature would be to publish your list of followed sites as an OPML + json endpoint.

I haven't figured out the right approach to this (thoughts appreciated!), but some ideas I had:

  • marking some feeds with a private flag (to be excluded from public feeds) and then adding a user config flag to explicitly enable the favorite feed endpoint.
  • alternatively, always expose the endpoint but password or auth-token protect it.

Add support to customize bulma styles

The current CSS takes vanilla bulma and customizes it by overridding styles, in some cases by hardcoding and duplicating variables that could be reconfigured if we were building bulma from its Sass source.

  • Add support to build bulma from Sass (the compiled CSS shuold be checked in, the Sass customization shouldn't add setup overhead to run the app).
  • Replacce hardcoded values to bulma variable customizations.
  • Review main.css to look for potential improvements or further bulma customizations.

Feedi migrations incompatible with Ubuntu 20.x (sqlite3 3.31)

Just wanted to note that migrations cannot be performed with sqlite3 < 3.35. The DROP COLUMN syntax used by the sqlalchemy migrations was not present in sqlite3 before that version, and Ubuntu 20's final sqlite3 release was 3.31.

I solved this by installing a binary of sqlite3 manually and using it with make dbshell to manually perform the drops and alembic stamping the version with venv/bin/alembic stamp 0efddf242a41 && venv/bin/alembic upgrade head, repeat until it starts completing successfully.

Perhaps if I'd forced sqlalchemy to recompile by deleting its pyc files it would have used the new sqlite binary, for some reason it was still giving syntax errors after I'd used update-alternatives to make the new version the default.

Might want to make this clear in README and/or add a check in the Debian setup script.

Side note: thanks for the recent updates, the new parsers are great!

Locked out of feed edit page when using '/' in name

Hello, nice project!

I'm trying it out for myself and it seems that using a '/' character in a feed name prevent access to any url using the feed name. I know bugs should be expected, I'm sharing it just in case.

image

STRs:

  • Add the feed https://www.reddit.com/r/selfhosted/top.rss with name /r/selfhosted
  • Get a 404 on the resulting /feeds//r/selfhosted/entries page
  • Can't access or delete the feed afterwards

I had to manually edit the sqlite database to fix this.

I guess you could disallow forward slashes or maybe url-encode them?

Revisit send to kindle integration

I currently rely on stkclient to send articles to kindle devices. This is sketchy because it mimics a desktop app to get a private key and brittle because the key seems to expire within a couple of days, requiring another manual login. I'm thinking at this point it's probably better to just send the parsed webpages through email.

This would require:

  • setting up an email account or service via configuration (in the production config).
  • allowing the user to enter their kindle device email (a field in the user model that would replace the current kindle related table)
  • whitelisting the feedi instance email in the user amazon account.

Sometimes UI starts scrolling and jump by itself

First thank you for this nice idea and implementation !

Sometimes, when reading the posts, UI starts scrolling and jumping back and scrolling again. I guess it may be linked to RSS updates in background, but I don't know where to start to investigate about it.

I'll post some comment if I find something better to characterize the problem.

Version 906d8e0 hosted on fly.io.

Truncate entry content with CSS

I currently have a couple of template filters to truncate the entry content (full/text view and compact/pinned view) in Python. This is because I couldn't get the HTML and CSS to show ellipsis on overflow. Ideally containers should be fixed in size (e.g. the height of the image preview) and the CSS would adjust the text to take advantage of the available space, instead of the current solution which isn't consistent and leaves some blanks.

Add some basic integration tests

It would be interesting to have test infrastructure to serve arbitrary (per test) rss xml files. With that available, a good start would be to test RSS feed CRUD operations, entry parsing on sync and the frequency feed ordering.

[Bug] Feeds list doesn't show feeds without entries

Hey!

Thank you for this project. I plan to test the app in the following days. I love the idea, and hope to use it as my daily driver :)

I imported my old OPML feed (36 entries), but not all of them are listed at /feeds page. I don't know Python very well, but based on the query executed in the feed_list(), it appears that the feeds without entries won't be listed.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.