Skip to content

Back-merge main into develop after v1.5.3 - #528

Merged
VijitSingh97 merged 11 commits into
developfrom
main
Jul 14, 2026
Merged

Back-merge main into develop after v1.5.3#528
VijitSingh97 merged 11 commits into
developfrom
main

Conversation

@VijitSingh97

Copy link
Copy Markdown
Collaborator

Brings the v1.5.3 fixes (#519 energy-editor note, #505 spacing, #515 drift guard) into develop.

🤖 Generated with Claude Code

VijitSingh97 and others added 11 commits July 14, 2026 16:30
…cess-log panels (#505)

The disabled-Configuration hint rendered 'setdashboard.control.enabled' — htm collapsed
the newline between 'set' and the <code> element. Put them on one line with an explicit
space. And the Configuration editor + Access-log cards touched with no gap (they render
adjacent, outside a .grid); wrap them in a .card-stack with a 20px gap.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
… of silent 'no changes' (#519)

dashboard.energy is read straight from config.json and never renders to .env, so the config
editor's .env-diff preview reported 'No configuration changes detected' and disabled Apply —
a silent no-op that looked like the save was broken. control_preview now detects a
dashboard.energy diff and appends a non-committable HOST note; the PreviewModal renders HOST
notes as an informational line and never arms Apply for them. Committing dashboard.energy from
the dashboard is a separate feature (#504); today it's applied on the host.

Adds a stack test asserting an energy-only edit yields exactly one HOST note and no committable change.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…st (#515)

The allowlist is hardcoded in three places kept in sync only by comments — the dashboard
(WORKER_WRITABLE_KEYS), the pithead host runner (control_worker_apply's jq array), and
rigforge's control-server.py WRITABLE (#236). Drift silently fail-closes edits for the
drifted key. Assert the two pithead-repo copies match the canonical set; rigforge#236 carries
the reciprocal check on the rig side.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
telegram.control gates a remotely-reachable host-control surface (/restart, /apply). Its
three-legged fail-closed validation (needs dashboard.control on, telegram.commands on, and a
non-empty allowed_ids — empty = every command refused) had zero negative-path coverage. Adds a
tgc_case helper testing each refusal fires plus a fully-configured control applies.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…review follow-up)

Adversarial review flagged the (.*?) capture as fragile — it wouldn't match if the jq array
were reflowed across lines. Use [^]]* so the drift guard survives reformatting.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
lint-js (biome 2.5.0) rejected the hand-written multi-line ternary/arrow wrapping; run the
formatter so the config editor changes match house style. No behavior change.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The energy-preview test (#519) perturbed shared control-test state (result-file count +
last-preview-audit entry); the telegram.control tests (#521) need dashboard.control's Caddy
password-hash, which the fake-docker black-box env can't do. Both are deferred to v1.6 with the
proper control-test-env setup. The #519 code fix (control_preview HOST note) and #505/#515 ship;
#519's fix is covered by the adversarial review + the jq/frontend checks.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…resent (#515)

The dashboard-only Docker test image doesn't ship the pithead CLI, so parents[4] IndexError'd.
Walk up to find pithead and skip cleanly when it's absent; the check still runs on a full
checkout (gouda gate + CI shell tests) where drift matters.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
v1.5.3: energy-editor UX fix + control/config-surface test hardening
@VijitSingh97
VijitSingh97 merged commit 9652891 into develop Jul 14, 2026
32 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant