Skip to content

Fix working-tree review crash on untracked directories#166

Merged
dkundel-openai merged 2 commits intomainfrom
codex/plugin-eisdir-error
Apr 7, 2026
Merged

Fix working-tree review crash on untracked directories#166
dkundel-openai merged 2 commits intomainfrom
codex/plugin-eisdir-error

Conversation

@dkundel-openai
Copy link
Copy Markdown
Collaborator

@dkundel-openai dkundel-openai commented Apr 7, 2026

Summary

  • Skip untracked directory entries when formatting working-tree review context.
  • Add regression coverage for nested untracked worktree directories.

Fixes #14

Testing

  • Not run (not requested)

@dkundel-openai dkundel-openai requested a review from a team April 7, 2026 03:26
@dkundel-openai dkundel-openai merged commit 594fd1e into main Apr 7, 2026
1 check passed
Crazytieguy added a commit to Crazytieguy/codex-plugin-cc that referenced this pull request Apr 15, 2026
Brings in auth-status-via-app-server (openai#177), session-scoped cancel
(openai#83,openai#84), older-CLI graceful fallback (openai#126), untracked-dir working
tree crash fix (openai#166), Windows SHELL handling (openai#178), the version
consistency checker, and related fixes.

Rejected from upstream: package rename back to @openai/*, version bump
to 1.0.3 (we are at 1.0.8), marketplace metadata.version field, the
$ARGUMENTS quoting fix in cancel/result/status slash commands (removed
in our fork), stop-review-gate test additions (feature removed), and
the README rewrite (ours is intentionally different).

Post-merge fixes:
- session-lifecycle-hook: use getCodexAvailability (lightweight) since
  the old getCodexLoginStatus was removed upstream.
- executePlanReviewRun: update orphaned ensureCodexReady call to
  ensureCodexAvailable (upstream renamed; our added code missed it).
- bump-version: drop metadata.version and plugins[codex].version
  targets since our marketplace.json omits them.
- package-lock.json: bump to 1.0.8.
- .claude/worktrees/.gitignore: ignore generated worktree contents.
- getCodexAuthStatus: on connect failure with a stale saved broker
  endpoint, clear the broker state and retry with disableBroker so a
  dead socket does not masquerade as a failed auth.
- runCommand: on Windows only honor $SHELL if it looks like a native
  drive-letter path; Git Bash / MSYS set SHELL to /usr/bin/bash which
  spawnSync cannot resolve.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
tzedekr pushed a commit to tzedekr/codex-plugin-cc that referenced this pull request Apr 21, 2026
Rebases fork onto upstream v1.0.4 and layers only the notification
pipeline deltas on top. Preserves all upstream v1.0.1-1.0.4 fixes
(openai#35, openai#83, openai#84, openai#126, openai#159, openai#166, openai#177, openai#179) which were lost in the
prior overlay.

Changes:
- scripts/lib/notify.mjs (new): writeCompletionMarker / readInbox /
  consumeMarkers writing to \$CLAUDE_PLUGIN_DATA/inbox/<sessionId>/
  <jobId>.json. Uses \${pid}.\${Date.now()} tmp suffix so concurrent
  writers racing on the same jobId can't clobber each other's tmp file.
- scripts/notify-hook.mjs (new): UserPromptSubmit hook that drains the
  current session's inbox and emits a <system-reminder> listing
  finished jobs.
- scripts/lib/tracked-jobs.mjs: writeCompletionMarker on runTrackedJob
  success and failure paths.
- scripts/codex-companion.mjs: worker exit-path safety handlers
  (process exit/SIGTERM/SIGINT/uncaughtException/unhandledRejection)
  and cancel-path marker in handleCancel.
- hooks/hooks.json: registers notify-hook.mjs on UserPromptSubmit.
- commands/prune.md (new): /codex:prune command.

The custom activity-watchdog/hard-timer block from the prior overlay
is not ported here — upstream v1.0.4 has its own completionTimer in
codex.mjs. If hangs recur in practice, that block can be re-applied
from backup-9c07229.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
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.

EISDIR crash in working-tree review when untracked directories exist

1 participant