Parent controls for children, name-tile sign-in, restricted Learn search, simple mode
build-container / build (push) Successful in 3m52s

- Sign-in page shows name tiles on remembered devices; tap a name, then PIN or passkey
- Music and Movies are separate on the server; Plex can be locked to a child's managed profile
- Activity log, weekly summary and alerts to parents; per-area and weekend limits
- Requests from children (Ask button) answered in Settings; bonus screen time from rewards
- Restricted Learn search (Simple English Wikipedia, blocked words) replaces web search for children
- Simple mode (big-button home) for young children or grandparents
- Child usage kept in memory instead of read from disk on every request
- Tests and README updated

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
nmemmertandClaude Sonnet 5.5 committed 2026-10-26 16:49:48 -04:00
1 parent aac6f6efc2
commit 301e8017d9
34 files changed
+466 -51

No files matched your search

+2 -2
View File
@@ -22,8 +22,8 @@ async function passkeyRegister(setupCode, name, inviteCode) {
clientExtensionResults: cred.getClientExtensionResults(), authenticatorAttachment: cred.authenticatorAttachment,
} });
}
async function passkeyLogin() {
const { cid, options } = await authPost('/api/auth/login/options');
async function passkeyLogin(uid) {
const { cid, options } = await authPost('/api/auth/login/options', uid ? { uid } : undefined);
options.challenge = b64u.dec(options.challenge);
(options.allowCredentials || []).forEach(c => { c.id = b64u.dec(c.id); });
const a = await navigator.credentials.get({ publicKey: options });