releases v0.2.0 - Alshival-Ai/neural-labs GitHub Wiki
Neural Labs v0.2.0 release record
- Release date: 2026-09-02
- Version transition:
0.1.0→0.2.0 - Release type: minor version jump
- Theme: collaborative terminals, reliable Alshival steering, embedded VS Code, and detachable app windows
Release intent
This release turns the shared desktop into a stronger pair-programming surface. Terminal now begins with people and live sessions rather than an empty emulator, VS Code is available beside it in the dock, and any desktop app can move to a separate browser window when a larger or second-screen layout is useful.
User experience changes
Alshival steering and follow-up queue
Alshival keeps its composer in active-run mode for the complete run lifetime, including across intermediate durable assistant commits and when the app opens after work has already begun. Enter injects an immediate steering prompt into the active run. A steering request's own acknowledgement cannot clear the original run indicator.
Ctrl/Cmd+Enter adds the prompt to a visible FIFO queue. The compact queue panel
shows ordering, attachment counts, admission progress, and removal controls.
Queued prompts use OpenClaw's followup admission, so Gateway execution—not a
browser timer—automatically starts each prompt after the preceding run finishes.
The row moves into the transcript when its turn begins.
Alshival now projects live WebSocket thinking status, plans, commands, file operations, and other tool actions into a minimal collapsed work timeline in the transcript. Users can expand the timeline and then individual steps to see bounded, credential-redacted command details and output. Durable tool calls and results are rebuilt into the same presentation from chat history; raw model reasoning is never exposed.
The transcript follows streaming content at the bottom, pauses when the reader scrolls up, and offers a Latest control to resume. Gateway reconnects merge history into the still-mounted transcript instead of clearing it, and a minimized Alshival window remains mounted so its live UI and scroll position are preserved.
Social Terminal
The desktop starts with Terminal active on a New Terminal page. Running Team sessions occupy an independently scrollable icon rail on the left. Hovering or focusing a session reveals compact participant badges and identifies the current controller. The main launch panel can start a private shell, resume a recent private shell, or join a Team session.
The previous team dropdown has been removed. + Team opens a compact inline composer, keeps the user in context, and joins the new session as soon as it is ready. Layout rows are explicit, so an empty banner or compact status control cannot consume the terminal viewport.
VS Code
VS Code is a first-class dock app. Its desktop window contains a local code-server editor pointed at the shared workspace, with load feedback, reload, and open-in-tab actions. The window remains mounted while minimized.
The workspace supervisor starts code-server as a required non-root child, includes it in readiness, and shuts it down with the rest of the workspace. The shared home volume retains extensions, user settings, and code-server state.
Detachable app windows
Every integrated app has a Pop out button in its title bar. The window manager creates a same-origin browser surface and moves the existing live DOM host into it. This preserves the React component identity and browser-side app state instead of mounting a second copy.
An external title bar provides Pop back into desktop and the usual close action. Closing the external browser window returns the app automatically. From the main desktop, the app's dock icon focuses its latest pop-out, while the dock context menu can bring all pop-outs for that app back at once.
Dock clicks follow the same focus model as desktop window clicks. Selecting an app that is behind another window raises its most recent open window; selecting the already-frontmost app again minimizes it. Minimized apps still restore on the first click.
Pop-out placement is temporary. The persisted desktop record normalizes it to an ordinary open window, and closing or reloading the parent desktop closes its child windows. A blocked popup leaves the original app untouched and shows a recovery message.
Files path copying
The Files app context menu now includes Copy path for both files and
folders. It copies the same ~/workspace/... location shown in the details
pane, closes the menu immediately, confirms success in the Files activity
notice, and gives actionable feedback when browser clipboard access is denied.
Security and trust boundaries
This release does not add a public service or bypass authentication.
- code-server is reachable only through the existing workspace ingress path.
- The internal editor listener remains container-local and is not host-published.
- Authenticated identity is established at ingress and is never accepted from arbitrary client-supplied forwarding headers.
- VS Code WebSocket and state-changing HTTP requests require the exact public origin expected by the proxy.
- Inbound cookies, authorization values, and forwarded identity fields are not passed to code-server.
- The VS Code response policy permits framing only by its own origin; the desktop response continues to reject framing.
- Pop-outs create a blank same-origin document. No credential, app payload, file content, terminal data, or user identity is serialized into its URL.
- Deployable code-server downloads are versioned and checksum-verified for each supported architecture.
The embedded editor expands the trusted shared-workspace surface because every approved user can edit shared files and use the shared code-server preferences. That decision and its limits are recorded in ADR 0010.
State and compatibility
- No database schema change is included.
- Existing desktop, app-window, Editor, Files, Alshival, Settings, and Terminal device records remain readable.
- Pop-out state is intentionally not durable; after a reload the app appears in the main desktop.
- App content is not added to desktop persistence. Editor bodies, Alshival drafts, terminal streams, credentials, and WebSocket tickets remain excluded.
- Alshival queue text is not written to desktop device state. OpenClaw owns a follow-up after admission while the app keeps only its temporary queue view.
- VS Code owns its persistent browser-editor state in the shared workspace home.
Validation record
The release candidate passed the repository's non-mutating validation gate:
- public repository boundary checks;
- TypeScript type checks for the console, control plane, MCP, and desktop;
- console, control-plane, MCP, desktop, web, and workspace runtime tests;
- 111 desktop tests, including Files path copying, Alshival activity projection, reconnect-safe transcript scrolling, active-run steering, FIFO follow-up admission and removal, live-node pop-out/pop-in continuity, external browser-close recovery, dock recovery, and popup-blocker handling;
- production builds for all first-party web applications;
- Bash syntax checks and deployment CLI tests; and
- Compose configuration validation against the public example environment.
The rebuilt workspace image also passed live health and static-asset smoke checks, including confirmation that the deployed desktop bundle contains the pop-out implementation. Final visual automation was unavailable because no controllable browser session was connected; the behavior remains covered by cross-document component tests.
Upgrade procedure
- Run
make validatefrom the repository root. - Use the documented workspace update command to create a pre-update backup, retain the current image for rollback, rebuild, and recreate the workspace.
- Wait for workspace health to become ready.
- Reload the desktop so the content-hashed
v0.2.0assets replace the previous cached bundle. - Confirm Terminal launch, Team session discovery, VS Code load, and one app pop-out/pop-in cycle.
Workspace recreation ends running terminal processes. Persistent files, application preferences, extensions, and other volume-backed state remain.
Rollback
The supported workspace update flow tags the prior workspace image before replacement and creates a recovery backup. If rollback is required, restore the retained image through the existing workspace update procedure, then verify workspace health. Restore the recovery set only if persistent state was changed after deployment and an ordinary image rollback is insufficient.
Known limits
- Collaborative Terminal shares a server-side PTY and explicit controller ownership; it is not a separate shell per participant.
- VS Code shares files, settings, and extensions but does not add simultaneous cursor or conflict-free collaborative editing by itself.
- Browser popup policies vary. A user may need to allow pop-ups for the Neural Labs origin before detaching an app.