fix(web): give the driver picker a way forward when the device is not listed - #759
Merged
Conversation
… listed A device with no catalog entry dead-ended step 4: Continue stays disabled and the only affordance is Back. The picker now ends with a 'My device is not listed…' option that explains where repository drivers install after setup, links to requesting a new driver, and continues onboarding without the device. Closes #757. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
miravoss26
reviewed
Aug 3, 2026
miravoss26
left a comment
There was a problem hiding this comment.
Clean. The non-numeric NOT_LISTED sentinel, checked before parseInt ever runs on sel.value, is the right guard, and skipUnlistedDevice going straight to integrations (step 7) when nothing's configured avoids a second empty-summary dead-end. Tests cover the sentinel ordering and both forward paths, and the external issue-tracker link carries rel="noopener".
No security surface. Safe to merge from my read. Not in my auto-merge allowlist, so it's yours to land.
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.
Closes #757.
Step 4 of the setup wizard dead-ends when a device has no catalog entry: Continue is disabled until a driver is selected, and nothing says where more drivers live or how to ask for one. Hit in practice with a Fox ESS inverter (srcfl/device-drivers#68) — the operator had to back out of onboarding.
The picker now always ends with a "My device is not listed…" option. Selecting it keeps Continue held (there is nothing to configure) and reveals a panel with the two real ways forward:
goStepBack7's logic in reverse).The sentinel option value is non-numeric and is handled before
parseIntever sees it, so it can never be mistaken for a catalog index — including by the fingerprint preselect loop, which skips it by filename mismatch.Evidence
web/setup.test.mjsgains four structural tests (option present, sentinel handled before index parse, panel content, skip targets). Full web suite: 276/276.skipUnlistedDevice()with zero configured devices lands on step 7.Coordination
#714 also touches
web/setup.js/web/setup.html, in the scan/host-entry areas (step 3/5,prefillDriverConfig). This change is confined to the step-4 picker (populateDriverDropdown,onDriverSelected, step-4 markup) — no overlapping hunks, whichever lands first.🤖 Generated with Claude Code