Expand description
Serde types for the community.lexicon.rss.* atproto record schemas.
FeatherReader’s defining bet is that a user’s feed subscriptions, folders,
saved items, and batched read-state live as records in their own atproto PDS
under an open, vendor-neutral community lexicon (community.lexicon.rss.*)
rather than in the app’s database — portable across any reader that adopts
the standard, not merely across FeatherReader instances.
These types mirror the community.lexicon.rss.* schemas, authored in
the Lexicon Community idiom (createdAt/updatedAt as ISO-8601 datetimes,
url/siteUrl/feedUrl as URIs, folder as an at:// strong ref). Each
record carries its $type NSID so it round-trips against the atproto record
shape returned by com.atproto.repo.getRecord / listRecords.
Storage rules (never write these authoritatively to local SQLite):
Subscription— one followed feed.com.atproto.repo.createRecordon subscribe;deleteRecordon unsubscribe. Source of truth for the follow list.Folder— a lightweight named grouping (a feed lives in one folder).Saved— a starred / save-for-later entry.ReadState— the batched per-feed read cursor (one record per feed, at a feed-derived rkey — never one record per article). Written by the read-state flusher; see the caveats on that flush path incrate::atproto.
Modules§
- nsid
- NSID
$typeconstants for thecommunity.lexicon.rss.*record collections.
Structs§
- Folder
community.lexicon.rss.folder— a named folder/grouping for subscriptions. Record key:tid.- Read
State community.lexicon.rss.readState— a batched read high-water-mark for a single feed. Record key:any; the rkey is derived deterministically from the feed (a hash of the feed URL), so there is one record per feed with a stable key, NOT one record per article.- Saved
community.lexicon.rss.saved— an article kept for later (the reader’s “star”). Record key:tid.- Subscription
community.lexicon.rss.subscription— a subscription to a syndication feed (RSS / Atom / JSON Feed). Record key:tid.
Enums§
- Fetch
Hint - Optional polling-cadence hint on a
Subscription. Readers MAY honor or ignore it. Mirrors the lexicon’sknownValuesforfetchHint.