Skip to content

chore(release): 6.2.0#162

Merged
ndycode merged 1 commit into
mainfrom
release/v6.2.0
May 30, 2026
Merged

chore(release): 6.2.0#162
ndycode merged 1 commit into
mainfrom
release/v6.2.0

Conversation

@ndycode
Copy link
Copy Markdown
Owner

@ndycode ndycode commented May 30, 2026

Release v6.2.0 — bundles the two feature PRs (already squash-merged to main) plus review polish and the version bump.

Included (already on main)

This branch

  • Bump version to 6.2.0 in package.json, package-lock.json, .codex-plugin/plugin.json.
  • Sync stale .release-please-manifest.json (6.0.06.2.0).
  • Review polish (the fork PRs couldn't be edited, so applied here):
    • Correct inverted dedupe-direction comments in lib/tools/codex-limits.ts and test/index.test.ts (dedupe keeps the freshest/last occurrence, not the first).
    • The fix: preserve workspace-specific usage quotas + harden test isolation #161 marker-recovery test now genuinely exercises the deduped-out-active path (activeIndex → earlier occurrence) instead of a direct hit.
    • Add explicit maskEmail: false coverage for formatPromptStatusText.

Validation

  • Local on the merged tree: typecheck ✓ · lint ✓ · build ✓ · npm test2398 passed / 1 skipped (85 files). CI re-gates here.

Notes

  • CHANGELOG.md intentionally not touched: its committed blob is CRLF while the source tree is LF, so any edit renders as a whole-file line-ending diff. Release notes live on the GitHub Release instead (consistent with recent manual releases). Happy to do a separate CRLF→LF normalization PR if wanted.

Squash-merge to cut the release; tag v6.2.0 + GitHub release follow.

Summary by CodeRabbit

  • Chores

    • Version bumped to 6.2.0 across package manifests.
    • Updated documentation for workspace deduplication behavior clarification.
  • Tests

    • Enhanced test coverage for workspace deduplication scenarios.
    • Added test case for email masking behavior in status output.

note: greptile review for oc-chatgpt-multi-auth. cite files like lib/foo.ts:123. confirm regression tests + windows concurrency/token redaction coverage.

Greptile Summary

this is a release-packaging pr for v6.2.0, bundling two already-merged features (opt-in tui email masking, workspace-aware quota dedupe) with version bumps and review polish applied here since the fork prs couldn't be edited.

  • bumps version to 6.2.0 across package.json, package-lock.json, .codex-plugin/plugin.json, and .release-please-manifest.json; corrects an inverted dedupe-direction comment in lib/tools/codex-limits.ts (keeps last/freshest occurrence, not first) matching the actual Map-overwrite logic in deduplicateUsageAccountIndices
  • fixes a pre-existing test flaw in test/index.test.ts: activeIndex was set to 1 (the surviving deduplicated entry), which meant [active] matched via direct i === activeIndex rather than exercising the sharesActiveCredential recovery path; flipping to activeIndex = 0 now genuinely triggers the warn + workspace-identity recovery path
  • adds explicit maskEmail: false coverage in test/tui-status.test.ts for formatPromptStatusText; the test is valid though slightly redundant with the existing default-flag case

Confidence Score: 4/5

safe to merge — all changes are comment corrections, a test logic fix, and version bumps with no production code path changes

the only substantive change is the test fix flipping activeIndex from 1 to 0, which correctly exercises the workspace-identity recovery path that was silently bypassed before; the production comment correction in codex-limits.ts matches what codex-usage.ts actually does; no token handling, concurrency, or windows filesystem concerns introduced

test/tui-status.test.ts has a minor coverage gap for the maskEmail:false + accountLabel combination, but nothing blocking

Important Files Changed

Filename Overview
lib/tools/codex-limits.ts comment-only fix: corrects dedupe direction description from "first" to "last (freshest) occurrence"; no logic changes, matches actual implementation in codex-usage.ts
test/index.test.ts test fix: activeIndex/activeIndexByFamily flipped from 1→0 so the test now genuinely exercises the deduped-out-active recovery path (sharesActiveCredential) rather than a direct-hit; comment updated to match
test/tui-status.test.ts adds explicit maskEmail:false coverage; the new test is functionally redundant with the existing no-flag test (maskEmail defaults to false), but it's valid additional coverage for the explicit-false branch
package.json version bump 6.1.10 → 6.2.0; no other changes
.codex-plugin/plugin.json version bump 6.1.10 → 6.2.0; no other changes
.release-please-manifest.json synced stale 6.0.0 → 6.2.0

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    A[deduplicateUsageAccountIndices] --> B[uniqueIndices = last occurrence per workspace key]
    B --> C{activeIndex in uniqueIndices?}
    C -- yes --> D[i === activeIndex → direct match\nshow active marker]
    C -- no --> E[logWarn: deduped out]
    E --> F{sharesActiveCredential?\naccountUsageKey === activeUsageKey}
    F -- yes --> G[displayIndex = activeIndex\nrecover active marker onto surviving entry]
    F -- no --> H[no active marker on this entry]
    G --> I[fetch quota with account at i\nlabel from account at displayIndex]
    D --> I
    H --> I
    I --> J[render output]
Loading

Fix All in Codex

Prompt To Fix All With AI
Fix the following 1 code review issue. Work through them one at a time, proposing concise fixes.

---

### Issue 1 of 1
test/tui-status.test.ts:136-149
**new `maskEmail: false` test is a near-duplicate of the existing default case**

the existing "adds account hint only when multiple accounts are configured" test (line 72–83) passes the same `accountEmail` + `accountCount: 3` inputs without any `maskEmail` flag, which already hits the `maskEmail = false` default in `formatAccountHint`. the new test only adds explicit-false signal, which is fine, but there's still no vitest coverage for `maskEmail: false` + `accountLabel` (the label-path is only tested with `maskEmail: true` at line 122–133). a single extra assertion in either this test or the existing masking test would close that gap.

Reviews (1): Last reviewed commit: "chore(release): 6.2.0" | Re-trigger Greptile

Cut 6.2.0 (minor): TUI email masking (#160) and workspace-aware usage quota dedupe + test isolation hardening (#161).

- Bump version to 6.2.0 (package.json, package-lock.json, .codex-plugin/plugin.json)
- Sync stale .release-please-manifest.json 6.0.0 -> 6.2.0
- Review polish: correct inverted dedupe-direction comments (lib/tools/codex-limits.ts, test/index.test.ts); the #161 recovery test now exercises the deduped-out-active path; add explicit maskEmail:false coverage for formatPromptStatusText
@chatgpt-codex-connector
Copy link
Copy Markdown

Codex usage limits have been reached for code reviews. Please check with the admins of this repo to increase the limits by adding credits.
Credits must be used to enable repository wide code reviews.

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented May 30, 2026

📝 Walkthrough

Walkthrough

Version 6.2.0 release bumps version strings across plugin manifest, package.json, and release-please manifest. Deduplication behavior documentation in codex-limits tooling is clarified with expanded comments, and corresponding test setup and expectations in the index test are updated. A new test for email masking in prompt status output is added.

Changes

Version 6.2.0 Release

Layer / File(s) Summary
Version Release Bump
.codex-plugin/plugin.json, .release-please-manifest.json, package.json
Version updated from 6.1.10 to 6.2.0 across all manifests and package configuration.
Deduplication Behavior Clarification
lib/tools/codex-limits.ts, test/index.test.ts
Comment in createCodexLimitsTool expanded to clarify deduplication scenario and identity-based [active] marker recovery. Test setup shifted active index to earlier occurrence (index 0) that will be deduped out, and test assertions updated to reflect marker recovery via identity matching.
Email Masking Test Coverage
test/tui-status.test.ts
New test verifies formatPromptStatusText preserves full accountEmail in prompt status output when maskEmail is set to false.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

  • ndycode/oc-codex-multi-auth#161: Workspace-identity deduplication and active-marker selection changes that correspond with the codex-limits comment and test setup updates in this PR.
  • ndycode/oc-codex-multi-auth#160: Email-masking behavior changes in lib/tui-status.ts that align with the new formatPromptStatusText test assertion added here.

Poem

🐰 Bumping up to 6.2.0,
Dedup logic now shines bright,
Active markers dance their way
Through identity-matched light,
Email masking tests ensure
The truth shows through when right!

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly and concisely summarizes the main purpose: a release version bump to 6.2.0, which aligns with the changeset's primary focus on version updates and release preparation.
Docstring Coverage ✅ Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Description check ✅ Passed PR description is comprehensive, detailed, and follows the template structure with all major sections properly documented.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch release/v6.2.0

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@ndycode ndycode merged commit 22e7823 into main May 30, 2026
2 checks passed
@ndycode ndycode deleted the release/v6.2.0 branch May 30, 2026 12:23
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.

1 participant