Repository navigation
Player redesign 8: household profiles, kids mode, listening in the house, Chromecast (docs) - #129
Merged
Merged
Conversation
… migrations 0041/0042
…e switch, test areas, the change map
…usted certificate; what the server records
…usehold, the car and links per person, manifest entries for Phase 8
… the Cast sender's three scripts; the web Cast button needs https
…Phase 8 capture-web.mjs gets a household pass. It provisions four accounts through the admin API (ellen the viewer; jamie and rosa, who share, from progress saves as the apps make them, jamie live and rosa paused; leo, limited to a Stories share) and drives the UI on a fresh browser: Add someone, rename, a PIN for Jamie, kids mode for Leo on one library, sharing on in Settings > Household. It captures profiles, settings-household (1440x1000), home-house, book-in-the-house, kids and phone-kids (in a fixed 8 pm time zone, so the bedtime card is the same every run), then deletes the accounts and the share so the admin shots never show them. player-cast needs an https page: a local https proxy with a throwaway self-signed certificate (openssl, .cache/cast-tls) on a free port, opened under a made-up name a separate Chromium maps to 127.0.0.1. The connect step shares the new probeServer / signInWithPassword helpers. The pages for profiles, kids mode, the house, Chromecast and Settings embed the new shots; the rest of web-player/ is retaken (profile menu, Settings).
The identity migration is forward-only once its plan is stored (five held retries, then identityMovePending), moves no web files and never reverses a native move; a re-pair retires only the re-pairing person's stale identity; mayActFor is enforced in the playback store and useRouteConnection is the route rule; the profiles read retries and its failed states; the secure store is the PIN authority; mayAddPerson and mayTurnOnKids; kids mode's one list, startBookInPlace and effectiveAutoSleepConfig; the Cast route's guards (generations, foreign media, early transcode ends, the car, one tab owns a session) and the AirPlay-only picker; houseWhen/houseCopy take today and useHousehold never goes stale; Downloads lists the person listening's and the Not signed in group. The first profiles document and cast token policy now live on their owner pages.
Cast token policy lives in auth-and-security (Cast tokens) and the schema in data-model; the reference keeps the wire, the status table and the media routes' accept conditions. The household privacy rules live in auth-and-security; the reference keeps the endpoints and shapes. Cross-repo section 15 keeps the wire lines and the invariants and links the rest.
Times in the reader's clock format (kids mode, Settings, Activity's busiest hour); the cast token is a temporary pass in Activity; shorter Cast certificate sentences; kids mode can't add a person while a grown-up is on the device and never turns on for the last grown-up; Downloads shows the person listening's and a Not signed in group. The FAQ and Activity link to Listening in the house instead of restating it; Settings links to the PIN section.
Clean up a partial provision (and a killed run's leftovers at startup), wait on the server's paused state instead of a fixed sleep, re-save rosa when Home comes late, close the proxy's connections, reuse a fresh certificate, one context factory over DESKTOP_CONTEXT, one play/pause helper, a clearer Cast button timeout, and an Ellen-only run for the Cast shot.
PIN authority and its unreadable-store case, cast token disable vs revoke and the full status table, what sharing reveals (exact position, length, save time), admins always see listening, CarPlay availability, security-page statements (API-key refusals, requireBookMediaAuth, two CSP relaxations, household demo fences), one-way house visibility and the 24-hour window, kids set-up order, Chromecast behaviour (web casts the page address over https only, remote stop pauses, notification buttons), per-person downloads and servers, identity migration details, stale frontend symbols and pages not yet updated for Phase 8, clock formats. Capture script: household sign-in events removed, in-memory phone storage, failed people step skips household shots, evening time zone for the Cast shot, probeServer guard from main.
Conflicts kept both sides: the series-key work (0041_series_key, Library > Series grouping) beside Phase 8's household and Cast content; the served player's no-address connect flow beside profiles in the menu and Settings; Android on Google Play with Phase 8's CarPlay status. connect.png is main's (the served player with no address field).
Main took 0041 for series_key, so the server renumbered the Phase 8 migrations (KodeStar/audiosilo-server#125).
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.
Player redesign Phase 8 (Household) documentation, plus CarPlay availability. Pairs with KodeStar/audiosilo-server#125, KodeStar/audiosilo-frontend#97 (CarPlay) and the Phase 8 frontend PR; merge after them.
User Guide
Developer Docs
householdandcast.Screenshots
Seven new web-player shots captured for real (profiles, Household settings, kids desktop + phone, house row, book card, Cast button via a local https proxy) and the web-player set retaken. The capture script gained a household pass (accounts via the admin API, people/PIN/kids driven through the UI, cleanup). Its later review cleanups were syntax-checked but not re-run; connect.png is main's (served player, no address field), and other retaken shots may predate that frontend change: retake on the next run.
Quality passes
/simplify (one home per fact, plain wording, accuracy vs code) then /code-review max --fix (15 fixed).
npm run buildpasses.