Ekster creates mentions from links in items, but Ekster Reader replaces the whole item with the mention. I could see an option for the mentioned link to become a whole new item, or make it more of an insert card. It would be nice to open mentioned links in another panel so we can work with like other microsub items.
I moved Ekster back to Github. This should be easier to use for more people.
I recreated the Pipedream workflow that adds emails to a channel in Ekster. The worflow prepares a micropub entry and sends it to the micropub endpoint of Ekster. I can now forward emails to an email address and the workflow processes the rest. This is really useful for newsletters and other marketing emails.
I'm testing with the new bucketed fetching of feeds. The algorithm is similar to algorithm Aperture uses. The difference is that the buckets are powers of 2 at the moment. Every tier is the exponent of 2 minutes, after the last fetch.
In the middle of a rewrite of the backend of Ekster. The next version will have a full Postgres-based backend.
I'm trying to add the "_source" field to items in Ekster. At the moment it adds the information from the FeedHeader when it is available.
It seems the Microsub reader works well enough in a mobile browser.
What would I need to send the webmention notifications to Ekster? It seems that I need to post the webmentions as Micropub posts to a channel.
I have been building a Postgres backend for some of the timelines. This timeline type returns items in reverse chronological order and keeps all of them (for now). The sorted sets type removed all read items.

Interdependent Thoughts - Revisiting My Ideal Feed ReaderList of use cases for a feed reader.

I added a "Read More" button to Ekster Reader. With this change, longer articles are smaller, but can be expanded when you want to.
I improved the mobile view of the reader. Now the channels will pop in when needed. It is a small change, but is a big improvement when using it on the phone.
It seems some posts from Twitter contain "white-space: pre" in their content[html]. I need to find a way to remove this. Or at least convert it to pre-wrap.
Ekster now contains a new feature. The backend now supports two types of Redis based timeline backends. The default is still the timeline based on sorted sets. The new type is based on streams. The notification channel will now use this new stream type. Not many entries are posted to this channel, but I will use it for more things in the future.

The last few days, I made improvements to Ekster. I simplified the conversion from MF2 to JF2. The first version of this code was ad-hoc, because I didn't understand what I could expect from the MF2 library. Now that I know what the inputs look like, I have written a better converter. The code now converts directly from microformat.Microformat to jf2.Item with less layers of map[string][]interface{} in between. At the same time I added logging that shows the properties that were used, but weren't accepted by this new code.

The implied name improvements in the microformats2 parser by @willnorris helps quite a bit in showing nice entries in Ekster. The name is shown as the title, but sometimes included the whole html of the entry.

I have added the -verbose flag to ek. This makes it possible to see the HTTP requests that are sent to the Microsub server and the responses that are returned. It can be a tool when creating your own Microsub server of client.

I thought I didn't port mark unread in Ekster to the Redis backend. But it seems it's not spec-ed and I did not implement it.
I started with using "refs" in the microsub items. When it's available in the original feed, Ekster will try to add it to the refs array.
Today I improved the flow when logging in from micropub clients to Ekster. Now you continue with the Indieauth when you aren't logged in. Also now the app name and logo are shown when you login with a Micropub client.
I justed re-added filtering as a setting in Ekster. This allows for easy mentions from all feeds, because it will match all incoming items with a regexes and add the matching items.
Blocking items also works (but it's channel only)
Ekster now supports actual Indieauth to the Microsub channels. It's now possible for example to connect with indiepaper.io and "archive" pages to a channel. But of course the possibilities are endless.
Perhaps it's possible with some kind of introspection to copy fields from a microformats.Data object to a normal struct, just like how "encoding/json" works. You could create your own structs and copy those fields from the MF2 into your own data model.

Peter Stuifzand created a new issue for pstuifzand/ekster

Add set and hash of feeds to Redis to improve subscriptions

The subscriptions of the feeds, are kept in keys named "feed:<id>", but these are difficult to reference at the moment. There should be a set of "feed:<id>" items and a hash of urls to "feed:<id>". That way I can deduplicate feeds and make it easier to resubscribe.

Peter Stuifzand replied to pstuifzand/ekster issue #1

Resubscription was added, now I need to find some feeds with WebSub and see if those work.

Peter Stuifzand created a new issue for pstuifzand/ekster

Add tracking to channels (include from all)

In the original version I had a filter that added all items matching a regex to a channel. In the settings page there should be a place to add keywords to a channel (even if it has no feeds) and gather all items matching those keywords (or perhaps) regex.

Peter Stuifzand created a new issue for pstuifzand/ekster

Add filtering to feeds (exclude)

Should be able to add keywords to a channel, that will be filtered on. If an entry contains the keyword, it won't be added to the channel.
Using time.Time will by default not result in a nice serialization in Redis. Now I use unix time as int64, which is much easier to work with.
I did some updates on the WebSub part of my Microsub server Ekster. It now tries to subscribe to feeds and send resubscribes. Before it already received incoming posts.

I just made a change to Ekster that allows it to receive Micropub requests from Indiepaper. In a way this already worked, but only with source_id and JF2 request bodies. This change allows the auth token to be in the Authorization header and JSON micropub requests.

I really like the oldest-first ordering of posts of Ekster (my microsub server), but it means that when you have read everything, that I doesn't show the old posts anymore.
It always starts with showing the oldest unread post. I would like to have a way to show the older posts. This could be done with "before" in timelines, but it doesn't seem to be implemented in Monocle for example.

Peter Stuifzand replied to a post on publog.stuifzandapp.com

I love how easy Go makes using these interfaces. The server implements it (as a file and Redis backend) and client calls it (instructed from the command line). Even the HTTP part calls the server backend through this interface.

Load more