v0.3.0 Release Notes
v0.3.0 covers the changes from v0.2.1 through the v0.3.0 release branch. It turns the phone bridge into a much closer desktop-style Codex control surface while keeping the safety boundary explicit: the Codex app-server stays on localhost, and LAN exposure remains the bridge's job.
Release Links
- English release notes: https://sunwood-ai-labs.github.io/codex-remote-control-lab/guide/releases/v0.3.0
- Japanese release notes: https://sunwood-ai-labs.github.io/codex-remote-control-lab/ja/guide/releases/v0.3.0
- English walkthrough: https://sunwood-ai-labs.github.io/codex-remote-control-lab/guide/articles/v0.3.0-desktop-bridge
- Japanese walkthrough: https://sunwood-ai-labs.github.io/codex-remote-control-lab/ja/guide/articles/v0.3.0-desktop-bridge
Highlights
- The browser UI is now generated from
src/ui/Shell.jsxwithnpm run build:ui, giving the project a maintainable React source for the Codex-like shell instead of hand-editing the generated HTML. - The bridge UI now has a desktop-style left thread rail, central conversation, bottom composer, and right panel with artifacts, workspace files, and review tabs.
- The left and right panels can be resized, and the mobile drawer/right-panel states now carry explicit accessibility attributes and focus handling.
- Chat can show review digest cards for the current working tree or latest commit, including changed files, diff stats, and quick artifact-open actions.
- The bridge can inspect workspace entries through
/api/workspaceand review summaries through/api/reviewwhile filtering local-only or sensitive paths. - Workspace, review, and file-open paths now follow the configured
CODEX_WORKDIR, including files with spaces in their names.
Bridge And History Handling
scripts/thread-read.jsadds a reusable thread snapshot helper that first serves live in-memory bridge history, then falls back tothread/read, and finally resumes a thread when the app-server requires it.- Active or starting bridge threads are detected before polling the app-server, avoiding noisy failures while a turn is still connecting or running.
- History sync remains scoped to bridge-managed thread discovery; it helps after reopening or refreshing a thread, but it does not claim to inject live updates into an already-open normal Codex Desktop conversation view.
- Review summary collection now uses async filesystem and Git subprocess work so workspace/review endpoints do not block the bridge event loop while scanning.
Debug And Operator Safety
.env.examplenow gives operators a public-safe template for repeatable local settings.PHONE_DEBUG_NO_TOKEN=1enables tokenless localhost-only UI debugging and binds the bridge to127.0.0.1.PHONE_DEBUG_BIND=lanmust be added explicitly before tokenless debug mode binds to0.0.0.0for a trusted private LAN.- Debug-no-token mode skips startup notifications so tokenless URLs are not pushed into notification channels by accident.
- README, security docs, and phone bridge guides now document the difference between token-protected LAN use, localhost-only debug mode, and intentional tokenless LAN debugging.
UI, Themes, And Evidence
- The simple, cyberpunk, and botanical themes were retuned around the desktop-style shell.
- The cyberpunk theme now uses green terminal/code-rain treatment, and the new Stigmata theme adds a high-contrast image-backed visual mode.
- README screenshots and docs assets were refreshed to include the four-theme comparison and the updated mobile controls.
npm run checknow verifies thatpublic/index.htmlis in sync withsrc/ui/Shell.jsxbefore running syntax checks.
Contributors
- @Sunwood-ai-labs
- @AgentGymLeader / kim-pomsora-com
Validation
npm testnpm run checknpm run docs:buildnpm run screenshots:readmegit diff --checkxmllint --noout docs/public/release-header-v0.3.0.svg
Read the companion walkthrough: v0.3.0 Desktop Bridge Walkthrough.