I’m adding an _Unread_ “channel” to my Aperture fork and for a moment there did not know how to stop the pagination cursor from using the order entries are added to a channel—I’m specifically _not_ looking at _one_ channel! And then I figured it out. I’m already ordering entries on date published rather than date added anyway, and because entry IDs are unique, ever-increasing integers, I can use those rather than “order added.”
(The pagination "algorithm" looks at both the timestamp and the order, or now, ID [to be able to deal with identical timestamps].)
(Yeah, that's Edge on Windows. 😥)
Because in "actual Aperture" posts can't appear outside "their channel" but here they can, I've also got to hack around the mark (un)read (a channel-specific status) actions' workings. It's entirely possible to have entries in different channels, different users having different channels and all—but just one user can have the same source in multiple channels, too. I'm thinking mark (un)read in the overall Unread "channel" should update an entry's read status everywhere—for the current user!
(Something similar goes for removing entries from a channel/all channels, removing a feed from a channel/all channels, etc.)
Again: the outcome of all this will essentially be a Microsub server/aggregator that's much more like a "classic" feed reader, with channels acting as categories rather than fully separate "timelines." Despite that, Apertures super-handy channel-specific settings (to, e.g., exclude certain post types) remain in place.
This whole "Unread" thingy should obviously be behind a user setting.
So, maybe I should rename “Unread” to “All”, and make “Show unread entries” the default for each and every channel. That’s how RSS readers do it, right? (But then timelines would look nothing like, say, a Twitter feed anymore.)
(Somewhat related: you can’t _really_ “browse” a source outside of the context of a channel, as the channel settings determine, e.g., what entries are shown. You can, however, show every possible, unique entry in an “All Channels” context.)
The social network of the future: No ads, no corporate surveillance, ethical design, and decentralization! Own your data with Mastodon!