Repository navigation
A new owner's first run reads as intended, not unfinished (W-880) - #373
Merged
wr merged 3 commits intoOct 18, 2026
Merged
Conversation
Walked the webapp from a blank server, self-hosted and on Featherframe Cloud, and fixed what read as broken or half-done: - A detection source nobody has set up yet (a push source nothing has reached, BirdWeather with no station, no BirdNET-Pi database at the default path) is gray, not red, and raises neither the outage nor the gone-quiet alarm. The welcome plate asks for a source in a plain line instead of the "unreachable" error pill. - BirdNET-Go's and BirdNET-Pi's setup steps tick themselves off when the test or first detection arrives: /api/status now carries push_setup, and the page used to keep "Waiting for the test…" until a reload. - History leaves out the welcome plate, so it no longer fills with "No detections yet" pictures before the first real one. - The empty Frames card names the kit's own choice and ends the way this server meets a frame: asks to be added (self-hosted), or shows a code with a Pair a frame button in the card (Cloud, which had self-hosted steps). - A frame asking to connect is a plain notice, not an amber warning. - AI image generation: the master switch waits for a key like the other key-only rows; a locked switch reads off; the help link uses the page's link color; an empty gallery drops the backup note (never on Cloud). Refs: W-880
…ame (W-880) Its first look for the picture ran before the sheet was on, so it stopped at once and the frame kept the wordmark. It now looks once the sheet is on. Refs: W-880
…(W-880) Refs: W-880
wr
deleted the
wells/w-880-webapp-a-pass-on-empty-states-and-onboarding
branch
October 18, 2026 16:48
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.
Walked the webapp from a blank server as a new owner, self-hosted and on Featherframe Cloud (first frame paired → first illustration), and fixed every state that read as broken or half-done.
Before/after screenshots of each state: https://claude.ai/artifact/TLYbZ8t84AV75oT9VnhkFg (private to Wells)
What changed
service.source_unset), and raises neither the outage nor the gone-quiet alarm. The welcome plate asks for a source in a plain line instead of the "Detection source unreachable" pill. A typed path that is missing is still a fault./api/statuscarriespush_setup, and the poll applies it. Before, the page kept "Waiting for the test…" until a reload.Verified
tests/test_first_run.pycovers each state; outage tests now model a typed, missing path (the default path missing is "not set up").check_copy.pyclean.hostedon).Not covered
hostedon, not through the Worker.Refs W-880