Repository navigation
Docs: player redesign 8b-1, household members - #130
Merged
Merged
Conversation
…d the admin side User Guide: a new Your household page (where it is, adding a kid and a grown-up, what they can listen to, a member's card and their devices, deleting versus removing from this device, the lost-phone tick); profiles, kids mode (the quick way, a kid's own device, the collections shelf), settings, You, browsing, account, in the house and in the car follow the Household page; the admin guide gains household members (the two settings, the per-person switch, Assign to someone, Make independent, deleting an owner) and the console's Household settings topic and audit area; the invite-only claims now name household members. Developer Docs: the eight member routes, also_members and keep_members, the new user and admin fields, the capability, the kid 403s and every new error code in the reference and conventions; household.* in configuration; 0044 in the data model; the member rule in auth and security; the audit area; the Household page, addMemberHere, kids by default, the kids shelf and the car in the frontend pages; seam 16 of the cross-repo contract (profiles and kids mode are client-side, household members server-side); the docs mapping.
Reference: the member routes' guards in the order they answer, the uncapped username numbering (no username_taken on add), 409 member_disabled on a member's session and pairing code, every route's status table, the full kid switch (invites, house sharing, collections shared outside the household); display_name on a member's /me and session envelopes; the admin's managed_by.display_name, members[] with created_at and devices, owner_libraries and owner_is_admin, the create answering the admin object; PATCH as one transaction with kid_no_password, member_is_demo and the moves (leaveOwners); keep_members repeated or comma-separated; also_members audited; the settings envelope's household facts. Error codes, auth and security (the rule riding on the request, UpdateUser's guards, kids refused inside the writes, disabled members, moves), configuration, the data model, the audit log and the cross-repo contract follow. User Guide: People's household groups, a kid's Password card, what Assign, Make independent and keeping a member on delete sign out, the full kid switch, Members per person's range check, the book page's access line, and a disabled member on the Household page.
… shots User Guide: the Household page's final wording (the member's own view names their owner, the empty line, the count beside Add); the add dialog's pending "<Name>'s books" made on save and "Share <Name>'s books"; the member card (This device, Sign in on this device, rename here, the remove and delete copy, refusals in the app's words); switching to everything stops sharing and a kid gets one library; a member signed out on this device and Sign in again; kids mode turns links away, asks a grown-up to sign a kid in again, plays at 1x and is where a kid's account starts; a kid's Account page; the sign-out warnings for members; pairing link refusals; the car's 50 stories. Developer Docs: apiErrorKind and the codes, signInMemberHere and renewMemberHere, the add flow's useMemberBooks, the member card, DevicePeople in household/, kidsShelfMode and kidsOfflineScope, listenerSettings (1x and bedtime), the provider's read-again on a new token, connect/_layout as the only kids gate, the car's trimmed shelf, useRevokeMyDevice's one shape. Screenshots: Ellen now adds Leo (kid) and Ruth (grown-up) through POST /me/household/members and signs Leo in from his card; new household, household-device (was settings-household), household-member, the add dialog for a kid and a grown-up, phone-household; maya's household for admin/people and admin/person-member; profiles, profile-menu and the kids shots retaken.
…airing card for a kid
A kid's Account page has no Pair another device card; copy that names a
member's owner uses their profile name here, else display_name, else the
username (managerName with { connection, people }, useManagerName,
kidsManager). phone-you-stats retaken with Household in the sections row.
Owner-naming, kid limits, the lost-phone tick and the sign-out rules each live on one page and the others link to it; the error catalogue, history notes and the admin validation detail go; the profiles page is now Sharing a device (profiles).
…and members frontend/household.md takes the Household page, the members section, the add dialog, member cards, addMemberHere and its neighbours, and naming the owner out of profiles.md, which keeps DevicePeople. apiErrorKind is described once, under the client's error mapping; kids mode links the car spec, the owner rule and the sign-in-again flow instead of repeating them; plan and phase notes go.
…le once The kid refusals, the clear-on-kid list and moving between households live in auth-and-security; the reference and the error table link there. The long path list form joins the pathFilterSQL row (the benchmark named, no numbers), the member rule joins the security-critical lists, the contract's section keeps what a client relies on, and the mapping row names every page.
…oads addHousehold in lib.mjs makes a collection and members for both capture scripts, reusing what a rerun finds; around() moves there too. capture-web makes Leo only for a shot that shows him and adds Ruth with the add dialog (before the page shot) instead of a separate grown-up, so a full run spends 7 of the 10 self-service slots. The Household page is reloaded only when the browser left it, the sign-in toast is dismissed, the QR step waits for its countdown, stale cleanup deletes owners only, and the README owns the household prose.
The password race answers 403 kid_account; pairing links that last for an invite's uses; assign sign-outs spare the new owner's devices; make admin needs a password on a member; stale settings, phone settings and console settings shots retaken; the household shots wait for both members; maya's household runs last and only for its shots; server and frontend pages that household members made false (session sources, share targets, sharing grants access, member scopes); admin and listening guide drift; no pronouns guessed from fixture names.
The admin's invite and rotate answer 409 kid_account for a kid's account (reverting the lines that said the admin could still pair one), the codes table lists it, and the kid's person page shot is retaken without Pair a device.
This was referenced Oct 13, 2026
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 8b-1 (★): household members. Pairs with KodeStar/audiosilo-server#127, KodeStar/audiosilo-frontend#100 and KodeStar/audiosilo#54. Merge after the server and frontend PRs.
Pages
also_members,keep_members, theuserfields, admin fields and PATCH, the capability, every new code); api index codes; auth and security (the member rule, kids, moving between households, disabled members); configuration (household.*, env vars); data model (0044); backups and notifications (thememberaudit area); frontend kids mode, profiles, state and data (apiErrorKind), connect, you and settings, native integrations; the cross-repo contract seam 16; the documentation mapping; the critical-path lists in gates-and-ci and invariants.Screenshots
New: the Household page (light), the device card (dark), a member card, the phone Household segment, the add dialog (kid, grown-up QR), the console's member person page. Retaken: profiles, profile menu, kids, phone kids, phone You, settings, phone settings, console People (household group) and console settings. Every household shot has
capture-web.mjs/capture-admin.mjssteps (the Phase 8 gap is closed; the household pass spends 7-8 of the server's 10 self-service attempts, fine on run.sh's fresh server).Gates and passes
npm run build(links and anchors). /simplify (4 reviewers: one home per fact, a plainer User Guide, capture-script efficiency) and /code-review max --fix (15 confirmed findings fixed: claims matched against the final server and player, stale shots retaken, pages outside the diff that household members made false).