Repository navigation
Sidebar Capabilities + System Settings, and always-on openXYOS preview - #19
Merged
Merged
Conversation
Rename the sidebar Settings group to Capabilities, and move former Control and Admin modules into a gated System Settings hub with redirects for old URLs. Desktop boot now starts the bundled openXYOS sidecar (Node, not a raw .bat), waits for livez, and the Organization page embeds the console in a right-hand preview with fullscreen.
cursor
Bot
force-pushed
the
cursor/sidebar-ia-openxyos-sidecar-08f1
branch
from
September 15, 2026 17:47
010f88a to
a2ad7f0
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.
Summary
Ships the two product changes requested for the Windows desktop app (version stays 0.0.1).
Rebased onto
origin/main(db20b437/ #18) so this no longer conflicts. Both sides are kept:is_desktop_process,ensure_local_user,_emit_wizard_passwordearly return).node.exelaunch + frameguard fix (_ensure_desktop_org_sidecar).CHANGELOG.mdUnreleased now lists both #18 and #19 bullets.server.py/ locales auto-merged with both behaviors.FREEOS_STAMPis generated at portable package time fromGITHUB_SHA+ UTC timestamp (desktop/portable/package.sh); this rebase heada2ad7f0will stamp a new portable when Desktop Package CI runs — no committed stamp constant to bump.A) Sidebar IA
nav.settings/ 「设置」) is now Capabilities / 「能力」 (nav.capabilities).navAllowed/userCan). Guests without those modules never see the item or the admin routes./system-settings/:section(users, models, storage, plugins, security, advanced, ACP, agent-config). Workbench and remote desktop stay on their existing fullscreen routes but highlight System Settings./admin/*,/acp,/agent-config,/models, …).B) openXYOS sidecar — always on + in-app preview
Root causes of 「启动边车」无效:
Popenofstart-sidecar.batis not a valid Win32 app. Host now starts bundlednode.exe --import tsx backend/server.ts(same as Wails), withcmd /conly as fallback.X-Frame-Options: SAMEORIGINblocked embedding127.0.0.1:3780from the dashboard port. Sidecar now disables frameguard whenFREEOS_HOME/AIR_GAP_MODEis set./api/health/livezafter start, and requiresdist/index.html. The Python host alsoensure_sidecaronOCTOP_DESKTOP=1/FREEOS_ORG_ENABLEwhen the portableorg-sidecarruntime is present (does not run the source-treenpm startscript).Does not reintroduce an Octop login wall or change WebView2 startup. Release assets are not rebuilt or replaced here.
Target branch
develop(feature / fix — default)main(requested for this coordinator ship)Type of change
Test plan
uv run ruff check/format,uv run mypy src/octop(534 files),uv run pytest tests/unit— 2839 passed, 4 skippedmake precommit+ dashboardnpm run buildgreennpx tsc --noEmitmake allas a single Make target (format + lint + typecheck + full pytest) — equivalent pieces above are green; Linux Go desktop tests need gtk4/webkit and were not run heresidebarNav,SystemSettings/tabs,controlAdminPath,test_sidecar_launch.py, GosidecarReadyfrontend-build check)Windows verification (after review, before coordinator ships installer)
OCTOP_DESKTOP=1,~/.freeos). Confirmorg-sidecaris bundled (node.exe,openxyos/backend/server.ts,openxyos/dist/index.html).~/.freeos/logs/org-sidecar.logand thathttp://127.0.0.1:3780/api/health/livezis up without clicking anything./admin/users,/acp,/workbenchstill work.Do not merge or replace GitHub Release assets from this PR — coordinator ships after review.
Checklist
CHANGELOG.md(Unreleased) — both Skip desktop first-run password, database, and admin wizard #18 and Sidebar Capabilities + System Settings, and always-on openXYOS preview #19 bulletsKey files
dashboard/src/layouts/sidebarNav.tsx,dashboard/src/pages/SystemSettings/*,dashboard/src/routes/index.tsxdashboard/src/pages/Organization/index.tsxsrc/octop/modules/org_os/sidecar_launch.py,src/octop/infra/server.pydesktop/src/process_sidecar.go,desktop/src/main.gomodules/openxyos/backend/server.ts(frame-ancestors / no SAMEORIGIN when embedded)