Repository navigation
Review fixes: per-variant step 3, accurate firmware copy, stricter registry checks - #34
Merged
Merged
Conversation
Step 3 now follows the selected variant: a new `standalone` platform gives the H-2/H-3 Basic (No Wi-Fi) builds a "nothing to add" step instead of "Add to Home Assistant", with the restart the wiki calls for. "What's new" only shows a release that matches the manifest's version; otherwise the page says which build it installs. The M-1 WLED-MM variants were showing an older release whose assets are the Rev4 pinout. Release notes and manifests are memoized per page session to stay under GitHub's 60 requests/hour limit. Registry copy corrected against the product repos: H-1/H-2 have no Bluetooth proxy, Smart builds stay awake by default, H-2 Smart has no improv (point to its hotspot), M-1 revision notes, R_PRO-1 Ethernet note, and WLED OTA copy that no longer steers Rev4 boards to a Rev6 file. Also: header no longer overflows on phones, two cards per row on small screens, uncropped card images, readable dark-mode buttons, visible focus ring on variant buttons, labelled picker group, per-device title and focus on navigation, unknown-id notice, https-only escaped fallback file links with offsets, and a hermetic Playwright suite (29 -> 42 tests). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
New offline checks: unique lowercase-kebab ids, required fields, the image file, manifests on their own repo's GitHub Pages site, no two variants on one manifest, config keys that exist in firmware, and a --offline mode. New network checks: manifests and parts readable cross-origin, known chipFamily, wiki reachable, and every manifest offered by the repo's classic installer page. Replayed on history, it flags PR #32's duplicate TEMP_PRO-1 and the pre-#33 AIR-1/MSR-2 builds without improv. fetch_images.py keeps a hand-made image whose extension differs from the source (re-running it replaced h-1.jpg with the full-size PNG), writes atomically, keeps non-ASCII text readable, and takes device ids. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The Pages deploy runs the validator unit tests and offline checks before publishing, and no longer cancels an in-flight deploy. Validate also runs on push to main, keeps Playwright traces on failure, and opens or updates an issue when the nightly check fails. Actions are pinned to SHAs with Dependabot to bump them; Playwright forbids test.only and never reuses a server on CI. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
CONTRIBUTING gets a step-by-step "adding a device" (pick the build the classic installer flashes, default variant first, image rules), all the local checks, Firefox, and the production URL. AGENTS.md documents the registry schema and the standalone platform. The PR template asks about firmware mapping. The M-1 note and both original specs are corrected or marked historical. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars. ⚙️ Run configuration
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
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.
What does this change?
A full review of the installer: the registry was checked against every product repo, and the code, CI and docs were reviewed. Findings were verified independently before fixing. It's four commits, one per area.
Merge check on #20–#33: all landed correctly. Each merge tree equals its PR head, nothing was later reverted, and production
devices.jsonmatchesmain. The one leftover was a misplacedplatformFor()comment from #29, now moved back. #32 must not be merged as-is: GitHub's own merge preview (refs/pull/32/merge) lists TEMP_PRO-1 twice, because #33 already added it. The new validator fails on that merge result.Site (
ee6ac17)standaloneplatform gives H-2/H-3 Basic (No Wi-Fi) a "nothing to add, restart it" step instead of "Add to Home Assistant". The restart matches the wiki's reflash pages.improv_serial, so its note points to the open "Apollo H2 Hotspot".M-1_ota.bin.wled.localhint, which no M-1 build answers.!includes its folder and links the folder.Validator and image script (
4bbd1b6)configkeys exist infirmware--offlinemodechipFamilyis a known valuefetch_images.pyno longer replacesh-1.jpgwith the full-size PNG. It writes atomically and accepts device ids.CI (
3059c8b)maintooissues: write)github-actions.Docs (
6b8db1f)standalone.For reviewers
devices.jsonare unchanged; only notes andplatformswere added.Found upstream, not fixed here
firmware-namesstill uses_ETH/_W. The shared workflow now keys on1_ETH/1_W, so the next publish would wipefirmware-w/andfirmware-e/. Its YAMLs also fail to compile (.stateneeds to becomecurrent_option()). Land both fixes in one merge.improv_serialwas dropped in "Drop Bluetooth".firmare-dtypo means the Basic build is never published, and the update URL 404s. The fix is on H-1beta, but its release PR was closed unmerged.Checklist
cd tests && npx playwright test): 42 passed, also withCI=1cplist in.github/workflows/pages.yml: none addeddevices.jsonchanged:python scripts/validate_registry.pypasses ("Registry OK: all manifests live and complete."), plus 73 + 14 Python unit tests🤖 Generated with Claude Code