Skip to content

fix(args): preserve equals signs in inline option values - #808

Open
sylvesterkaczmarek wants to merge 1 commit into
openai:mainfrom
sylvesterkaczmarek:fix/807-preserve-inline-equals
Open

sylvesterkaczmarek wants to merge 1 commit into
openai:mainfrom
sylvesterkaczmarek:fix/807-preserve-inline-equals

Conversation

@sylvesterkaczmarek

@sylvesterkaczmarek sylvesterkaczmarek commented Oct 9, 2026 •

Copy link
Copy Markdown

Summary

Fixes #807. Inline value flags such as --base=feature=x were parsed with split("=", 2), which discards everything after the second equals sign. Git ref names can legitimately contain =, so /codex:review --base=feature=x silently changed the intended base.

  • Split inline options at the first equals sign using indexOf and slice, retaining the entire value after it.
  • Preserve existing semantics for bare options, aliases, empty inline values, boolean flags, unknown flags, positional arguments, and -- passthrough.
  • Add nine focused Node regression tests for multiple =, values consisting entirely of =, empty values, aliases, booleans, missing values, raw-argument tokenization, and passthrough.

Verification

  • Before the fix, the relevant regression tests failed (reproduced truncation).
  • 100/100 tests passed after the fix (npm test, including 9 new tests).
  • node --check passed for both modified source and test files, and git diff --check passed.

No live review against an actual branch with an equals sign was needed; the parser is tested directly.

Maintenance validation on 7 November 2026

The complete standalone branch suite passed 100 tests, including inline values containing equals signs.

The four PRs merged without conflicts in a local checkout. All 109 tests passed, together with the version check and TypeScript build. The unchanged upstream checkout passed 91 tests and its build. Runtime tests used fake app-server fixtures and isolated test state, without live model requests or account credentials. Native Windows execution and a live Claude Code session were not tested. Hosted CI has not completed successfully for these fork heads; maintainer approval or reruns remain outstanding.

Validation used Python 3.12/3.14 and Node 26 on macOS arm64 as applicable. Earlier validation counts above are historical. Individual and combined counts overlap and should not be added.

@sylvesterkaczmarek
sylvesterkaczmarek requested a review from a team October 9, 2026 14:57
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 9, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-09T15:02:01.300604Z 321333a PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

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.

parseArgs cuts an inline --key=value at the second "="

1 participant