dotbot: drop the classic web UI, the console is the only one - #306
Merged
Merged
Conversation
Breaking change: /PyDotBot is gone and now answers 404; bookmarks should move to /console, which / now redirects to. The views only the classic UI had go with it: the qrkey phone page (the QR still points at the frozen gh-pages copy), the REST demo page and the SailBot map. AI-assisted: Claude Opus 5.5
AI-assisted: Claude Opus 5.5
AI-assisted: Claude Opus 5.5
AI-assisted: Claude Opus 5.5
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #306 +/- ##
==========================================
- Coverage 86.11% 84.38% -1.74%
==========================================
Files 210 178 -32
Lines 27920 24251 -3669
Branches 2126 1569 -557
==========================================
- Hits 24044 20463 -3581
+ Misses 3868 3784 -84
+ Partials 8 4 -4
Flags with carried forward coverage won't be shown. Click here to find out more.
🚀 New features to boost your workflow:
|
AI-assisted: Claude Opus 5.5
geonnave
force-pushed
the
drop-classic-ui
branch
from
September 28, 2026 15:16
e513efd to
0c5c1b4
Compare
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.
Removes the classic web UI, the React app in
dotbot/frontend/served at/PyDotBot. The console at/consolehas covered what the fleet is driven with (map, joystick, waypoints, swarmit orchestration) for a while, and carrying two React apps doubled the frontend CI, the packaging hooks and every UI-facing change to the controller.What goes: the whole
dotbot/frontend/tree, about 22k lines of which 16.9k are itspackage-lock.json, plus its wiring: the/PyDotBotstatic mount and thePYDOTBOT_FRONTEND_BASE_URLconstant indotbot/server.py, the sdist hook's frontend build, the wheel-contents check's frontend entry, the CIfrontendjob, the frontend step oftox -e web, and thefrontendcodecov flag.What replaces it: the console, unchanged.
/now redirects to/console/, but only when the console is built; without the build neither route exists and the controller logs that it is serving the API alone.dotbot run controlleropens the console, or nothing when it is not built.What is retired with it, each with a follow-up tracked:
dotbot run demo qrstill relays the controller's notifications to MQTT and shows the QR, and--webbrowsernow opens the QR's own URL, but no phone page reads the relay until the console grows a qrkey mode.This is a breaking change for anyone with
/PyDotBotbookmarked; it now answers 404. The CHANGELOG says so.It is split out of #304 and lands before it, so #304 no longer carries the removal and does not have to migrate the classic UI to its new stream.
Validated locally: full pytest (the only failures are machine-local, four config-path tests reading a real
~/.dotbot/config.tomland one simulator test whose port is taken), console build, lint and vitest (636 tests), a wheel built withhatch buildpassingutils/check_wheel_contents.pywith nodotbot/frontendentries, andpre-commit run --all-files.dotbot/frontend/package-lock.json)