Repository navigation
VesselStack 0.6.1: accept legacy nautical units on upgrade - #29
Merged
Merged
Conversation
Older setup wizards offered "nautical" and installers before 0.5.7 did not validate BOAT_UNITS, so such configs exist. 0.6.0 refused them with an unhelpful message. Read nautical as metric in the installer, the setup wizard, the Control Panel and Boat Chat, give other unsupported values a message that names the file and the fix, and bump the version to 0.6.1. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
When the backup folder is under /media or /mnt and the drive is not mounted, vesselstackctl update/backup and the bootstrap installer now ask, before anything is stopped, whether to mount the drive from fstab, pick a connected ext4 or exFAT USB drive, check again, or back up to the system disk once. Unattended runs still stop with a Refusing line and a To fix line. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ractive fresh installs - Drive list fields are joined with 0x1f so an empty LABEL keeps its column (mount -t now gets the right filesystem and device). - vs_prompt_choice accepts exactly one listed token; "1 2" and "1 b" are asked again, and fix_boat_units has no default branch that writes. - Fresh installs under --yes, --defaults or scripted answers pass VESSELSTACK_NONINTERACTIVE=true to install.sh, as updates already did. - Also: drive list excludes devices fstab assigns elsewhere, an empty list prints an unmount hint, the prompt-answers hook needs a private file, and the bootstrap cancel message says the update was not started. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- vesselstackctl: the prompt library and every parent folder must be root-controlled; a drive mounted from the menu is checked (root-owned top folder, no symlinks or foreign-owned folders to the backup folder) before anything is written; uninstall removes remediate.sh. - install.sh: config fixes need a root-controlled folder chain; the answers descriptor is owned and closed after a restart; config-derived text is printed through vs_printable. - remediate.sh: fstab-assigned drives are not offered, empty lists print an unmount hint, VESSELSTACK_PROMPT_ANSWERS must be a private file owned by the user. - README, UPDATING and CHANGELOG updated; 0.6.1 dated 2026-11-02. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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.
Summary
BOAT_UNITS=nauticalasmetric(knots and nautical miles are kept in both systems). A real install rewritesvesselstack.envwithmetric; a dry run only prints a note.BOAT_UNITSvalue still fails before any change, now with a message naming the file and the fix. Case and surrounding spaces are tolerated forus_customaryandmetric.get-vesselstack.sh, pinned URLs in README and docs); CHANGELOG and README Upgrading section updated.Root cause
Older web wizards offered "nautical" and installers before 0.5.7 did not validate
BOAT_UNITS. The check arrived in 1ecd0a6 (#18), sosudo vesselstackctl update /opt/vesselstack-release/0.6.0on a 0.5.x boat withBOAT_UNITS=nauticalstopped with onlyBOAT_UNITS must be us_customary or metric. It was safe (nothing mutated) but left the owner stuck.Test evidence
node tests/test_control_panel_ui.cjs,test-distribution.sh,test-verify-release-tag.sh,check-public-tree.py: pass.install.shandtests/test-clean-install.sh.test-clean-install(new nautical dry-run/real-run andimperialfailure-before-mutation cases),test-get-vesselstack,test-lifecycle,test-migrations,test-update-launcher: all pass.Owner workaround on 0.6.0
then re-run the update.
🤖 Generated with Claude Code