At this level
ink.resenha · 9- ink.resenha.bookLink record Which catalog book a book in the reader's library is, and which of the reader's records in each book app are that book. Resenha writes these when it matches a reader's Popfeed books to BookHive's catalog, so Popfeed's and BookHive's own records are never changed to hold the match.
- ink.resenha.bookReview record Connects a book review, published as a site.standard.document, to the book it reviews.
- ink.resenha.defs defs Views shared by the calls Resenha's server answers.
- ink.resenha.ebook record A book file the account keeps for reading in Resenha: an EPUB, a PDF or a comic archive. The file is a blob in the account's repository, which keeps it only while a record refers to it.
- ink.resenha.ebookKey record Which key encrypts the account's ink.resenha.privateEbook files. The key itself stays on the reader's devices; this record only names it, and keeps a copy locked with a recovery key when the reader saved one.
- ink.resenha.friend record Marks that the account added another reader as a friend in Resenha. Friends are readers who follow each other; this record lets the other reader's app show the follow as a friend request.
- ink.resenha.migrationChoice record What a reader chose while Resenha moves their Popfeed books to BookHive and Resenha readings: their changes to the proposed plan, the plan they confirmed, and which device is writing. These records are public, like every record in the reader's repository. Resenha deletes each book's choice when it writes that book, and the rest when the move finishes.
- ink.resenha.privateEbook record A book file the account keeps for reading in Resenha, encrypted on the reader's devices before upload: an EPUB, a PDF or a comic archive. Only the reader's devices hold the key, so the file, its cover and its details can't be read from the account's server. Replaces an ink.resenha.ebook record with the same record key.
- ink.resenha.reading record A reader's reading of a book BookHive's catalogue doesn't hold, or can't be matched to for certain: the home of last resort, so any book can be added to a library and reviewed. One per book. Status, dates, rating, review and progress live here as they do on a buzz.bookhive.book; the book is named in every key anyone uses, so any app that recognises one of them can show the reading. When BookHive's catalogue has the book, Resenha moves the reading there: it writes a buzz.bookhive.book with everyt
- ink.resenha.book.getBook query not from the namespace authority A book's page from Resenha's index: an edition's readers with their readings, everyone's reviews of it, and its other editions with theirs. By BookHive ID or ISBN-13, so a book BookHive's catalogue doesn't know has one page shared by its readers. Readers the caller blocks are left out. Requires the caller's service token.
- ink.resenha.book.getReaders query not from the namespace authority How many readers have a book, by status.
- ink.resenha.book.getReviews query not from the namespace authority Reviews of a book from every source, newest first.
- ink.resenha.book.resolve query not from the namespace authority Every key Resenha's index knows for a book, and its other editions, from one key: a BookHive ID, an ISBN-13, an Amazon number or an Open Library work. Learned from BookHive's catalogue, readers' own links between their records in different apps, and Open Library. Public, no sign-in: any book app can fill the slots its records leave empty, such as Popfeed's hiveId or BookHive's ISBN. Answers come from the index alone; nothing is asked of any catalogue for them.
- ink.resenha.discover.getBooks query not from the namespace authority The books Resenha's readers started, finished or reviewed most lately.
- ink.resenha.discover.getReaders query not from the namespace authority Resenha's readers who agreed to be suggested.
- ink.resenha.discover.getReviews query not from the namespace authority Recent reviews by Resenha's readers.
- ink.resenha.feed.comment record not from the namespace authority A comment on a reader's book record, or a reply to such a comment: the conversation about a reader reading a book, for activities in Resenha's Feed that have no post to reply to. One subject per book per reader, so comments on their starting and finishing it are one thread. Written in the commenter's account; Resenha's server threads them and tells the reader.
- ink.resenha.feed.like record not from the namespace authority A like on a reader's book record (a BookHive book record or a Popfeed list item), for an activity in Resenha's Feed that has no post to like: started, finished, wants to read, abandoned, progress, or a review announced nowhere. Written in the liker's account. Resenha's server counts them for the Feed.
- ink.resenha.moderation.getState query not from the namespace authority Whether the caller is one of Resenha's maintainers, and how many reports await them. Cheap, for the Settings row and its badge.
- ink.resenha.moderation.listRemoved query not from the namespace authority The Resenha comments the maintainers removed, newest first, each with its words, so one can be put back.
- ink.resenha.moderation.listReports query not from the namespace authority The reports on Resenha comments, for a maintainer: open ones newest first, or the resolved ones.
- ink.resenha.moderation.resolveReport procedure not from the namespace authority A maintainer's decision on a reported Resenha comment: remove it from every reader's thread, keep it, remove it and hide its author from suggestions and the pack, or put a removed comment back. The record stays in its author's account either way.
- ink.resenha.notification.dismiss procedure not from the namespace authority Dismisses a follow or friend request from an account.
- ink.resenha.notification.getUnreadCount query not from the namespace authority How many notifications the caller hasn't seen.
- ink.resenha.notification.listNotifications query not from the namespace authority The caller's notifications from Bluesky, BookHive, Popfeed, comics and Resenha, newest first.
- ink.resenha.notification.registerPush procedure not from the namespace authority Registers a device for push notifications.
- ink.resenha.notification.unregisterPush procedure not from the namespace authority Stops push notifications to a device.
- ink.resenha.notification.updatePreferences procedure not from the namespace authority Chooses whose likes and quotes are pushed to the caller's devices.
- ink.resenha.notification.updateSeen procedure not from the namespace authority Marks the caller's notifications seen up to a time.
- ink.resenha.parlor.getFollowers query not from the namespace authority Who follows the caller, newest first: the readers among them by default, or everyone. The server pages the caller's followers from Bluesky's AppView once a week and hears new follows as they happen.
- ink.resenha.parlor.getFollowing query not from the namespace authority The readers among the caller's follows: how many books they keep, what they're reading now, when the caller followed them and when they were last active; with their names and pictures as the server has them.
- ink.resenha.parlor.getRelationship query not from the namespace authority How the caller and another reader stand to each other, as Resenha's server knows it: whether each follows the other, and which of the caller's follows follow them, for "followed by people you follow" on a profile.
- ink.resenha.parlor.getReviews query not from the namespace authority The reviews of the readers the caller follows, newest first: dated by when they were published from Resenha, else by when the book was finished or added.
- ink.resenha.parlor.getStarterPacks query not from the namespace authority The starter packs Resenha keeps in its official account, with their members, for an empty Parlor.
- ink.resenha.parlor.getSuggestions query not from the namespace authority Readers for the caller to follow when their Parlor is empty: Resenha's discoverable readers first, then BookHive's and Popfeed's active in the last six months, then anyone reviewing this year, by days active within a tier; never the caller or anyone they follow. Ranked once an hour.
- ink.resenha.parlor.getThread query not from the namespace authority The conversation about a reader reading a book: the Resenha comments and BookHive buzzes on their book record, with the likes count and whether the caller liked it.
- ink.resenha.parlor.getTimeline query not from the namespace authority What the readers the caller follows did with their books, newest first: started, finished, reviewed, wanted to read, abandoned, and progress; with their names and pictures and the books' covers as the server has them.
- ink.resenha.parlor.reportComment procedure not from the namespace authority Reports a Resenha comment to Resenha's maintainer, who can remove it from every reader's thread. Bluesky's moderators don't read these records, so the report comes here.
- ink.resenha.parlor.updateState procedure not from the namespace authority Whether the caller said Done to the readers-to-follow list, so it stays away on every device.