Compare commits

...

4 Commits

Author SHA1 Message Date
librelad
9653c33931 Merge claude/2 2026-06-17 17:57:26 +01:00
librelad
830d361351 fix(overview): drop redundant Check button from empty Improvements state
The Improvements tab's empty state ('No hotfix data yet …') rendered an
inline 'Check now' button. It was redundant: the embedding Overview header
already carries a manual Check, and the host-side auto-scan repopulates the
signed improvements index on its own within a couple of minutes (the empty
message already says so). Remove the button so the empty state is just the
self-explanatory, automation-backed message.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Signed-off-by: librelad <librelad@digitalangels.vip>
2026-06-17 17:57:26 +01:00
librelad
6f8596fc88 Merge claude/2 2026-06-17 17:30:36 +01:00
librelad
3653a39fd8 chore(config): quiet per-file reconcile output, drop backup note
The config reconcile pass printed one 'Reconciled config: <name>  (backup:
.<name>.bak)' line per changed file. Drop the per-file message entirely:
the intro notice and the two per-section '...completed.' confirmations are
enough, and the backup mention added noise. The hidden .<file>.bak sibling
is still written for safety — it's just no longer announced.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Signed-off-by: librelad <librelad@digitalangels.vip>
2026-06-17 17:30:36 +01:00
2 changed files with 7 additions and 2 deletions

View File

@ -342,7 +342,10 @@ class UpdaterPage {
// withToolbar=false lets an embedding surface (the fleet Overview tab) skip
// the inline Check button because it provides one in its own header.
renderImprovements(withToolbar = true) {
if (!this.artifacts) return this.empty('No hotfix data yet — the automatic scan fetches the signed improvements index within a couple of minutes.', true);
// No inline Check button on the empty state: the host auto-scan repopulates
// this within a couple of minutes (and the embedding header already carries
// a manual Check), so the message alone is the right, button-free empty UI.
if (!this.artifacts) return this.empty('No hotfix data yet — the automatic scan fetches the signed improvements index within a couple of minutes.');
const list = Array.isArray(this.artifacts.artifacts) ? this.artifacts.artifacts : [];
const signed = !!this.artifacts.signed;
if (!list.length) return this.empty('No improvements available right now — you are all caught up. 🎉');

View File

@ -92,7 +92,9 @@ reconcileConfigFile()
local bak_file="${live%/*}/.${live##*/}.bak"
runCfgOp cp -a "$live" "$bak_file"
{ [[ -n "$containers_dir" && "$live" == "$containers_dir"* ]] && runFileWrite "$live" < "$tmp" || runInstallOp cp "$tmp" "$live"; }
isSuccessful "Reconciled config: $(basename "$live") (backup: ${bak_file##*/})"
# A hidden .<file>.bak sibling is still written above for safety; the
# per-file result is intentionally silent — the intro notice and the
# per-section "...completed." lines are the only reconcile output.
fi
rm -f "$tmp"
}