Repository navigation
feat(kiosk): the music library and the news briefing on a display, the library's own tools through the envelope; funkwhale 1.0.6; kiosk 0.3.7 - #450
Merged
Conversation
kh0pper
force-pushed
the
feat/kiosk-wm1b1
branch
from
October 6, 2026 22:46
d57fb80 to
c255873
Compare
kh0pper
force-pushed
the
feat/kiosk-wm1b-library
branch
from
October 6, 2026 22:46
8a9d65f to
930d39e
Compare
kh0pper
force-pushed
the
feat/kiosk-wm1b1
branch
from
October 7, 2026 00:37
c255873 to
613e92a
Compare
kh0pper
force-pushed
the
feat/kiosk-wm1b-library
branch
from
October 7, 2026 00:37
3772a91 to
9d4aaa8
Compare
kh0pper
force-pushed
the
feat/kiosk-wm1b1
branch
from
October 7, 2026 17:51
613e92a to
701352b
Compare
kh0pper
force-pushed
the
feat/kiosk-wm1b-library
branch
from
October 7, 2026 17:51
9d4aaa8 to
011c8a1
Compare
kh0pper
force-pushed
the
feat/kiosk-wm1b-library
branch
from
October 7, 2026 22:28
f7b4a1a to
b23db1c
Compare
added 15 commits
October 8, 2026 15:02
…t against a library's names (folding, cues, exact and contained tiers, shared album titles as fragments, spoken forms such as numbers, years, ordinals and initialisms meeting the written names, dominant or a question), with the follow-up chooser and a counts-only match report
…— a name index built in the background with a live fallback, queues in disc order across pages, copies only when the file extension needs one, the relay's service policy for library streams (listen path only, one redirect to the storage origin, the token never past the first hop), a storage-origin check and a match report that reads the token inside its own process; the newest briefing mp3 only from inside the media audio directory, re-checked at every request and refused past seven days; the library's own play tools join the display's session through the tool-result hook, rebuilt on the server
…lookup, no list scan), files are copied only when their extension needs it, albums play in disc order across pages, the unimplemented blocklist import is no longer listed; funkwhale 1.0.6
…ibrary settings in the panel (library and storage addresses entered by the operator, never guessed; Check against the real redirect), news from the data directory, stream envelopes on every display turn, a source's refusal spoken as its own line; docs
…dress empty; it says this version plays only from a library with separate file storage
…run-4 set is kept verbatim and spent
… names are being read, and stops once ready; what is being typed is left alone
…me spelled letter by letter, ordinals past tenth, thousands; the match report compares spoken with written outcomes and counts misses by kind
…run-5 set is kept verbatim and spent
…eps an n or an r b inside it, a thousands separator joins its digits, larger numbers and leading zeros are read as people say them
… previous set is kept verbatim and refused as spent
…to M', and the match report reads a long title whole instead of its shortened display name
… previous set is kept verbatim and refused as spent
kh0pper
force-pushed
the
feat/kiosk-wm1b-library
branch
from
October 8, 2026 20:02
d3c9685 to
4f551f2
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Stacked on #443. The base is #443's branch, so this diff holds only the library and news work (and the evaluation's held-out set). Do not merge it in this form, and do not merge it outside a deploy window. Once #443 is squash-merged, this branch gets rebased onto
mainand the PR is retargeted.Versions: kiosk 0.3.7, funkwhale 1.0.6. The core voice-turn changes (optional STT prompt/hotwords, the repetition-loop and tool-syntax guards, which also cover the glasses endpoint; the kiosk's hotwords switch is off by default) and the playback changes (the −50…0 dB volume range with 10 dB per request, pause requests while paused answered with no model, the sentence's own command winning over the model's) come from #443; this PR adds no core change of its own.
What a user can say
fw_play,fw_play_album), the result can join the display's media session. Only those two tools are accepted, and only for the server's listen path. The stream is rebuilt on the server and never fetched from the address in the tool result.Changed since the last push
Earlier changes
How audio reaches the display
The display gets only a short-lived ticket path on this gateway. It never receives an upstream URL or a credential. The relay from #443 serves every stream:
.mp3whose real path, with links followed, is inside the data directory'smedia/audio/. That check runs again on every request. One byte range per request; other methods get 405 and a bad range gets 416.What the relay refuses
.mp3.Settings
Funkwhale tool fixes (1.0.6)
Known gaps
Scope
No schema change, no new port, no new package, no container.
Checks
main(54e682d5) via feat(kiosk): audio on a display: radio stations (incl. operator-ticked home-network streams) through a pinned stream relay, display tickets, transport verbs, ducking, now playing; voice turn: optional STT prompt/hotwords, repetition-loop and tool-syntax guards; kiosk 0.3.6 #443. Full suite on this head, scratch env: 7,985 tests, 7,984 pass, 0 fail, 1 skipped.build-registry --checkOK,check-public-hygieneclean.