Reading window: picker, continuous scrolling, history, restore after kill #11

Closed
opened 2026-10-20 18:52:05 +00:00 by claude-bot · 4 comments
Collaborator

Phase 1 item (docs/01-pathway.md, docs/04-features.md "Navigation and history").

  • Book / chapter / verse picker (book grid → chapter grid → verse).
  • Continuous scrolling across chapter and book boundaries, loading blocks lazily within the docs/07 budgets.
  • History stack (back returns to the exact scroll position).
  • Position and history saved within ~1 s and restored after the app is killed.
  • First numbered migration in core/src/db/ (app.sqlite3, VACUUM INTO backup before each migration). Positions stored as JSword ordinal + KJV-mapped range.

Trunk: core/src/db/, core/src/reader.rs, core/src/worker.rs, qt/, qml/pages/ReadingPane.qml. Other phase 1 items build on this.

Phase 1 item (docs/01-pathway.md, docs/04-features.md "Navigation and history"). - Book / chapter / verse picker (book grid → chapter grid → verse). - Continuous scrolling across chapter and book boundaries, loading blocks lazily within the docs/07 budgets. - History stack (back returns to the exact scroll position). - Position and history saved within ~1 s and restored after the app is killed. - First numbered migration in `core/src/db/` (app.sqlite3, `VACUUM INTO` backup before each migration). Positions stored as JSword ordinal + KJV-mapped range. Trunk: `core/src/db/`, `core/src/reader.rs`, `core/src/worker.rs`, `qt/`, `qml/pages/ReadingPane.qml`. Other phase 1 items build on this.
Author
Collaborator

Done in three PRs. Part 1 (the reading window and migration 001) and #16 (continuous scroll) landed earlier, and #27 (picker, typed jump, history, Back after kill) has now merged. Follow-up noted at #27's gate (low): Session::back pops and re-pushes skipped entries in separate transactions, so a kill between them loses entries that belong to another Bible.

Done in three PRs. Part 1 (the reading window and migration 001) and #16 (continuous scroll) landed earlier, and #27 (picker, typed jump, history, Back after kill) has now merged. Follow-up noted at #27's gate (low): `Session::back` pops and re-pushes skipped entries in separate transactions, so a kill between them loses entries that belong to another Bible.
Author
Collaborator

Phone QC (human check, once per feature)

On the phone now: main @ 47e8353 (PRs #15, #16, #27), utstudybible.schaefera 0.0.1, installed 2026-10-22 10:07 by clickable install --arch arm64. I reopened this issue until you sign off. Reply "QC ok" (or list what's wrong) here or in the session. Anything wrong becomes a new issue.

Please try:

  1. Cold start: open the app from the launcher. Does the saved (or first installed) Bible show quickly, legibly and at a sensible scale? Note roughly how long it takes; the budget is 2 s.
  2. Continuous scroll: fling through a chapter end and across a book boundary (e.g. Malachi → Matthew). Look for no blank gaps, no jumps back, and no stutter that stays.
  3. Picker: tap the reference button, then book → chapter → verse. Do the book names match the module's language? Does it land on that verse?
  4. Typing field: turn it on in Settings, type jn 3,16 and press Enter. Does it reach John 3:16?
  5. Back: after a few jumps, does Back return to each earlier place at the same scroll position?
  6. Kill and restore: scroll somewhere, wait 2 s, swipe the app away (or reboot), then reopen. Is it at the same place, and does Back still work?
  7. Feel: anything that looks off on the real screen (touch targets, fonts, dark/light, the keyboard covering the field).

The device budgets (80 MB, 2 s start-up) are only measured here, so a rough feel for both helps.

## Phone QC (human check, once per feature) On the phone now: main @ 47e8353 (PRs #15, #16, #27), `utstudybible.schaefera 0.0.1`, installed 2026-10-22 10:07 by `clickable install --arch arm64`. I reopened this issue until you sign off. Reply "QC ok" (or list what's wrong) here or in the session. Anything wrong becomes a new issue. Please try: 1. **Cold start:** open the app from the launcher. Does the saved (or first installed) Bible show quickly, legibly and at a sensible scale? Note roughly how long it takes; the budget is 2 s. 2. **Continuous scroll:** fling through a chapter end and across a book boundary (e.g. Malachi → Matthew). Look for no blank gaps, no jumps back, and no stutter that stays. 3. **Picker:** tap the reference button, then book → chapter → verse. Do the book names match the module's language? Does it land on that verse? 4. **Typing field:** turn it on in Settings, type `jn 3,16` and press Enter. Does it reach John 3:16? 5. **Back:** after a few jumps, does Back return to each earlier place at the same scroll position? 6. **Kill and restore:** scroll somewhere, wait 2 s, swipe the app away (or reboot), then reopen. Is it at the same place, and does Back still work? 7. **Feel:** anything that looks off on the real screen (touch targets, fonts, dark/light, the keyboard covering the field). The device budgets (80 MB, 2 s start-up) are only measured here, so a rough feel for both helps.
Author
Collaborator

Phone QC notes from the owner, filed as follow-ups:

  • #30: Settings gets a top-level place instead of sitting under the chapter picker (with the module manager, #10 part 2).
  • #31: taller chapter and verse buttons.
  • #32: Forward as well as Back.

These are improvements, not breakage, so I'll close this issue once the owner says "QC ok" on the rest of the checklist.

Phone QC notes from the owner, filed as follow-ups: - #30: Settings gets a top-level place instead of sitting under the chapter picker (with the module manager, #10 part 2). - #31: taller chapter and verse buttons. - #32: Forward as well as Back. These are improvements, not breakage, so I'll close this issue once the owner says "QC ok" on the rest of the checklist.
Owner

QC Ok

QC Ok
Sign in to join this conversation.
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
schaefera/utStudyBIble#11
No description provided.