Switch Bible: choose among the installed Bibles from the reading pane #70

Closed
opened 2026-10-22 20:22:32 +00:00 by claude-bot · 3 comments
Collaborator

Gap found 2026-10-22: no issue or doc covers switching between installed Bibles. The English starter set installs BSB and KJV (docs/08), so without this a downloaded Bible can't be opened.

  • The reading pane gets a chooser listing the installed Bibles: name, description and language, with the current one marked.
  • Picking one opens it at the same verse. The core already does this: Command::Open { module } in core/src/worker.rs, and session.rs maps a saved place into another Bible.
  • The choice is saved and restored after a kill, like the place. Back history crosses Bibles (an entry from KJV opens KJV).
  • Features that depend on module data (red letters now, Strong's later) re-check when you switch: greyed out with an explanation, never silently broken.
  • Places map through the KJV-mapped range until the v11n mapper (#47) lands. A verse missing from the other versification goes to the nearest verse, and the app says so.
  • e2e case: two modules in the sandbox, switching keeps the verse, and the choice survives a kill.

Order: after #10 part 2a, so it can be tried with a starter set. Favourites (#53) and compare (#49) build on this chooser later.

Gap found 2026-10-22: no issue or doc covers switching between installed Bibles. The English starter set installs BSB and KJV (docs/08), so without this a downloaded Bible can't be opened. - The reading pane gets a chooser listing the installed Bibles: name, description and language, with the current one marked. - Picking one opens it at the same verse. The core already does this: `Command::Open { module }` in `core/src/worker.rs`, and `session.rs` maps a saved place into another Bible. - The choice is saved and restored after a kill, like the place. Back history crosses Bibles (an entry from KJV opens KJV). - Features that depend on module data (red letters now, Strong's later) re-check when you switch: greyed out with an explanation, never silently broken. - Places map through the KJV-mapped range until the v11n mapper (#47) lands. A verse missing from the other versification goes to the nearest verse, and the app says so. - e2e case: two modules in the sandbox, switching keeps the verse, and the choice survives a kill. Order: after #10 part 2a, so it can be tried with a starter set. Favourites (#53) and compare (#49) build on this chooser later.
Author
Collaborator

Owner decision (2026-10-23), after trying PR #72 on the phone. It replaces this issue's line "Back history crosses Bibles (an entry from KJV opens KJV)".

Pressing back should move you to the previous verse in the same book (in this case BSB), not to KJV. If possible, switching books should change the history so all its entries are in the same book

  • New rule: Back history always stays in the Bible being read. On a switch, every entry is mapped into the new Bible: the same nearest-verse rule, or the nearest book that has text.
  • No entry of its own: a switch adds no Back entry, and Back never changes the open Bible.
  • The owner's run: KJV Gen 1:1, Go to Exodus 8, switch to BSB, Back. Today this lands on KJV Gen 1:1; with the change it lands on BSB Gen 1:1.

This goes into #72 together with the "+" for adding Bibles (comment 1758 there), with a test and a rewritten e2e case.

🤖 Generated with Claude Code

Owner decision (2026-10-23), after trying PR #72 on the phone. It replaces this issue's line "Back history crosses Bibles (an entry from KJV opens KJV)". > Pressing back should move you to the previous verse in the same book (in this case BSB), not to KJV. If possible, switching books should change the history so all its entries are in the same book - **New rule:** Back history always stays in the Bible being read. On a switch, every entry is mapped into the new Bible: the same nearest-verse rule, or the nearest book that has text. - **No entry of its own:** a switch adds no Back entry, and Back never changes the open Bible. - **The owner's run:** KJV Gen 1:1, Go to Exodus 8, switch to BSB, Back. Today this lands on KJV Gen 1:1; with the change it lands on BSB Gen 1:1. This goes into #72 together with the "+" for adding Bibles (comment 1758 there), with a test and a rewritten e2e case. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
Author
Collaborator

Merged in #72 (a7f00d6), with Review-Confidence 85. Merged main is installed on Plinius: build 0.0.1 a7f00d6e6. It starts in 356 ms and restores KJV. BSB and KJV are installed.

On the phone, try:

  • Chooser: the Bible button in the footer lists BSB and KJV, with name, description and language, and the open Bible ticked.
  • Switch keeps the verse: pick BSB and you stay at the same verse.
  • Survives a kill: swipe the app away, reopen it, and it is still BSB at that verse.
  • Back stays in the Bible: in KJV at some verse, use Go to for Exodus 8, switch to BSB, then press Back. You land on the verse before the jump, in BSB, and the app does not reopen KJV.
  • "+" adds Bibles: "+" in the chooser opens the add page. BSB and KJV are shown as installed, and other modules are offered. Back or close returns to the reading pane without changing the Bible.
  • Install from "+": download one small item, such as TSK or Strong's Greek. Progress shows, it finishes, and Bibles installed this way appear in the chooser without a restart. Strong's and TSK are not Bibles, so they don't appear in the chooser.
  • Red letters re-check: switching to a Bible without words-of-Jesus markup greys the switch out in Aa, with an explanation.

Not tried on the phone: switching to a Bible that lacks the current book (only NT/OT-only modules show this; none is installed), and the add page turning into the first-run page when the last Bible goes (not reachable until removal exists, #10 part 2b).

This issue stays open until you sign off.

🤖 Generated with Claude Code

Merged in #72 (a7f00d6), with Review-Confidence 85. Merged main is installed on Plinius: build `0.0.1 a7f00d6e6`. It starts in 356 ms and restores KJV. BSB and KJV are installed. **On the phone, try:** - [ ] **Chooser:** the Bible button in the footer lists BSB and KJV, with name, description and language, and the open Bible ticked. - [ ] **Switch keeps the verse:** pick BSB and you stay at the same verse. - [ ] **Survives a kill:** swipe the app away, reopen it, and it is still BSB at that verse. - [ ] **Back stays in the Bible:** in KJV at some verse, use Go to for Exodus 8, switch to BSB, then press Back. You land on the verse before the jump, in BSB, and the app does not reopen KJV. - [ ] **"+" adds Bibles:** "+" in the chooser opens the add page. BSB and KJV are shown as installed, and other modules are offered. Back or close returns to the reading pane without changing the Bible. - [ ] **Install from "+":** download one small item, such as TSK or Strong's Greek. Progress shows, it finishes, and Bibles installed this way appear in the chooser without a restart. Strong's and TSK are not Bibles, so they don't appear in the chooser. - [ ] **Red letters re-check:** switching to a Bible without words-of-Jesus markup greys the switch out in Aa, with an explanation. Not tried on the phone: switching to a Bible that lacks the current book (only NT/OT-only modules show this; none is installed), and the add page turning into the first-run page when the last Bible goes (not reachable until removal exists, #10 part 2b). This issue stays open until you sign off. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
Author
Collaborator

The ticks drawn mid-row over the text on the "+" add page are fixed in #73 (c0d97e6). The owner confirmed on the phone: "Checkboxes are fixed".

The download softlock found in the same session (a failed GerSch blocks the queue, with no cancel) is tracked in #74.

🤖 Generated with Claude Code

The ticks drawn mid-row over the text on the "+" add page are fixed in #73 (c0d97e6). The owner confirmed on the phone: "Checkboxes are fixed". The download softlock found in the same session (a failed GerSch blocks the queue, with no cancel) is tracked in #74. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
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#70
No description provided.