Commit Graph
100 Commits
Author SHA1 Message Date
nmemmertandClaude Sonnet 5.5 a7483164b8 Merge branch 'v2-remaining'
build-container / build (push) Successful in 3m58s
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-27 11:36:47 -04:00
nmemmertandClaude Sonnet 5.5 95ade02bf2 Offline edits that send when back online, books saved on the device, and keyboard access for dialogs and Bible verses; roadmap
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-27 11:36:32 -04:00
nmemmertandClaude Sonnet 5.5 275ef2009f Reading goals for e-books and the family; subtasks on iCloud lists; watch stats in Movies & TV
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-27 11:30:40 -04:00
nmemmertandClaude Sonnet 5.5 435f442761 Pantry as an inventory with low levels; automations for a low pantry item and new podcast episodes
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-27 11:29:09 -04:00
nmemmertandClaude Sonnet 5.5 db58bfa982 Frontend load test in CI, health page checks Seafile, OnlyOffice, audiobooks, podcasts and Mealie; roadmap updated
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-27 10:33:20 -04:00
nmemmertandClaude Sonnet 5.5 94d13b82d7 Automations: when this happens, do that (daily time, task finished, new mail)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-27 10:29:52 -04:00
nmemmertandClaude Sonnet 5.5 f80b718bd4 Extensions: notes, recipes and music in the bridge, a permissions screen, and an Updated notice
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-27 10:27:19 -04:00
nmemmertandClaude Sonnet 5.5 808274b4fe Mail: unified inbox, snooze, templates, and saving attachments to Files
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-27 10:25:48 -04:00
nmemmertandClaude Sonnet 5.5 54d18594a3 Accessibility settings, deferred scripts, and offline reading of tasks, notes, recipes, calendar and contacts
Keeps saved episodes and shares when the app updates (they were being deleted with the old shell cache).

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-27 10:23:38 -04:00
nmemmertandClaude Sonnet 5.5 2766424bb2 Movies & TV: favorites, a family movie night list to vote on, and mixes
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-27 10:20:33 -04:00
nmemmertandClaude Sonnet 5.5 fe651a8c37 Tasks: a due time with a reminder, and Today and Upcoming views
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-27 10:19:05 -04:00
nmemmertandClaude Sonnet 5.5 d761020869 Family calendar: a colour per person, invitations that land on the invited person's calendar
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-27 10:17:53 -04:00
nmemmertandClaude Sonnet 5.5 b2b772941b Small gaps: pantry flags in the meal plan, birthday and anniversary notifications, download notes and highlights
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-27 10:16:26 -04:00
nmemmertandClaude Sonnet 5.5 342c8af747 Devotion: keep the space where a footnote marker splits the verse text
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-27 10:14:54 -04:00
nmemmertandClaude Sonnet 5.5 b6786881c3 Merge branch 'v2-backlog'
build-container / build (push) Successful in 2m53s
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-27 09:50:54 -04:00
nmemmertandClaude Sonnet 5.5 c51134e0e5 Wire the new features into the app: routes, settings, Home card, styles, CI, roadmap; bump the app cache
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-27 09:50:23 -04:00
nmemmertandClaude Sonnet 5.5 bcaedbab5c Themes: accent colours and AMOLED black per person
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-27 09:50:23 -04:00
nmemmertandClaude Sonnet 5.5 e506c4ce98 Meal plan: a shared week plan that fills the shopping list
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-27 09:50:23 -04:00
nmemmertandClaude Sonnet 5.5 b0ca8daa2e Devotion: reading plan with check-ins, and a family prayer list
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-27 09:50:23 -04:00
nmemmertandClaude Sonnet 5.5 d7ee6f1339 Listening stats: time listened per day, streak and finished audiobooks
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-27 09:50:23 -04:00
nmemmertandClaude Sonnet 5.5 3e3505ba33 Backup: restore from a backup file, and a personal data export
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-27 09:50:23 -04:00
nmemmertandClaude Sonnet 5.5 a20858a6e1 Contacts: anniversaries (shown in the calendar) and gift ideas
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-27 09:50:23 -04:00
nmemmertandClaude Sonnet 5.5 388dd5b0e7 Movies: compact filter row; Watched filter replaces the Unwatched checkbox
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-27 09:50:23 -04:00
nmemmert 7b708a711c Merge branch 'refs/heads/worktree-chat-share-cards'
build-container / build (push) Successful in 3m20s
# Conflicts:
#	public/sw.js
2026-10-27 09:16:03 -04:00
nmemmertandClaude Sonnet 5.5 36395eb7f0 Easier to dismiss popups: close button and swipe down
build-container / build (push) Successful in 3m3s
Sheets (including Now Playing) get a close button, an animated close and swipe-down on phones; lyrics and the visualizer close on swipe-down too.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-27 09:13:32 -04:00
nmemmertandClaude Sonnet 5.5 714680a94e Children pick a weekly reward goal, with a Monday reminder
A child chooses the reward they are aiming for (an admin can choose for them); the goal belongs to one week and starts empty each Monday. A child with none gets one daytime reminder that week, settled when they pick. Shown on Chores and the family board.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-27 09:13:32 -04:00
nmemmertandClaude Sonnet 5.5 c97b62004e Family tab refreshes itself while it stays open
Every minute and when the app returns to the front; waits while a sheet is open or an item is being typed.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-27 09:13:32 -04:00
nmemmertandClaude Sonnet 5.5 98b428e8af Share songs, albums, movies, shows, podcasts and audiobooks to chat as cards
A share message carries kind, title, subtitle, same-origin art and a hash-route
link, validated on the server. It counts as unread, reads as '🎵 Shared a song:
Title' in pushes and Notifications, and is found by search. In Chat a card opens
the item, or says it is not available when the recipient lacks that tab.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-27 09:13:00 -04:00
nmemmertandClaude Sonnet 5.5 a09d6b17f4 Clearing a notification settles what it was about; fix missed phone pushes
build-container / build (push) Successful in 3m2s
Reading or clearing a notification marks its chat and new mail read and closes its banner; opening a chat clears its entry. Close the chat stream while the app is hidden so the server sends the phone push, renew changed push subscriptions, and re-send the subscription on each app open.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-27 08:55:49 -04:00
nmemmertandClaude Sonnet 5.5 41c48b10e8 Transcribe only at night when TRANSCRIBE_HOURS is set
Queued jobs wait until the window opens (local time, so set TZ); a started job finishes.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-27 08:55:49 -04:00
nmemmertandClaude Sonnet 5.5 b0d60d0a5b Fix chat sliding when the iPhone keyboard opens
build-container / build (push) Successful in 4m20s
Size the shell to the visible area while a field is focused, tuck the bottom bar away, and refit the chat as the keyboard comes and goes.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-27 08:11:53 -04:00
nmemmertandClaude Sonnet 5.5 71e759e477 Transcribe with faster-whisper-base by default
Much faster than -small on a CPU-only host; TRANSCRIBE_MODEL still overrides it.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-27 07:47:55 -04:00
nmemmertandClaude Sonnet 5.5 d9a59b393d Movies & TV: better search and filters
build-container / build (push) Successful in 4m1s
- Search titles, actors and directors; results grouped into Movies, TV shows, Actors, Directors and Episodes
- Tap an actor or director to see everything they are in
- Filter the library by genre, decade, rating and watched or unwatched, alongside sorting
- README updated

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-26 17:07:20 -04:00
nmemmertandClaude Sonnet 5.5 b1c720c74f Time requests from the lock screen: one request with +15/+30/+1 h buttons, lock lifts quickly
build-container / build (push) Successful in 4m9s
- Ask a parent on the lock screen also makes a request parents answer in Settings > Family
- Parents choose how many minutes; the child's lock screen rechecks every few seconds
- Notification links open Settings > Family
- Test updated

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-26 17:03:43 -04:00
nmemmertandClaude Sonnet 5.5 301e8017d9 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>
2026-10-26 16:49:48 -04:00
nmemmertandClaude Sonnet 5.5 aac6f6efc2 Fix Store tab stuck on Loading; adjustable idle time for family devices; videos count as in use
build-container / build (push) Successful in 3m35s
- A bare #/store now opens at #/store/books so the Book store page draws
- Admins choose how long a family device waits before returning to the board (1 to 30 minutes)
- Any playing video or audio keeps a family device signed in
- Test updated

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-26 16:24:06 -04:00
nmemmertandClaude Sonnet 5.5 4c6b1a8458 Board shows list items and note text; fix white bar under read chat messages
build-container / build (push) Successful in 3m34s
- Family notes card lists each shared checklist's items (with who added them) and each note's text
- The read tick in Chat and Signal had the same class name as the book reader's page style, drawing a white bar; renamed

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-26 15:59:41 -04:00
nmemmertandClaude Sonnet 5.5 e88b9dedf0 Chores: weekly points and rewards are for child accounts only
build-container / build (push) Successful in 5m0s
- The weekly board, reward tiers and the board's This week card only include children
- Rewards can be for all children or chosen children, not adults
- Tests and README updated

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-26 15:33:28 -04:00
nmemmertandClaude Sonnet 5.5 15ddc68cf0 Board: keep the pop-up above the sticky card headers
build-container / build (push) Successful in 4m2s
- Card titles were drawing over the name picker and add forms, cutting off the title and buttons

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-26 15:27:58 -04:00
nmemmertandClaude Sonnet 5.5 a45fc1b89c Board: all people visible in the name picker, PIN enters itself, no number before shopping items
build-container / build (push) Successful in 3m35s
- Name picker wraps in a wider box so five or more people fit
- The board knows each PIN's length and submits when the last digit is typed
- Shopping items typed in are added with no quantity and shown without Mealie's leading 1
- Test updated

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-26 15:12:22 -04:00
nmemmertandClaude Sonnet 5.5 96b00108bb Fix the Family tab in Settings being removed as empty
build-container / build (push) Successful in 4m17s
- Give the section a Loading line so the tab cleanup keeps it until its content fills in

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-26 14:49:34 -04:00
nmemmertandClaude Sonnet 5.5 f4c01c2656 Fix Chores page stuck on Loading; add a test that draws the page
build-container / build (push) Successful in 6m0s
- Remove a leftover reference to the old points summary that threw after load
- New chores-view test renders the page from real server data

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-26 14:17:48 -04:00
nmemmertandClaude Sonnet 5.5 900e900e53 Settings: a Family tab gathering chat, PIN, chores and rewards, family board people and shared screens
build-container / build (push) Successful in 5m27s
- New Family tab in Settings; each row opens the existing sheet
- Admin switches for who appears on the family board
- Shared-screen controls moved here from Security
- Chore manager can be reopened from Settings after a save

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-26 14:13:23 -04:00
nmemmertandClaude Sonnet 5.5 3c721ef6a5 Family board: per-person chore columns, touch scrolling in every box, no list caps
build-container / build (push) Successful in 4m43s
- Chores box spans the width with a column per person (fits five or more)
- Each box and each person's chore column scrolls by touch on its own, with no scroll bars
- Shopping, tasks and shared notes show everything (they scroll)
- Card width no longer capped by the app's shared card style

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-26 14:10:46 -04:00
nmemmertandClaude Sonnet 5.5 f87a218eea Family board: add to shopping, tasks, checklists and the Family calendar; record who added each
build-container / build (push) Successful in 4m27s
- + button on each board card: write it, tap your name (PIN unless a child), it is added as you
- Tasks, events, checklist items and shopping items remember who added them
- Names shown on the board and in Tasks, Notes and Calendar
- Tests and README updated

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-26 14:01:40 -04:00
nmemmertandClaude Sonnet 5.5 472e7bec7e Family board: fit a 12.9-inch iPad without scrolling; See all for the chore pool
build-container / build (push) Successful in 5m40s
- Fixed-height grid for tablets (3x2 landscape, 2x3 portrait), larger text on big screens
- Compact chores card with tappable pills and +N overflow
- "See all" opens the full list of up-for-grabs chores to pick from

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-26 13:49:56 -04:00
nmemmertandClaude Sonnet 5.5 17a282054a Chores: weekly goals with custom reward tiers (everyone or chosen people)
build-container / build (push) Successful in 3m53s
- Admin-set reward tiers; points count Monday to Sunday and restart each week
- Per-person weekly totals, chores done, progress bar toward the next reward, week history
- Mark given / undo when a reward is handed over
- Rewards can be for everyone or only chosen people
- "This week" card on the family board
- Tests and README updated

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-26 13:46:44 -04:00
nmemmertandClaude Sonnet 5.5 0df1ff5705 Family board: tap chores to take, finish or undo them; style number inputs
build-container / build (push) Successful in 4m42s
- Chores on the board are tappable; pick your name (PIN unless a child) and it happens as you
- Up-for-grabs chores offer "I did it" or "Take it for later"
- Number inputs (chore points, time limit) use the dark input style so they are readable
- Tests and README updated

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-26 13:39:05 -04:00
nmemmertandClaude Sonnet 5.5 870c7129b9 Chores: claim from the pool; admin picks who appears on the family board
build-container / build (push) Successful in 4m21s
- "Anyone" chores get Take it / Put back; a claimed chore is that person's for the day
- Per-person "Show on the family board" switch controls board tiles and family chore progress
- Tests and README updated

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-26 13:23:59 -04:00
nmemmertandClaude Sonnet 5.5 eef1adaa73 Family devices: shared-screen family board with a who-is-this profile picker
build-container / build (push) Successful in 4m30s
- Admin can make a screen a family device; it opens on a family board
- Name tiles with KID labels; kids tap, others enter a PIN (lockout after 5 wrong tries)
- Name label with Switch user, auto-return to the board after 5 idle minutes
- Short 30-minute sessions on family devices
- Settings section for PIN and turning a device on or off
- Test, README and roadmap updated

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-26 12:58:23 -04:00
nmemmertandClaude Sonnet 5.5 058f410a58 Shared Family calendar and task list; notes default to Family; phone chat and Family card fixes
build-container / build (push) Successful in 4m14s
- Built-in Family calendar everyone with Calendar can edit (data/family)
- Family task list shared by everyone with Tasks
- New notes and lists start shared with the family
- Phone chat sized above the bottom bar and mini player so the message box is visible
- Family page cards no longer overflow on long chat previews
- Tests added and updated

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-26 12:33:23 -04:00
nmemmertandClaude Sonnet 5.5 0383da87f5 Chores, Family page, genre search, child accounts, wider Search and Notifications center
build-container / build (push) Successful in 4m6s
- Chores tab with repeats, points and a week/month board
- Family page: calendar, chores, shopping, notes, chat and tasks on one start page
- Genre search in the Store, Free Books and LibriVox
- Child accounts: safe content, daily limit and bedtime, ask a parent
- Search now covers notes, chat, contacts, chores, recipes and your books
- Notifications center: bell with a per-person list of chat, reminders and announcements
- Roadmap, README and tests updated

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-26 11:48:55 -04:00
nmemmertandClaude Sonnet 5.5 cf292e3bc7 Notes tab: shared and private notes and checklists; icon-only menu rail on short windows
build-container / build (push) Successful in 6m21s
- notes.js and the Notes tab: private, family or chosen-people sharing; checklist items change one at a time (no overwrites), with who ticked them; open lists refresh live; stale text edits are refused
- Pin, colour, archive, search, filters, ready-made lists, Share to Chat, send open items to Tasks
- The narrow menu rail shows icons only (names on hover) when the window is too short for labels
- Roadmap and README updated

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-26 11:28:13 -04:00
nmemmertandClaude Sonnet 5.5 41aa4e676d Family Chat phases 2 and 3, family extras; genre search on the roadmap
build-container / build (push) Successful in 8m12s
- Ticks (sent, delivered, read), typing, presence, disappearing messages, @mentions, pins, forwarding
- Voice messages with a waveform, link previews, polls, emoji picker
- Message to task, shopping item or calendar event; Share to Chat from recipes and songs; quiet hours; family announcement on Home
- Roadmap: chat items ticked off, and Browse and search by genre added

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-26 11:22:51 -04:00
nmemmertandClaude Sonnet 5.5 8283d10b41 Family Chat (2.0): a built-in messenger for the family, phase 1
build-container / build (push) Successful in 7m9s
- Chat tab: direct chats and groups, text, attachments, replies, reactions, edit and delete, unread counts, search, drafts, mute and archive
- Live delivery over server-sent events; phone push for people who are not in the app (muted chats stay quiet)
- chat.js keeps conversations and files in data/chat; push.notify sends one person a notification
- Roadmap updated: phase 1 done, combined inbox with Signal still to do

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-26 11:14:05 -04:00
nmemmertandClaude Sonnet 5.5 74592c25a5 iPad and Screen Time helper; v2.0 roadmap
build-container / build (push) Successful in 5m57s
- Admin screen: the simple Screen Time setup, the web addresses the app needs, addresses devices were seen reaching, and a Check this device test
- Report-only Content-Security-Policy so devices report any other address a page loads (nothing is blocked)
- Pictures from other sites pass through the hub (/api/img): podcast search covers, Plex Home pictures, a VBV cover, search answers
- docs/v2-roadmap.md: the family-first 2.0 plan, with Family Chat (text only) and no photos or calls

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-26 11:07:05 -04:00
nmemmertandClaude Sonnet 5.5 2d5aaad41a Music: Mixes, Favorites and Stats; smart and Family playlists; library radio; offline albums; more
build-container / build (push) Successful in 6m21s
- Mixes tab: daily mix, most played, forgotten favorites, moods, on this day, decades, genres, smart playlists (rules), library radio
- Favorites (hearts, kept by the hub) and Stats (plays, time, top artists/songs/albums, streak, recently played)
- Family playlists shared by everyone with Music; queue reorder; More like this; album/artist About notes
- Save albums offline; player takes colors from the cover; Share a lyric line as a picture; verse of the day on Featured
- musicdata.js keeps plays, favorites, smart rules and Family playlists, with tests

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-26 10:33:14 -04:00
nmemmertandClaude Sonnet 5.5 46e686ce22 Music: Featured tab with a random artist and album, from the whole library or chosen playlists
build-container / build (push) Successful in 7m35s
- Featured is the first Music tab; picks stay for the day on a device, Pick again rolls new ones
- Based on: choose the playlists they come from (synced across devices)
- Play mix shuffles the artist's songs; Play plays the album

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-26 10:21:19 -04:00
nmemmertandClaude Sonnet 5.5 dc8265a850 Store: Smashwords as a family-filtered book source; free audiobooks stream through the hub; extensions and Sites on Home
build-container / build (push) Failing after 1m30s
- Smashwords: free EPUBs from its shelf feed, filtered (adult/erotica flags, LGBTQ+, keywords, unlabelled romance); admin saves a Smashwords sign-in (encrypted) used to download
- LibriVox chapter audio is fetched and streamed by the hub (with seeking) instead of redirecting the browser to archive.org
- Home: a My apps section with installed extensions and Sites, also in the command palette

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-26 10:14:13 -04:00
nmemmertandClaude Sonnet 5.5 3c42d1ecd5 Sidebar never scrolls: entries shrink to fit a short window, with tighter spacing under 700px tall
build-container / build (push) Successful in 7m11s
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-26 09:44:50 -04:00
nmemmertandClaude Sonnet 5.5 a804f9a8db Radio starts empty and fills from the Store (Add to Radio, including The Journey FM); iCloud connect falls back to the calendar home beside the principal
build-container / build (push) Successful in 6m9s
- Store > Radio is the station finder with Add to Radio / Added; Radio under Listen lists only what was added
- Fix the Radio tab going blank (the router passed its arguments as the Store host)
- iCloud: when the account reports no calendar home, try /<id>/calendars/, and say what iCloud answered if that fails

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-26 09:37:04 -04:00
nmemmertandClaude Sonnet 5.5 a31fdcdabd Recipes: tick off ingredients and steps while cooking (remembered per device), ingredients beside steps on wide screens
build-container / build (push) Successful in 6m11s
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-26 09:30:33 -04:00
nmemmertandClaude Sonnet 5.5 efd17f4263 Extensions: hub bridge for tasks, contacts and calendar (asked of the person once), Sites in My Store, and four example extensions
- hub.tasks / hub.contacts / hub.calendar in the extension sandbox; each kind of access is approved by the person and remembered per extension
- My Store: Sites kind (any web link, optionally shown inside the hub)
- Examples: notes and checklists, habit tracker, kitchen converter and scaler, weather and verse of the day

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-26 09:25:39 -04:00
nmemmertandClaude Sonnet 5.5 f292294ad7 Store: one tab combining books, free audiobooks and radio, plus My Store for your own books, music, apps and sandboxed extensions
build-container / build (push) Successful in 7m39s
- Store tab with sections; the book store, LibriVox and radio finder are shown inside it (old entry points redirect)
- My Store: admin uploads files or copies from Seafile; books go to a person's shelf, music plays in the player, apps download
- Extensions: one HTML file run in a sandboxed frame with a small storage/toast/user bridge; example in docs/extensions

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-26 09:08:41 -04:00
nmemmertandClaude Sonnet 5.5 176b1b8169 Open Library in the book store; podcast topic search and transcript search; Recipes (Mealie) with a shopping list synced to Tasks; Contacts linked to Mail and the Calendar
build-container / build (push) Successful in 7m21s
- Store: Open Library search, books fetched from the Internet Archive (free editions only)
- Podcast: Podcast Index discovery by name and topic (optional key); search what is said across transcripts and play from that moment
- Recipes: browse, import from a link, add ingredients to Mealie's shopping list, mirrored two ways with a Shopping list in Tasks
- Contacts: per-person address book, vCard import/export, recipient suggestions in Mail, birthdays in the Calendar

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-26 08:55:32 -04:00
nmemmertandClaude Sonnet 5.5 1c089c4a10 Transcripts: new and existing episodes are transcribed in the background (published transcript first, else whisper), with a status line in Health
build-container / build (push) Successful in 3m29s
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-23 11:46:15 -04:00
nmemmert e7bd24bbaa Transcripts: a podcast episode gets its transcript going as soon as you play it (published, else made on your server)
build-container / build (push) Successful in 4m6s
2026-10-23 11:43:34 -04:00
nmemmert 747002924d Transcripts: say why a show's own transcript was not found; read Podgrab fields whatever their capitals
build-container / build (push) Successful in 4m2s
2026-10-23 11:42:43 -04:00
nmemmert ae00f61711 CI: build the Lyrica image only when ./lyrica changes (its own workflow), so a Docker Hub timeout cannot fail the main build
build-lyrics-container / build (push) Successful in 6m56s
build-container / build (push) Successful in 3m10s
2026-10-23 11:37:39 -04:00
nmemmert c82bd7cae9 Transcripts: check the whisper model is installed, download it (trying each form the service has used), and say what came back if it will not
build-container / build (push) Failing after 6m18s
2026-10-23 11:25:50 -04:00
nmemmert 05e6b19bfa Transcripts: ask the whisper service to download its model first
build-container / build (push) Failing after 6m42s
2026-10-23 11:20:31 -04:00
nmemmert 40a74e6cbe Transcripts: errors say which step failed and why
build-container / build (push) Successful in 12m23s
2026-10-23 11:17:49 -04:00
nmemmertandClaude Sonnet 5.5 0534bf7c4b Transcripts for podcasts and audiobooks: the show's own, or speech-to-text on your server (whisper service)
build-container / build (push) Successful in 13m20s
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-23 10:52:59 -04:00
nmemmertandClaude Sonnet 5.5 e984f11a94 Mail: a button per account with its own unread count (kept fresh), instead of a dropdown
build-container / build (push) Successful in 14m15s
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-23 10:31:58 -04:00
nmemmertandClaude Sonnet 5.5 7198efaccd Movies & TV: arrows and drag to slide rows (no scrollbar needed), Trailer button (Plex extras, else a YouTube search)
build-container / build (push) Successful in 11m18s
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-23 10:30:24 -04:00
nmemmert d598501393 Home: the Tasks card lists what is overdue or due this week from every list, with a tick
build-container / build (push) Successful in 10m51s
2026-10-23 09:55:23 -04:00
nmemmertandClaude Sonnet 5.5 2b79160f95 Tasks: an All view with every list, NE Hub and iCloud, together
build-container / build (push) Successful in 12m21s
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-23 09:54:33 -04:00
nmemmertandClaude Sonnet 5.5 732906bc7a Movies & TV: posters in a row are all the same size
build-container / build (push) Successful in 12m23s
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-23 09:47:32 -04:00
nmemmertandClaude Sonnet 5.5 3166a7b1ab Mail in Search, Pick up where you left off on Home (evening first), Cast/AirPlay buttons
build-container / build (push) Successful in 13m46s
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-23 09:34:51 -04:00
nmemmert 1981e66b8a Admin health report (Plex, mail accounts, disk, last backup) 2026-10-23 09:33:33 -04:00
nmemmert 2c8afdef79 Keyboard shortcuts for mail and a shortcut list, offline help and refresh on return, push alerts for new mail 2026-10-23 09:32:56 -04:00
nmemmert 93ae8f8840 Movies & TV: Watch later (a Plex playlist), Collections, who-is-watching switch 2026-10-23 09:32:00 -04:00
nmemmertandClaude Sonnet 5.5 92cf86bf5c Movies & TV: Resume banner, poster-tinted detail page, friendlier empty state
build-container / build (push) Successful in 9m53s
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-23 09:23:13 -04:00
nmemmertandClaude Sonnet 5.5 2de5e343b2 Polish: card hover lift, fade-in posters, skeleton loading, snap rows, glowing progress, stronger detail backdrop, lyrics glow
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-23 09:22:02 -04:00
nmemmertandClaude Sonnet 5.5 c49693bac6 Movies & TV: remove or clear Continue watching, time left, Recently added and Unwatched rows kept on device, sort/genre/unwatched filters, hold-for-actions, Skip intro/credits
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-23 09:21:03 -04:00
nmemmertandClaude Sonnet 5.5 bbbb8ef5d5 Mail: faster open/delete (instant delete and archive, separate background IMAP connection, one-fetch message read, bodies saved on device with prefetch); Lyrics: no sweep across line-synced lines
build-container / build (push) Successful in 10m28s
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-23 08:40:17 -04:00
nmemmertandClaude Sonnet 5.5 3f57e4bde1 Audiobooks: each person's listening positions are their own (the whole library stays shared)
build-container / build (push) Successful in 9m2s
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-22 16:52:38 -04:00
nmemmertandClaude Sonnet 5.5 2635e4615d Fix: Podcast screen failed to load (its script ran before the player's); load it after the player
build-container / build (push) Successful in 12m24s
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-22 16:25:55 -04:00
nmemmertandClaude Sonnet 5.5 eb64e4964d Signal: a sent message appears at once (dimmed while Signal takes it), in order, and comes back to the box if it fails
build-container / build (push) Successful in 9m21s
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-22 16:22:05 -04:00
nmemmertandClaude Sonnet 5.5 4468c2e025 Podcast: each person has their own list of shows
build-container / build (push) Successful in 7m29s
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-22 16:12:04 -04:00
nmemmertandClaude Sonnet 5.5 b3494b9720 Podcast: resume where you left off, synced between devices (shared progress store with audiobooks)
build-container / build (push) Successful in 9m26s
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-22 15:37:51 -04:00
nmemmertandClaude Sonnet 5.5 aa2133ed9a Audiobooks: talk to OpenAudible directly with its own username and password (OPENAUDIBLE_URL)
build-container / build (push) Successful in 9m46s
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-22 15:12:34 -04:00
nmemmertandClaude Sonnet 5.5 9231315186 Build: x86 (amd64) only, and run the podcast and audiobook tests
build-container / build (push) Successful in 9m17s
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-22 14:52:44 -04:00
nmemmertandClaude Sonnet 5.5 62ff4d815d Audiobooks: built-in library, playback and synced progress through the audiobook player (classic frame kept)
build-container / build (push) Canceled after 2m57s
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-22 14:48:05 -04:00
nmemmertandClaude Sonnet 5.5 66a376d22c Podcast: search for new shows and add them
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-22 14:42:28 -04:00
nmemmertandClaude Sonnet 5.5 675df5710b Podcast: built-in screen for Podgrab (shows, episodes, playback, search)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-22 14:41:59 -04:00
nmemmertandClaude Sonnet 5.5 7f38ac5366 Home: no sideways scrolling on phones
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-22 14:41:56 -04:00
nmemmertandClaude Sonnet 5.5 fa4b562fcc Reminders: Clear all notifications on this device
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-22 14:41:56 -04:00
nmemmertandClaude Sonnet 5.5 05e2a2ec7b Search: movies and TV from Plex
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-22 14:41:56 -04:00
nmemmertandClaude Sonnet 5.5 bf22aba9dd Maintenance: mail libraries to latest patch versions, badge polling only while the app is visible
build-container / build (push) Successful in 21m26s
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-22 13:50:17 -04:00