Skip to content

API: Can we add callbacks that plugins can provide for when items are viewed #27

@calebhearth

Description

@calebhearth

I'm wondering if Tapestry could call a method on a connector plugin when each entry is "read", which I'll admit might be confusing to define1. It would be really useful for deeper integration into services like Mastodon which has a markers API2 that clients are able to use to save and sync a position in the timeline across sessions, apps, devices, etc.

Another use case is for Feedbin plugins (like this one to be able to mark entries as read, which would make Tapestry able to sync read state across a multitude of RSS readers that also support the Feedbin API.

I don't have a concrete example of this one, but if folks are using connectors for things like private messages or notifications, there are often APIs that allow those to be marked as read as well which this could be used for.

Footnotes

  1. Read could defined as "seen", as in it's been scrolled past, or it could be something that happens when an item is clicked into to view the full content (though not all items are long enough for this, especially social posts) or even when an item is "tapped" and we highlight the . It might also be defined (less flexibly) as "Tapestry's feed marker is above this item", though I think that's a less valuable option.

  2. Admittedly, the markers API appears to have some problems that lead to it not being widely used, even by the official web app. For some reason the web client will set the marker to the latest entry viewed in the timeline, but won't load it so web users constantly lose their spot. But it might still be useful to have it as an option and the hook could be used for other clients as well, if those feed position APIs are available.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions