You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Setup: show progress and specific errors for every connection step #29
During setup the app shows little between scanning the code and success or failure, and when it fails the message is often wrong. On the bench on 2026-09-24:
A 20 s wait showed nothing.
A connection that never subscribed was reported as bluetoothUnavailable while Bluetooth was on (central state 5).
Nobody could tell whether the phone was still searching, connected, or waiting on the controller.
Show each step the flow in #28 goes through, with its own text, a visible sign that it is working, and a specific message when it fails:
Step
While it runs
When it fails
Searching for the controller over Bluetooth
"Looking for the controller", with elapsed time
"No controller found. Is its pairing window open?", with how to open it
Connecting and subscribing
"Connecting"
"Couldn't connect"; distinct from Bluetooth being off or not permitted
Discover / Pair / Hello
"Pairing"
the KM43 error, for example the window being closed or the code not matching this controller
Scanning for Wi-Fi networks
"Looking for networks"
"The controller can't scan yet" when refused as radio off
Writing the network
"Saving the network"
the controller's verdict
Waiting for the controller to join Wi-Fi
"Joining ", with elapsed time
the WifiStatus failure: auth failed, not found, no address
Switching to Wi-Fi
"Connecting over Wi-Fi"
"Couldn't reach the controller on this network", with the Bluetooth fallback
Rules:
Always visible. Every state that can last more than about a second shows progress, and every wait has a timeout.
Honest labels.bluetoothUnavailable means the phone's Bluetooth is off or not permitted, and nothing else.
Activity
lemarier commentedon Sep 25, 2026
We could show a progress bar something like this