Repository navigation
Fix org embed, model-picker 模型管理, and local openXYOS login - #38
Merged
Merged
Conversation
Conversation model picker now has 模型管理 pointing at /models. Organization defaults to a full-height local embed with a slim blue bar; enable/module toggles and loop/import extras move into drawers. Sidecar CORS includes its own origin so iframe login no longer 500s, and first-run local demo accounts are seeded when demo data is off. Co-authored-by: XYAI Labs <haoboy8@gmail.com>
Move capability path tabs below the page title on the layout background, drop the subtitle, and keep Workbench title-row tabs unchanged. Co-authored-by: XYAI Labs <haoboy8@gmail.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.
Three FreeOS product fixes for a non-IT first-run desktop: conversation model jump, Organization IA, embedded openXYOS login, plus Personalization chip layout.
1. Chat model picker → 模型管理
/models(same route as sidebar「模型」).2. Organization page IA + embed modals
http://127.0.0.1:3780) filling the preview pane.#0033FFstatus bar; lower-right buttons:Modal centering (what changed)
The old two-column layout stretched the iframe to the tall left chrome.
position:fixedinside the iframe is relative to the iframe element box, so dialogs were vertically centered in a 2000px+ iframe and sat off-screen in FreeOS.flex: 1; min-height: 0), not the leftover document.html.ox-embeddedwhenwindow !== top;.ox-overlay/.ox-dialoguseplace-items: center,max-height: min(90dvh, calc(100% - 24px)), and overflow scroll. Tailwindfixed inset-0layers in embed also flex-center.3. openXYOS login 500
Root cause: login POST from the page at
:3780sendsOrigin: http://127.0.0.1:3780. Sidecar CORS only listed dashboard ports,cors()threw, and the global handler returned 「服务器内部错误,请稍后重试或联系管理员」.127.0.0.1/localhost/[::1]:PORT) into launch CORS (Python +start-sidecar.ps1).SEED_DEMO_DATAis off, seed local first-login accounts (demo@demo.com/user@demo.com/openxyos-demo-2026, matching the login UI).traceId;last_loginupdate is best-effort on legacy DBs.4. Personalization capability chips
--fn-bg-layout), not a detached gray card.Verify
npx vitest run src/layouts/PageShell.test.tsx— pass (title-row wrap + two-row flush strip)npx tsc --noEmitin dashboard — passnpx vitest runon ChatInputActionsRow, Organization page, sidebarNav — pass (prior commit)uv run pytest tests/unit/test_sidecar_launch.py tests/unit/desktop/test_openxyos_provisioner.py— pass (prior commit)npx tsx scripts/test-cors-origins.ts— pass (prior commit)CI should run the full ship bar on this PR.