Skip to content

Docs: LibriVox links in About, and /meta from a book's console match - #300

Merged
KodeStar merged 7 commits into
mainfrom
feat/librivox-l5
Nov 13, 2026
Merged

KodeStar merged 7 commits into
mainfrom
feat/librivox-l5

Conversation

@KodeStar

Copy link
Copy Markdown
Owner

LibriVox L5 (v2.7.0 row 13). Pairs with KodeStar/audiosilo-server#374 and KodeStar/audiosilo-frontend#289.

User Guide

  • Book page: About can end with Also free on LibriVox (opens the librivox.org page) when the book is matched to a LibriVox recording, and a book is matched by its ASIN or ISBN or by an admin in the console.
  • Recaps and characters, admin Books, admin Server, FAQ, offline downloads: a console-matched book without an ASIN or ISBN shows its community details on its book page (and in Search's characters); the companion, Home's cards, the end credits and downloaded copies still need an identifier. What a lookup sends now includes the matched community entry.

Developer docs

  • API reference: /meta's lookup order (identifiers, then the recorded match in book_matches), the optional recording.librivox {id, url?, zip_url?} (2.7.0, additive; links only absolute http(s), never built from the id), the first-recording fallback, the unmatched and 500 rows, /meta/cover, and /next's community step staying identifier-only.
  • Configuration and data model: the m:<work>/<recording> cache keys; how /meta uses book_matches.
  • Cross-repo contract, frontend state and data ("Two gates": bookPageMetaEnabled and metaEnabledFor), book page (librivoxUrl), offline, podcasts, Bridge attachments, web UI: wording brought in line.

Screenshots: none. The screenshot seed's LibriVox books have no identifiers and no console match, so the link never shows in the pipeline; follow-up docs#299. The feature was verified live in the web player on the paired branches (see fe#289).

Gate: npm run build green. Review: one docs review (Opus high).

Follow-up outside this repo: the site's metadata page copy, site#67 (with the 2.7.0 release).

The book page's About card now ends with "Also free on LibriVox" when the
book's matched recording is a LibriVox one, and /meta's recording carries an
additive librivox {id, url?, zip_url?} block (http(s) links only, never built
from the id). /meta also answers a book its ASIN or ISBN don't match from its
recorded console match (book_matches work_id + recording_id), cached under its
own key space.

Updates the user guide's book page and the lookup privacy lines, the /meta
reference (resolution order, the field, the 500 for an unreadable match), the
cache keys in configuration and the data model, the cross-repo contract, the
console's series-gap note, and the player's About and wire-field notes. The
player still asks /meta only for a book with an ASIN or ISBN or generated
content, and the docs say so.
The player's book page now asks /meta for every loaded non-episode book
(bookPageMetaEnabled), so a book matched in the console with no ASIN or ISBN
shows its community About, tabs and LibriVox link there. The companion, reveal
toast, Home's Now card and Previously on, the end credits and offline copies
keep the identifier gate (metaEnabledFor, canMatch).

Updates the user guide (book page, recaps and characters, admin books and
server settings) and the developer pages that said the player only asks for a
book with an identifier.
The surfaces that ask /meta for a book with no ASIN or ISBN were listed in
four pages, and the two User Guide copies already disagreed (one left out
the end credits). The list now lives in state-and-data.md and in the User
Guide's recaps page, with links from the contract, the data model and the
console's books page. The LibriVox URL rule is stated once, in the API
reference, which now links the meta links field it reads.

Part of LibriVox L5.
The attachments page said the player asks /meta for a book with no ASIN or
ISBN only through generated content, and the podcasts page named only
metaEnabledFor as the episode guard; the book page now asks for any book
through bookPageMetaEnabled. Also plainer sentences and reflowed lines in
the offline, configuration and console pages.

Part of LibriVox L5.
/next's community step still finds a book by ASIN or ISBN alone, but its
wording now read as if a console-matched book qualified. The matched field's
note claimed /meta answers every matched book, which fails for an unknown ASIN
with no match row. A match naming no recording, or one the work dropped, gets
the work's first recording, which can itself be a LibriVox one. The 500
'could not load book' also comes from loading the book, and /meta/cover
returns it too.

Part of LibriVox L5.
Search's characters ask for a started book with or without an ASIN or ISBN,
so such a book's characters show there too. A download of it keeps no
community notes offline, which the offline page said every download does.

Part of LibriVox L5.
The Wording rules allow no colon as a mid-sentence connector.

Part of LibriVox L5.
@KodeStar
KodeStar merged commit a8b242a into main Nov 13, 2026
1 check passed
@KodeStar
KodeStar deleted the feat/librivox-l5 branch November 13, 2026 12:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant