Commit Graph

13 Commits

Author SHA1 Message Date
Dominik Kundel
f17e7f8486
fix: respect SHELL on Windows for Git Bash (#178) 2026-04-07 19:56:34 -07:00
Dominik Kundel
594fd1e8da
Fix working-tree review crash on untracked directories (#166)
* fix: skip untracked directories in review context

* fix: skip broken untracked symlinks in reviews
2026-04-06 20:45:33 -07:00
VOIDXAI
8e403f9d4b
tests: reduce background task timing flakiness (#37)
Co-authored-by: VOIDXAI <VOIDXAI@users.noreply.github.com>
2026-03-31 13:04:24 -07:00
Dominik Kundel
6360899e1c
chore: bump plugin version to 1.0.2 (#74) 2026-03-31 12:59:31 -07:00
Dominik Kundel
65486f2878
ci: add pull request workflow for tests and build (#73) 2026-03-31 12:56:09 -07:00
Pranav
64dc174d83
Fix /codex:rescue AskUserQuestion contract (#43) 2026-03-31 12:44:30 -07:00
ZETA
a1266348d6
fix: make test suite portable across platforms (#56)
* fix: make test suite portable across platforms

Replace hardcoded macOS path with fileURLToPath for cross-platform
compatibility. Add .cmd wrapper creation and platform-aware PATH
separator in test fixtures so the fake codex binary is discoverable
on Windows. Add shell and windowsHide options to the test helper
run() function to match production behavior.

Test results on Windows improve from 12/64 pass to 59/64 pass.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* fix: skip shell for absolute-path commands to avoid Windows space-in-path breakage

When `process.execPath` resolves to a path with spaces (e.g.,
`C:\Program Files\nodejs\node.exe`), `shell: true` causes cmd.exe
to split the path at the space. Guard with `path.isAbsolute()` so
only bare command names (which need `.cmd` shim resolution) use the
shell.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-authored-by: Dominik Kundel <dkundel@openai.com>
2026-03-31 12:40:08 -07:00
ZETA
1a79ae57ec
fix: resolve Windows ENOENT when spawning codex app-server (#55)
* fix: add shell and windowsHide options for Windows spawn in app-server

On Windows, spawn("codex", ["app-server"]) fails with ENOENT because
Node.js cannot resolve .cmd shims without shell: true. This adds
platform-gated shell and windowsHide options to the app-server spawn
call, and uses terminateProcessTree for proper process tree cleanup
since shell: true wraps the child in cmd.exe.

Without terminateProcessTree, plain SIGTERM only kills cmd.exe and
leaves the actual codex node process orphaned — verified with 274+
zombie node.exe processes accumulating on Windows.

Fixes #32
Fixes #46

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* fix: guard terminateProcessTree against PID reuse after process exit

ChildProcess.killed only reflects whether .kill() was called by this
process — it stays false when the child exits on its own. On Windows,
where PIDs are recycled quickly, the 50 ms timer could fire after
cmd.exe has exited and its PID has been reassigned, causing taskkill
to terminate an unrelated process.

Add an exitCode === null check so the tree-kill path is skipped once
the child has already exited.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-31 12:39:32 -07:00
VOIDXAI
19642ad95f
tests: derive repo roots from test file locations (#34)
Co-authored-by: VOIDXAI <VOIDXAI@users.noreply.github.com>
2026-03-31 12:33:32 -07:00
Dominik Kundel
9cb4fe4099
Bump v1.0.1 (#22)
* chore: bump plugin version to 1.0.1

* chore: bump plugin metadata version to 1.0.1
2026-03-30 19:23:08 -07:00
Omid Rajabi
cf6f8515d8
fix: add shell: true on Windows so spawnSync can resolve .cmd shims (#13)
On Windows, Node.js `spawnSync` without `shell: true` uses
`CreateProcess`, which only resolves `.exe` files. npm installs global
tools (like `codex`) as `.cmd` shims, so `spawnSync("codex", ...)`
returns ENOENT even when codex is correctly installed and on PATH.

Adding `shell: process.platform === "win32"` routes through `cmd.exe`
on Windows, which properly resolves `.cmd`, `.bat`, and PATHEXT entries.
No behavior change on macOS/Linux since the condition evaluates to false.
2026-03-30 18:54:31 -07:00
Kyle Kelley
f4d65d9641
docs: update README with plugin reload and setup instructions (#2)
Added instructions for reloading plugins and setup command.
2026-03-30 11:45:15 -07:00
Dominik Kundel
c69527eb18
Initial commit
Co-authored-by: Codex <noreply@openai.com>
2026-03-30 09:42:33 -07:00