Margins turn pages, bookmarks ride the strip, the reader speaks (v0.61.0) - #44
Merged
Conversation
…1.0) - Page-turn mode (both shells): Settings toggle; the side gutters (min 44px) page the text on tap — right ahead, left back, 85% of a screen — so a page-turner remote can drive the page. config.pageTurn, additive. - Sunday service time (both shells): a real time picker in Settings; the sunday-morning seating becomes the window from that time to 1.5h after (core::session_slot::slot_for_at, plumbline_session_slot_at — shells now resolve the slot to the minute). config.sundayService, additive. - The plan chip is the bookmarks strip (web): a swipeable pager of tiles — the running plan, then every stored seating (Last opened, Sunday morning, Sunday evening, Wednesday evening), each with an icon; a tap toasts which bookmark and where it goes, then navigates. Android owed with plans. - Read aloud (web): the verse menu's "Read aloud from here" / "Read chapter aloud" over the Web Speech API — one utterance per verse, pane-language voice, a sticky stop chip. Android TextToSpeech owed. - Tags browse first (both shells): the Tags page lists the tags themselves, category-grouped, tap opens the detail card; rename/categorize/merge are buttons after the list. - Backup out of Advanced (both shells): keeping your own data is a basic act. - Hymnal index rows drop the tune names (NEW BRITAIN, NICAEA…) — they stay in the hymn's credit line where the byline gives them context. - Copy: "Romans Road (the one that ships)" → "(built in)"; "fresh line" → "new line"; plus a plain-voice sweep (nothingDue, classFull, offlineComplete, advancedDesc, defaultStyleDesc, emptyQueue path leak, beforeShareSub, nothingRunning, guide.map.p4 rhetorical question) across en/de/es — and a real fix: en/es guide.map.p1 described the reading-map colours as slate/amber where the palette paints gold/copper (de had it right). - E2e: page-turn.spec, read-aloud.spec, bookmarks.spec, the Sunday-window session-slots test — all four mutation-tested against rebuilt artifacts. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
glendonjklassen
enabled auto-merge (squash)
August 25, 2026 03:16
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.
Eight asks from the 2026-08-24 batch, both shells where the feature allows:
Features
sunday-morningseating means AT CHURCH — from the service start until 1.5 hours after (plumbline_session_slot_at; both shells now resolve the seating to the minute). Unset keeps the before-noon rule. An afternoon congregation's window outranks the noon split.Copy
(weaves/suggested)path leak out ofpanel.emptyQueue; the rhetorical question out ofguide.map.p4; "back the way they came", "on the go", "will enable you to easily", and the Advanced blurb's editorial clause.guide.map.p1described the reading map as slate/amber where the palette paints gold/copper (German had it right).Verification
cargo testall five crates green (330 core + new slot-window and config round-trip tests); bindgen surface check 119 fns in header ↔ Kotlin.npm run check0 errors; 33/33 targeted Playwright specs pass, including newpage-turn.spec.ts,read-aloud.spec.ts,bookmarks.spec.ts, and the Sunday-window test insession-slots.spec.ts.:app:compileDebugKotlin). Per UI-testing rules, no synthetic Android input — on-device UAT is yours.FEATURE-MANIFEST updated: new §Page-turn mode, §Read aloud, §The bookmarks strip; seating-slots, Backup, Hymnal, Tags sections amended; Android deltas recorded (read-aloud, bookmarks strip, tag categorize).
🤖 Generated with Claude Code