Module manager installs Bibles whose versification we can't read; they then vanish #124

Closed
opened 2026-10-29 18:02:44 +00:00 by claude-bot · 0 comments
Collaborator

Found while testing #28 on the phone (build fix/install-416-restart@98c2484).

Seen:

  • The module manager offers LXX (Versification=LXX) and installs it without complaint. The files land in sword/modules/texts/ztext/lxx/ plus mods.d/lxx.conf, and the row says "installed".
  • The Bible chooser doesn't list it, even after a restart. Nothing says why, so the user is left with a 9 MB module they can't open or find.

Cause: BibleInfo::installed (core/src/bible/installed.rs:28) keeps only confs for which Module::from_conf succeeds. sword/src/v11n/systems.ini has only KJV, MT and German, so any other versification (LXX, Synodal, Vulg, Leningrad, Catholic, NRSV, …) fails there and is silently dropped.

That breaks the CLAUDE.md rule: a feature that depends on module data is greyed out with an explanation, never silently broken.

Fix (a small one, for v0.1):

  • In the module manager, show a Bible with an unknown versification greyed out, with "Uses the %1 versification, which this version can't read yet." Don't offer Install.
  • Already installed ones keep Remove and show the same line, so they can be found and removed.
  • The full fix is more versifications, which goes with #47 (mapping).

Tests: a catalog test with a conf that has Versification=LXX (not installable, with the reason), plus an e2e check of the greyed row if the repo server can serve such a conf.

🤖 Generated with Claude Code

Found while testing #28 on the phone (build fix/install-416-restart@98c2484). **Seen:** - The module manager offers LXX (`Versification=LXX`) and installs it without complaint. The files land in `sword/modules/texts/ztext/lxx/` plus `mods.d/lxx.conf`, and the row says "installed". - The Bible chooser doesn't list it, even after a restart. Nothing says why, so the user is left with a 9 MB module they can't open or find. **Cause:** `BibleInfo::installed` (core/src/bible/installed.rs:28) keeps only confs for which `Module::from_conf` succeeds. `sword/src/v11n/systems.ini` has only KJV, MT and German, so any other versification (LXX, Synodal, Vulg, Leningrad, Catholic, NRSV, …) fails there and is silently dropped. That breaks the CLAUDE.md rule: a feature that depends on module data is greyed out with an explanation, never silently broken. **Fix (a small one, for v0.1):** - In the module manager, show a Bible with an unknown versification greyed out, with "Uses the %1 versification, which this version can't read yet." Don't offer Install. - Already installed ones keep Remove and show the same line, so they can be found and removed. - The full fix is more versifications, which goes with #47 (mapping). Tests: a catalog test with a conf that has `Versification=LXX` (not installable, with the reason), plus an e2e check of the greyed row if the repo server can serve such a conf. 🤖 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#124
No description provided.