Merge pull request #222 from naturallaw777/copilot/update-password-labels-clarity

Clarify System Passwords labels and Change Password modal copy in Sovran Hub
This commit is contained in:
Sovran_Systems
2026-04-13 17:00:53 -05:00
committed by GitHub
2 changed files with 8 additions and 8 deletions

View File

@@ -267,7 +267,7 @@ async function openServiceDetailModal(unit, name, icon) {
'</div>' : "") + '</div>' : "") +
(unit === "root-password-setup.service" ? (unit === "root-password-setup.service" ?
'<hr class="matrix-actions-divider"><div class="matrix-actions-row">' + '<hr class="matrix-actions-divider"><div class="matrix-actions-row">' +
'<button class="matrix-action-btn" id="sys-change-pw-btn">🔑 Change Password</button>' + '<button class="matrix-action-btn" id="sys-change-pw-btn">🔑 Change Free Account Password</button>' +
'</div>' : "") + '</div>' : "") +
'</div>'; '</div>';
} else if (!data.enabled && !data.feature) { } else if (!data.enabled && !data.feature) {
@@ -534,8 +534,8 @@ function openSystemChangePasswordModal(unit, name, icon) {
if (!$credsBody) return; if (!$credsBody) return;
$credsBody.innerHTML = $credsBody.innerHTML =
'<div class="sys-chpw-header">' + '<div class="sys-chpw-header">' +
'<div class="sys-chpw-title">🔑 Change \'free\' Account Password</div>' + '<div class="sys-chpw-title">🔑 Change Free Account &amp; Hub Login Password</div>' +
'<div class="sys-chpw-desc">This updates the system login password for the <strong>free</strong> user account on this device.</div>' + '<div class="sys-chpw-desc">This updates the password for the <strong>free</strong> user account. <strong>This is also your Sovran Hub login password</strong> — both will change.</div>' +
'</div>' + '</div>' +
'<div class="matrix-form-group"><label class="matrix-form-label" for="sys-chpw-new">New Password</label>' + '<div class="matrix-form-group"><label class="matrix-form-label" for="sys-chpw-new">New Password</label>' +
'<div class="pw-input-wrap">' + '<div class="pw-input-wrap">' +
@@ -548,7 +548,7 @@ function openSystemChangePasswordModal(unit, name, icon) {
'<input class="matrix-form-input" type="password" id="sys-chpw-confirm" placeholder="Confirm new password" autocomplete="new-password">' + '<input class="matrix-form-input" type="password" id="sys-chpw-confirm" placeholder="Confirm new password" autocomplete="new-password">' +
'<button type="button" class="pw-toggle-btn" id="sys-chpw-confirm-toggle" aria-label="Toggle password visibility">👁</button>' + '<button type="button" class="pw-toggle-btn" id="sys-chpw-confirm-toggle" aria-label="Toggle password visibility">👁</button>' +
'</div></div>' + '</div></div>' +
'<div class="pw-credentials-note">⚠ After changing, your updated password will appear in the System Passwords credentials tile. Make sure to remember it.</div>' + '<div class="pw-credentials-note">⚠ This will change both your desktop login and Hub login password. After changing, your updated password will appear in the System Passwords credentials tile. Make sure to remember it — you will need it to sign back into the Hub.</div>' +
'<div class="matrix-form-actions">' + '<div class="matrix-form-actions">' +
'<button class="matrix-form-back" id="sys-chpw-back-btn">← Back</button>' + '<button class="matrix-form-back" id="sys-chpw-back-btn">← Back</button>' +
'<button class="matrix-form-submit" id="sys-chpw-submit-btn">Change Password</button>' + '<button class="matrix-form-submit" id="sys-chpw-submit-btn">Change Password</button>' +
@@ -609,7 +609,7 @@ function openSystemChangePasswordModal(unit, name, icon) {
body: JSON.stringify({ new_password: newPassword, confirm_password: confirmPassword }) body: JSON.stringify({ new_password: newPassword, confirm_password: confirmPassword })
}); });
resultEl.className = "matrix-form-result success"; resultEl.className = "matrix-form-result success";
resultEl.textContent = "✅ System password changed successfully."; resultEl.textContent = "✅ Free account & Hub login password changed successfully.";
submitBtn.textContent = "Change Password"; submitBtn.textContent = "Change Password";
submitBtn.disabled = false; submitBtn.disabled = false;
} catch (err) { } catch (err) {

View File

@@ -8,9 +8,9 @@ let
[ [
{ name = "System Passwords"; unit = "root-password-setup.service"; type = "system"; icon = "passwords"; enabled = true; category = "infrastructure"; credentials = [ { name = "System Passwords"; unit = "root-password-setup.service"; type = "system"; icon = "passwords"; enabled = true; category = "infrastructure"; credentials = [
{ label = "Free Account Username"; value = "free"; } { label = "Free Account Username"; value = "free"; }
{ label = "Free Account Password"; file = "/var/lib/secrets/free-password"; } { label = "Free Account / Hub Login Password"; file = "/var/lib/secrets/free-password"; }
{ label = "Root Password"; file = "/var/lib/secrets/root-password"; } { label = "Administrator (root) Password"; file = "/var/lib/secrets/root-password"; }
{ label = "SSH Passphrase"; file = "/var/lib/secrets/ssh-passphrase"; } { label = "SSH Passphrase use via: ssh root@localhost"; file = "/var/lib/secrets/ssh-passphrase"; }
]; } ]; }
] ]
# ── Infrastructure — Caddy + Tor (NOT desktop-only) ──────── # ── Infrastructure — Caddy + Tor (NOT desktop-only) ────────