2 months agounique constraint on feed/account master
xangelo [Wed, 13 Apr 2022 18:25:00 +0000 (14:25 -0400)]
unique constraint on feed/account

2 months agoaccount based feeds
xangelo [Wed, 13 Apr 2022 14:54:08 +0000 (10:54 -0400)]
account based feeds

The system now supports per-user account based feeds. This comes with
all the bells and whistles of generic account management:

- Signup/Login
This is done via email links. Right now the links don't do anything,
they simply display on screen and you navigate to them. Eventually we'll
set up postfix/sendgrid or something like that.

- All endpoints are now protected requiring a user to be logged in via
the magic email link/one-time code.

- A new home page that explains a bit about the project and gives you
the ability to signup/login.

- All feeds/feed-items are scoped to a user. We are definitely not doing
this optimally. Each feed is stored per-user.. if two users add the same
feeds.. then they get stored twice. We can address this if it actually
starts to become a problem.

2 months agodo not auto-load the first item in the reading pane
xangelo [Thu, 7 Apr 2022 19:36:02 +0000 (15:36 -0400)]
do not auto-load the first item in the reading pane

This seems useful, but if the user is currently reading something when
the feed item list refreshes it will pull their focus away.

3 months agov2.0-2
xangelo [Wed, 6 Apr 2022 17:03:58 +0000 (13:03 -0400)]

This brings to conclusion the initial functionality of the RSS reader
portion of this project. It supports the following functionality:

- Add new RSS feeds by URL
- Tracking read/unread counts
- Marking all unread items as read
- Delete a feed

3 months agoexpress wrapper improvements
xangelo [Wed, 6 Apr 2022 17:02:32 +0000 (13:02 -0400)]
express wrapper improvements

The express wrapper to allow for async/awaits style handlers now
supports GET | POST | DELETE, and always properly ends the request.

Views are now optional, and if they are not provided and an HTML version
of the page is requested, then we send back a 204 NO CONTENT.

3 months agoadd new queries to get unread counts, read all items, delete feed
xangelo [Wed, 6 Apr 2022 16:49:33 +0000 (12:49 -0400)]
add new queries to get unread counts, read all items, delete feed

3 months agoextract the parser api to a base class
xangelo [Wed, 6 Apr 2022 16:47:56 +0000 (12:47 -0400)]
extract the parser api to a base class

3 months agov2.0.-1 of newsriver
xangelo [Tue, 5 Apr 2022 05:37:29 +0000 (01:37 -0400)]
v2.0.-1 of newsriver

This is a complete re-write of newsriver, simplifying the entire engine
drastically and adding traditional feed reader capabilities. By default
the app loads in the traditional format, but you can visit `/river`
to get the never ending river of news.

Right now it's still very early, but the following functionality is

- Adding of RSS feeds
- UI/Serverside polling of RSS feeds to keep them in sync
- Read/Unread tracking per feed
- A single API that powers the entire system
- HTMLx for the majority of UI updates