Skip to content

Add free books from LibriVox: user guide, developer docs and screenshots - #303

Merged
KodeStar merged 8 commits into
mainfrom
feat/librivox-l6
Nov 13, 2026
Merged

KodeStar merged 8 commits into
mainfrom
feat/librivox-l6

Conversation

@KodeStar

Copy link
Copy Markdown
Owner

Docs for LibriVox L6 (v2.7.0 row 14): Add from LibriVox in the console and the player, run by the Bridge.

  • New User Guide page admin/librivox ("Add free books from LibriVox"): what is needed (admin, community metadata on, a paired Bridge with the library mapped writable), console and player steps, what lands on disk, the book arriving matched, cancel and resume, failure reasons, Clear community matches.
  • New Developer Docs page bridge/librivox: the gate, the three /admin/librivox routes, the librivox.fetch job (params, progress, result, failure codes), the identity rule (a book_matches row from the fold, never a first-recording fallback), archive.org-only fetching, placement, staging and resume, .audiosilo/librivox.json.
  • Updated: features, running a Bridge, Bridge jobs, console tour, books, browsing, FAQ, API reference and index, Bridge pairing/jobs, configuration, attachments, scanner, data model, web UI, notifications, player library/routes/state, the cross-repo contract, the documentation mapping table. Also adds audible.sync and audible.import where two kind lists had missed them.
  • Screenshots: admin/librivox.png and web-player/find-librivox.png, captured from the real UI with live community metadata.

Pairs with KodeStar/audiosilo-server#378, KodeStar/audiosilo-bridge#68, KodeStar/audiosilo-frontend#292.

The console's Library > LibriVox and the player's Find on LibriVox let an
admin add a public-domain LibriVox recording to a books library through the
Bridge's new librivox.fetch job, and the server records the placed book as
that recording.

User Guide: a new Add free books from LibriVox page (what is needed, the
console and player steps, what lands on disk, cancel and resume, the failure
reasons), plus Features, the Bridge pages, the console tour, browsing and the
books page.

Developer Docs: a new Bridge page for librivox.fetch (params, progress,
result and failure codes, the identity rule, the archive.org-only fetch,
placement, staging and resume, .audiosilo/librivox.json), the three admin
routes in the reference, the librivox feature and in_library code, the job
in the kinds lists, the book_matches fold, the console and player sections,
the notifications, the cross-repo contract and a mapping table row.

Part of LibriVox L6.
…n LibriVox

capture-admin.mjs sends the stand-in Bridge's heartbeat again with
librivox.fetch, so its features list librivox, then searches the live
community metadata for The Wind in the Willows on Library > LibriVox and,
signed in to the web player as the admin (browsing, so nothing plays), from
the Books mode's ... menu. Nothing is added, so no seeded book gains a match.
The Add free books from LibriVox page embeds both.

Part of LibriVox L6.
…e contacts

A failed or parked librivox.fetch has no result path, so its notice names
the library, not the book. The FAQ's list of what the server sends now has
Add from LibriVox (the search to meta.audiosilo.app, the download from
archive.org), the player's hooks table lists the LibriVox client methods,
and the Bridge page says LibriVox works without the agent.

Part of LibriVox L6.
The Find on LibriVox shot in capture-admin.mjs signed the web player in
with an inline copy of capture-web.mjs's connect, sign-in and token
helpers, so a change to the connect flow would have been fixed in one
script and left broken in the other. drawerClosed, playerSession,
probeServer and signInWithPassword now live in lib.mjs and both scripts
import them. The LibriVox step's settle waits drop to the 800 ms the
other Bridge steps use, and its second heartbeat says why it is there.

Part of LibriVox L6.
- The player's Find on LibriVox is its own section, not a Library mode,
  and links to the Bridge page's gate instead of restating it.
- The bell's wording for a parked librivox.fetch moves to the
  notifications page beside the other per-kind bell titles.
- The scanner names the staging folder in its hidden-folder rule rather
  than in the attachments section.
- The API reference says a parked fetch is notified too, as the
  notifier does.
- The User Guide puts the "Bridge online" condition on the step that
  needs it and shortens the resume paragraph.

Part of LibriVox L6.
The User Guide and the privacy FAQ said only that the search goes to
meta.audiosilo.app and the audio comes from archive.org. The Bridge also
reads the project's section list and work from its own metadata service
before it downloads, so both pages now say so. Adding a recording again
finds the placed book only while it is still in the folder the Bridge
plans for it; the page no longer promises that in every case.

Part of LibriVox L6.
- A new job whose library is checked but not writable fails
  not_writable; only a resumed or downloading one parks.
- not_found also covers a recording that meta now ties to another
  project.
- Section URLs are checked up front; an off-archive cover is skipped,
  not failed. binary/octet-stream is an accepted Content-Type.
- Adding again repairs the identity only when the planned folder (or
  its fallback) is the one placed.
- A done fetch's notification names the book its result names, which
  is its title once indexed, not its path.
- The console's Bridge note links Settings > Bridge only when no Bridge
  is paired, and the player's refusal keys include not_found and
  invalid.

Part of LibriVox L6.
…re the Bridge's slot

The settings page is Community metadata; Recordings and Library are screen-reader labels, not visible text; only the podcast episodes the server fetches on its own take turns with a LibriVox download (an episode a listener waits for runs in the interactive lane); the retry button reads Add to <library>.
@KodeStar
KodeStar merged commit 7bf76af into main Nov 13, 2026
1 check passed
@KodeStar
KodeStar deleted the feat/librivox-l6 branch November 13, 2026 20:33
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