diff --git a/containers/libreportal/frontend/core/setup/js/setup-wizard.js b/containers/libreportal/frontend/core/setup/js/setup-wizard.js index 1c1b649..8180a41 100755 --- a/containers/libreportal/frontend/core/setup/js/setup-wizard.js +++ b/containers/libreportal/frontend/core/setup/js/setup-wizard.js @@ -422,7 +422,11 @@ class SetupWizard { const refused = c.verdict === 'refuse'; const warned = c.verdict === 'warn'; const id = `sw-storage-${i}`; - const detail = refused ? c.refusals : (warned ? c.warnings : ''); + // Checks are joined with "; " on the shell side. Split them back out: + // a drive can trip several at once, and one run-on paragraph buries the + // fstab line the user is meant to copy. + const detailParts = String((refused ? c.refusals : c.warnings) || '') + .split(/;\s+/).map(s => s.trim()).filter(Boolean); const badge = refused ? 'unusable' : (warned ? 'needs care' : ''); @@ -435,7 +439,7 @@ class SetupWizard { ${this.escapeHtml(c.fstype)} · ${this.escapeHtml(c.size)} (${this.escapeHtml(c.free)} free)${c.removable ? ' · removable' : ''} - ${detail ? `
${this.escapeHtml(detail)}` : ''} + ${detailParts.length ? detailParts.map(d => `
${this.escapeHtml(d)}`).join('') : ''}
`; diff --git a/scripts/webui/data/generators/system/webui_system_update.sh b/scripts/webui/data/generators/system/webui_system_update.sh index c73f733..3ca7c7c 100755 --- a/scripts/webui/data/generators/system/webui_system_update.sh +++ b/scripts/webui/data/generators/system/webui_system_update.sh @@ -11,6 +11,10 @@ webuiSystemUpdate() { webuiSystemUpdateCheck webuiSystemVerify webuiSystemNetworkCheck + # Storage locations + candidate drives. The setup wizard reads this to + # decide whether its Storage step appears at all, and the Disks view reads + # the same file, so both always agree. + declare -f webuiGenerateStorageCandidates >/dev/null 2>&1 && webuiGenerateStorageCandidates isSuccessful "System information updated!" }