Skip to content

Feature/web based onboarding#9

Merged
Lash-L merged 6 commits intoPython-roborock:mainfrom
DonSidro:feature/web_based_onboarding
May 4, 2026
Merged

Feature/web based onboarding#9
Lash-L merged 6 commits intoPython-roborock:mainfrom
DonSidro:feature/web_based_onboarding

Conversation

@DonSidro
Copy link
Copy Markdown
Contributor

Added a web based onboarding to help people that doesn't/dont know how to use CLI.

Also updated onboarding.md to reflect the web based onboarding.

Configure Page
Skærmbillede 2026-04-17 002829
Select vacuum Page
Skærmbillede 2026-04-17 002940
Send onboarding Page
Skærmbillede 2026-04-17 003140
Reconnect and poll Page
Skærmbillede 2026-04-17 004109
Done Page
Skærmbillede 2026-04-17 004006

Has been tested on one device onboarding, might need more testing if possible.

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a browser-based onboarding flow (served from localhost) to guide users through vacuum pairing without requiring CLI interaction, and updates the onboarding docs accordingly.

Changes:

  • Introduces a standalone FastAPI + Uvicorn local web server (start_onboarding_gui.py) implementing the onboarding state machine and HTTP API.
  • Adds a single-page web UI (ui.html) that polls state, renders step-by-step guidance, and shows a live log.
  • Updates documentation (docs/onboarding.md) to describe how to run and use the new web UI onboarding flow.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 7 comments.

File Description
ui.html New browser UI for configuring, selecting a device, sending onboarding, polling, and viewing logs.
start_onboarding_gui.py New local FastAPI server + worker thread implementing the onboarding flow and serving UI/state.
docs/onboarding.md Documents the GUI onboarding workflow, phases, and troubleshooting.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread start_onboarding_gui.py Outdated
Comment thread start_onboarding_gui.py
Comment thread docs/onboarding.md Outdated
Comment thread ui.html
Comment thread start_onboarding_gui.py
Comment thread start_onboarding_gui.py
Comment thread start_onboarding_gui.py
@Lash-L
Copy link
Copy Markdown
Contributor

Lash-L commented Apr 17, 2026

Will test this out in a few days! I have a few things i want to get working that I will need to reauth my vacuum for, so that will be a perfect time for me to test it!

DonSidro and others added 3 commits April 27, 2026 12:51
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
- Require token on GET / for consistent access control
- Replace unconditional ssl._create_unverified_context() with opt-in
  allow_insecure_tls flag (default: verified); warn when disabled
- Redact wifi password and session tokens from UI log buffer
- Add threading.Lock to _UILogBuffer for thread-safe append/snapshot
- Clear poll interval and set stopped flag on quit to prevent
  post-shutdown DOM errors
@Lash-L Lash-L merged commit 72f0ef9 into Python-roborock:main May 4, 2026
3 checks passed
@Lash-L
Copy link
Copy Markdown
Contributor

Lash-L commented May 4, 2026

Thanks @DonSidro - it worked for me. I had a few changes to make and I will have a few more to make as well, but I figured it was easiest to merge in and then make the changes.

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.

3 participants