Promote Vue 3 to default UI at /, demote Vue 2 to /ui-old/#1178
Merged
Conversation
- V3 now served as the catch-all at / with default_ui setting changed to "new" - V2 served at /ui-old/ with its own dedicated routes and static asset handler - Backend redirect logic moved to RootControllerV3: redirects / → /ui-old/ when default_ui == "old" - Both clients' vite base/outDir updated; V3 gains a clean plugin preserving ui-old/ - UI-switch nav links and preference redirects updated to new paths in both apps - E2E UI_BASE updated to reflect V3 now living at the server root Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
The docs prebuild (copy-docs.sh + generate-doc-manifest.ts) was in the V2 client, which used Vite's public/ copy mechanism to deposit docs into the outDir. When V2's outDir moved to server/static/ui-old/, docs were landing in ui-old/docs/ instead of server/static/docs/. V3 now owns docs generation since it builds to the server/static/ root. Scripts are copied to client-v3/scripts/ with a mkdir -p guard added for the previously-absent public/ directory in V3. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Fix Prettier formatting in client-v3/src/App.vue (Switch to Classic UI nav item) - Move COPY /docs from build_v2 to build_v3 stage (V3 now owns docs generation) - Update build_v3 mkdir to /server/static (was /server/static/ui-new) - Update final COPY --from=build_v3 to copy from /server/static root (was /server/static/ui-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
client-v3/) is now served as the default UI at/, replacing the Vue 2 catch-allclient/) is now served at/ui-old/with its own dedicated routes and static asset handlerdefault_uiserver setting now defaults to"new"; visiting/redirects to/ui-old/only when an admin has explicitly set it to"old"prebuildscripts) moved from V2 to V3, since V3 now ownsserver/static/Changes
Build configs
client-v3/vite.config.ts: base/ui-new/→/, outDir →server/static/,emptyOutDir: falsewith a newcleanV3StaticPluginthat preservesui-old/on each buildclient/vite.config.ts: base/→/ui-old/, outDir →server/static/ui-old/,emptyOutDir: true(V2 owns that dir fully; custom clean plugin removed)Backend
app_server.py: routes and static handlers updated (/ui-old/assets/,/ui-old/→RootController,/catch-all →RootControllerV3)controllers.py: redirect logic moved toRootControllerV3(redirects/→/ui-old/whendefault_ui == "old");RootControllersimplified to servestatic/ui-old/index.htmlsynchronouslysettings.py:default_uidefault changed from"old"to"new"Frontend
client-v3/src/App.vue: "Switch to Classic UI" link updated to/ui-old/?_switch=1client/src/App.vue: "Switch to New UI" link updated to/?_switch=1client-v3/src/router/index.ts: router base changed from/ui-new/to/client-v3/e2e/helpers.ts:UI_BASEupdated (no/ui-newsuffix)Docs
copy-docs.shandgenerate-doc-manifest.tsmoved toclient-v3/scripts/and wired into V3'sprebuild; removed from V2'sprebuildTest plan
http://localhost:8080/— V3 (new UI) loadshttp://localhost:8080/ui-old/— V2 (classic UI) loads/help/getting-started)npm run buildinclient-v3/outputs toserver/static/and generatesserver/static/docs/npm run buildinclient/outputs toserver/static/ui-old/cd client-v3 && npm run test:e2ecd server && pytest🤖 Generated with Claude Code