Skip to content

fix(windows): hide stdio app-server console - #4

Draft
darvell-thenvoi wants to merge 6 commits into
thenvoi:jam-owned-stdio-latestfrom
darvell-thenvoi:fix/windows-stdio-no-console-thenvoi
Draft

fix(windows): hide stdio app-server console#4
darvell-thenvoi wants to merge 6 commits into
thenvoi:jam-owned-stdio-latestfrom
darvell-thenvoi:fix/windows-stdio-no-console-thenvoi

Conversation

@darvell-thenvoi

Copy link
Copy Markdown
Collaborator

Summary

  • apply CREATE_NO_WINDOW to SDK-owned stdio children on Windows
  • keep non-Windows process spawning unchanged
  • update the explicit WebSocket URL integration test for current loopback listener behavior

Why

Jam launches Codex app-server from a GUI-hosted daemon. Without this flag, the Windows cmd.exe shim opens a visible console window during runtime checks and owned sessions.

Validation

  • cargo fmt --all --check
  • cargo test -p codex-app-server-sdk --tests (59 passed)
  • RUSTC_WRAPPER= cargo xwin check --target x86_64-pc-windows-msvc -p codex-app-server-sdk

vlad-thenvoi and others added 6 commits July 20, 2026 10:40
Add an additive spawn API for embedders that need deterministic app-server ownership and a child working directory. The lifecycle handle closes stdin before waiting, forces termination on timeout, and exposes stderr for bounded diagnostics.\n\nCovered by graceful-EOF, cwd, and forced-termination unit tests; the existing spawn API is unchanged.
Replay the fork-only patch over upstream main every week, validate the workspace, and publish a stable pre-staged revision for tjam's freshness watcher. Document the fork boundary and upgrade/removal procedure.
Return the exact turn/start identifier from StreamedTurn so embedders can create stable, replay-safe observation keys without parsing raw notifications. This is an additive Rust library API; users continue to run the stock Codex executable.

Validated with formatting, workspace check, SDK unit tests, and a real stock-Codex stdio streamed-turn integration test.
Build the expected generated branch on every maintenance run and compare its tree to the current generated revision. This catches fork-patch changes even when upstream does not move while avoiding no-op weekly revision churn.

Also escape Markdown backticks in the workflow summary so the shell cannot interpret the branch name as command substitution. actionlint and git diff checks pass.
Apply CREATE_NO_WINDOW to SDK-owned stdio children so GUI hosts do not flash a command window. Update the explicit WebSocket URL test for current Codex loopback-only unauthenticated listeners.
@vlad-thenvoi
vlad-thenvoi force-pushed the jam-owned-stdio-latest branch from 27f1644 to 0755946 Compare August 4, 2026 19:22
@github-actions
github-actions Bot force-pushed the jam-owned-stdio-latest branch from 7f3ab9e to 5654050 Compare August 24, 2026 07:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants