Repository navigation
fix(service): tolerate locale dates in Windows service wrappers (carry #6298) - #6391
Conversation
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
✅ Deterministic PR hygiene checks passed. |
|
Navigate logical layers of code changes, visualize relationships, and explore their blast radius. Important Review skippedReview was skipped as selected files did not have any reviewable changes. ⚙️ Run configurationConfiguration used: Repository: lidge-jun/opencodex/.coderabbit.yaml Review profile: ASSERTIVE Plan: Advanced Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository: lidge-jun/opencodex/.coderabbit.yaml Review profile: ASSERTIVE Plan: Advanced Run ID: 📒 Files selected for processing (4)
Included review availability: This review used your included allowance. Your plan provides up to 10 included reviews per hour; 7 remain after this review. 📝 WalkthroughWalkthroughThe Windows service wrapper now uses label-based checks for missing Bun and CLI executables and records the selected backup name before logging recovery. Windows tests cover locale dates and installation scenarios. Documentation describes the date-handling changes. ChangesWindows service wrapper
Priority: ➖ Normal Estimated code review effort: 2 (Simple) | ~12 minutes Change: Bug fix · Severity of issue fixed: Medium Merge Risk: ⚪ Minimal · up to The change makes the Windows service wrapper tolerate locale dates that contain parentheses, such as ko-KR and ja-JP, so it launches Bun as intended. No merge-blocking risk is visible. Existing installs only pick up the fix after running Security Architecture ReviewSecurity architecture risk: 🔵 Low · up to The locale fix preserves the service’s execution identity and normal recovery behavior. However, the new recovery log can interpret shell metacharacters in a backup directory name. Exploitation requires local backup-directory manipulation and an incomplete installation; no privilege escalation is established. Retained concerns
Security review detailsSecurity Blast Radius
Security Findings and Attack Paths
Trust Boundaries and Controls
Resilience and Maintainability Implications
Hardening Proposals
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
Full details: Docstring CoverageExplanation Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 1 functions across 2 files. (2 skipped: 2 unsupported.) ✨ Finishing Touches 💡 1📝 Generate docstrings 💡
🧪 Generate unit tests (beta)
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. Comment |
ab11937 to
4a2a475
Compare
|
Maintainer integration record (MAINTAINERS.md, dev-only)
|
Summary
Carries #6298 by @hulkbig onto current
dev. Closes #6290 and fixes the same defect reported in #5093.On Windows locales whose short date contains parentheses, such as ko-KR
2026-09-30(수)and ja-JP2026/09/19 (土), the generated service wrapperopencodex-service.cmdaborts before it launches Bun.cmd.exeexpands%DATE%while it parses a parenthesized block, before it evaluates theifcondition. The)in the date closes the block early, the rest becomes a syntax error, and the whole batch exits. This happens on every start, even when the guarded file exists. The scheduled task reportsLast Run Result: 0, so the proxy silently never runs.installation is incompleteandrestored previous installlog lines move out of parenthesized blocks into top-level:bun_missing,:cli_missingand:backup_restoredlabels. Exit code 3, the stay-out/restart contract, transactional-backup recovery and disabled delayed expansion are unchanged. Delayed expansion stays off, so!in paths still works.cmd.exeregression cases cover ordinary, Korean and Japanese date values across healthy startup, missing Bun or CLI, successful restore, an unusable backup, and the standalone shape. They run only onwin32.docs-sitelifecycle reference andstructure/ops/docs-and-release.mddescribe the rule and tell users to runocx service repairafter upgrading, because an already-installed wrapper is only regenerated by repair.The two contributor commits are replayed unchanged with their author.
Carried from #6298. Original author: @hulkbig.
Co-authored-by: Hulk happyhls@gmail.com
Verification
lane=allrun for the nine Windows shards that carry the new cases. The run will be linked here before merge.git cherry-pickof7d8a6745d5..cb230f1923ontodevde8afe2e86, with no conflicts.git diff --check,bun run structure:checkandbun run scripts/privacy-scan.tspass. Neither changed source or test file is in the file-size baseline.Checklist
Summary by CodeRabbit