Phase 12c: Dual-UI integration#1061
Open
Tim020 wants to merge 1 commit into
Open
Conversation
…navbar toggle) - Dockerfile: split into parallel build_v2/build_v3 stages (BuildKit builds them concurrently); Python stage copies assets from both via --from directives - CI: add V3 install + build steps to build-server.yml frontend job - Backend: add default_ui system setting (choice: old/new, default old); when set to "new" the root "/" redirects to "/ui-new/" - Backend: add preferred_ui field to UserSettings model + CheckConstraint; Alembic migration 11311df29aa4 - V2 App.vue: "Switch to New UI" navbar link; post-login redirect to /ui-new/ when preferred_ui == "new" - V3 App.vue: "Switch to Classic UI" navbar link; post-login redirect to / when preferred_ui == "old" - V2 + V3 user settings pages: preferred_ui dropdown (system default / Classic / New) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
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.



Summary
Wires the V2 and V3 UIs together so they behave as one coherent system.
build_v2,build_v3). Docker BuildKit runs them concurrently; the Python stage layers the assets together via twoCOPY --fromdirectives. Server Python code is now copied directly from the build context instead of via the Node stage.build-server.ymlextended to install and buildclient-v3/after the V2 build. Both outputs land underserver/static/, so the artifact upload step is unchanged.default_uisetting (choices:old/new, defaultold). When set tonew, hitting the bare/root issues a 302 redirect to/ui-new/. Surfaced automatically in both V2 and V3 admin settings pages (dynamic rendering from/api/v1/settings/raw).preferred_uicolumn onuser_settings(nullable —nullmeans inherit system default). Alembic migration11311df29aa4adds the column +CHECKconstraint. After login, each UI checks the setting and redirects to the other if the preference differs./), "Switch to New UI" in V2 (href/ui-new/). Tab-level only; no API call.Use system default/Classic UI/New UI).Test plan
docker build .— bothserver/static/index.htmlandserver/static/ui-new/index.htmlpresent in final imagecd server && alembic upgrade head— migration applies cleanlycd server && python3 main.py— server starts without errors/withdefault_ui = "old"→ V2 loads normallydefault_ui = "new"via admin settings → hit/→ 302 to/ui-new///ui-new/preferred_ui = "new", log in on V2 → redirected to V3preferred_ui = "old", log in on V3 → redirected to V2preferred_ui = null→ inherits system defaultcd client && npm run typecheck && npm run ci-lint— cleancd client-v3 && npm run typecheck && npm run ci-lint— cleancd server && pytest— 603 tests pass🤖 Generated with Claude Code