Conversation
|
Important Draft PR not reviewedDraft PRs are not automatically reviewed by default.
To automatically review draft PRs, update your CodeRabbit configuration: reviews:
auto_review:
drafts: trueThanks 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 |
|
✅ Deterministic PR hygiene checks passed. |
리뷰 · 우선순위 52 / 80Claude가 인터넷으로 나갈 때는 이 PR은 지금 돌아가는 Claude 쪽은 이 목록을 넘기지 않습니다. 그래서 지금 프록시 동작은 그대로입니다. 인증서를 설치하지 않고, 계정이나 경로 설정도 바꾸지 않습니다. 바탕 브랜치는 라인 - 라인 - 같은 함수. 포트가 이미 쓰이면 돌려준 Promise가 실패합니다. 목록이 이상하면 함수가 그 자리에서 예외를 던집니다. 메인테이너의 판단이 필요한 지점
목록에 있는 이름도, 맞춰 보는 것은 글자입니다. 이 댓글을 쓸 때 PR은 초안이었고, CI의 테스트 잡은 아직 줄에 서 있었습니다. 너의 추천 빈 이름과 점만 있는 이름은 포트를 열기 전에 거절하세요. 목록 오류를 포트 오류처럼 Promise 실패로 바꿀지, 지금처럼 그 자리에서 던질지 하나로 정하세요. 피커에 목록을 붙이는 코드는 이 PR에 넣지 마세요. 다른 PR은 닫지 마세요. 초안은 빈 이름을 막은 뒤에 유지하면 됩니다. 이 댓글은 grok-bot이 작성했습니다 |
This batch leaves six non-GUI enhancements on the current `dev` base as one squashed commit per contributor PR. Idle Codex accounts can start a fresh five-hour window on a real request; the Windows tray gains Chinese text; CONNECT can enforce an exact destination allowlist and a shorter CA lifetime; an on-demand native queue helper gains cross-platform offline CI; Gemini video retains its agentic mode; and GJC model exports expose supported reasoning levels. | PR | Change | Author | | --- | --- | --- | | #5949 | Idle five-hour window activation | codingbo; Terry Tan credited for earlier overlapping work | | #5884 | Windows tray Chinese localization | Yum-wu | | #5934 | CONNECT destination allowlist and CA lifetime option | luvs01 | | #5829 | On-demand native queue helper and offline workflow | luvs01; Epinephrine | | #4663 | Gemini agentic video passthrough | Abhishek Sharma | | #5431 | GJC reasoning controls in model exports | 이재현 | Integration commit `116cc6c37c` documents GJC's exported effort controls in the English guide and all seven translated guides. Commit `b93e2524b5` updates the older GJC schema guard for those exported fields; commit `b900ce73c1` fixes the queue helper's help-probe watchdog and adds a timing regression. No file under `gui/` changed. **Left out:** #5893 was reverted in `5a96cade33` and remains open. Its macOS system-proxy exceptions (`*.local` and CIDR ranges) were copied into `NO_PROXY`, but Bun fetch does not honor those patterns; a populated lowercase `no_proxy` can also override the merged value. It needs translation or CIDR routing across transports and a proxy-contact regression before integration. Review the remaining security-sensitive diff at `src/codex/routing.ts` and `src/codex/routing/idle-window.ts` (account selection), `src/claude/intercept/connect-proxy.ts` and `local-ca.ts` (CONNECT policy and certificates), `src/adapters/google.ts` (video URI forwarding), and `.github/workflows/codex-queue-helpers.yml` plus `scripts/codex-queue.sh` and `.ps1` (workflow permissions and explicit message destination). The new workflow grants `contents: read`, pins checkout to a full SHA, disables credential persistence, and runs the Node test on Linux, macOS and Windows. Independent review of the revised head is pending before merge. Co-authored-by: codingbo <cnsdbo@163.com> Co-authored-by: Terry Tan <tmy1995hflc@gmail.com> Co-authored-by: Yum-wu <1172989563@qq.com> Co-authored-by: luvs01 <27862058+luvs01@users.noreply.github.com> Co-authored-by: Epinephrine <luvs01@hanmail.net> Co-authored-by: Abhishek Sharma <abhicse24@gmail.com> Co-authored-by: 이재현 <wingwogus@naver.com>
Problem and change
The shared CONNECT primitive supports both intercepted hosts and blind forwarding. A consumer that only needs a small set of destinations currently cannot express that restriction:
interceptHostsselects how a tunnel is handled, not whether its destination is permitted.Add optional
allowedTargetscontaining exacthost:portauthorities. The list is normalized and copied before listening. An empty list denies all destinations; a missing list preserves existing behavior. A disallowed request receives 403 before tunnel selection or dialing, while proxy authentication and loopback refusal remain in force. Malformed policies fail before binding a listener.Also let a scoped caller choose a shorter CA lifetime with
AuthorityOptions.validityDays(whole days from 1 to 3650). The existing 3650-day default and persisted-authority behavior remain unchanged. A temporary trial can now use a one-day authority through the shared implementation instead of copying or dynamically patching certificate-generation code.Existing Claude consumers do not enable this option and retain their current forwarding behavior. This is a reusable prerequisite for a narrowly scoped desktop integration, not an implementation or claim of Codex composer recovery. It installs no certificate, changes no account or routing setting, and adds no listener by itself.
Validation
bun test tests/claude-integration/claude-intercept-proxy.test.ts: 19 passed, 0 failed, 102 assertions, including real loopback sockets, existing TLS/forwarding/authentication behavior, exact destination restrictions, immutable startup policy, empty policy and malformed policy rejection.bun test tests/claude-integration/claude-intercept-local-ca.test.ts: 9 passed, 0 failed, 41 assertions, including one-day validity, unchanged default, malformed lifetimes, signature/leaf compatibility and existing persistence/lease behavior.node node_modules/typescript/bin/tsc --noEmit: passed (the equivalent compiler invoked by the repository typecheck script).scripts/privacy-scan.tsandscripts/structure-ssot.ts: passed.git diff --check: passed.Validation used Windows with Bun 1.4.2. Identical dependency lockfiles were checked before reusing a local dependency directory.
bun runwrappers encountered a dependency-bin remapping error, so the same compiler and validation entrypoints were invoked directly. An initial test process started before dependency linking failed onzod/v4before any tests ran; after fresh-process resolution was verified, the focused run above passed.The full/import-graph suite was not run for these two optional primitive parameters because another same-host run selected 1,284 test files and occupied the shared test lock until its 900-second limit. This PR remains draft; focused behavior is covered, but Linux/macOS execution and required exact-head CI are not claimed. Independent security review is required before integration.
Review readiness