Skip to content

fix(service): restore normal Windows scheduler priority - #3682

Merged
lidge-jun merged 3 commits into
devfrom
codex/c-lane-3638-d778
Sep 5, 2026
Merged

fix(service): restore normal Windows scheduler priority#3682
lidge-jun merged 3 commits into
devfrom
codex/c-lane-3638-d778

Conversation

@lidge-jun

@lidge-jun lidge-jun commented Sep 5, 2026

Copy link
Copy Markdown
Owner

Summary

Windows Task Scheduler gives the proxy background priority, which can starve health probes under CPU contention. Generate normal-priority tasks and let service repair migrate recognized legacy registrations with priority 7 or an omitted priority. Keep explicit normal/higher settings, ownership checks, and failed-replacement recovery intact.

Carries #3638 onto current dev; resolves #3634 after native service verification. The original two commits are retained with cherry-pick provenance.

Stack layer 1/5: Windows service priority. Base: dev. Child #3687 carries account persistence and targets this branch. Remaining OAuth layers follow above it; merge bottom-up.

Verification

  • Local tests, typechecks, and builds are not run, as explicitly requested by the maintainer.
  • macmini-cf, Bun 1.4.0, exact head f05d0f5f4673407deef4285b0b8137bba4e06af8: bun scripts/test.ts tests/service/service.test.ts — 203 pass, 0 fail. Source archive SHA256 verified before execution.
  • Independent source/ownership review at the same head: PASS, no blocking findings.
  • Cross-platform CI and the Windows service-lifecycle job must pass on the current PR head before merge; this PR stays draft while verification is pending.
  • Source review covers priority 7/omitted migration, priority 4/1 preservation, ownership checks, and failed-registration restart behavior.

Checklist

  • Scope stays focused and avoids unrelated cleanup.
  • Docs or release notes were updated when needed.
  • Security-sensitive changes were reviewed for secrets, auth, and unsafe defaults.

Co-authored-by: Clive Rosfield 64878945+S0RYUASUKA@users.noreply.github.com

@coderabbitai

coderabbitai Bot commented Sep 5, 2026

Copy link
Copy Markdown
Contributor

Important

Draft PR not reviewed

Draft PRs are not automatically reviewed by default.

  • Trigger a manual review

To automatically review draft PRs, update your CodeRabbit configuration:

reviews:
  auto_review:
    drafts: true

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.

@github-actions github-actions Bot added the bug Something isn't working label Sep 5, 2026
@github-actions

github-actions Bot commented Sep 5, 2026

Copy link
Copy Markdown
Contributor

Deterministic PR hygiene checks passed.

@lidge-jun

Copy link
Copy Markdown
Owner Author

리뷰 · 우선순위 70 / 80

이 PR은 Windows Task Scheduler에 등록하는 프록시 작업의 CPU 우선순위를 바꿉니다. 지금 dev HEAD 81871b3fasrc/service.ts buildWindowsTaskXml은 여전히 <Priority>7</Priority>(백그라운드)를 넣습니다. 우선순위 7은 CPU가 바쁠 때 헬스 프로브까지 굶길 수 있어서, 서비스는 “설치됨”인데 프로브만 실패하는 증상(#3634)으로 이어집니다. 이 변경은 새 XML을 우선순위 4(보통)로 만들고, repairService가 이미 건강한 등록이라도 Priority가 7이거나 아예 빠진(생략 시 기본 7) 레거시를 다시 등록하게 합니다. 명시적으로 4나 1을 넣어 둔 등록은 그대로 둡니다. 원본 #3638을 cherry-pick으로 옮긴 C 레인 1/5 베이스이고, 자식 #3687(계정 삭제 원자성)이 이 브랜치를 밟습니다. 아래→위 머지 전제와 맞습니다.

제품 코드 Diff는 작습니다. XML 기본값 한 줄, repair 조건에 priorityUpgradeNeeded 추가, 테스트에서 Priority 4 생성과 7/생략/4/1 마이그레이션 표. 다국어 lifecycle 문서에 마이그레이션 문장도 맞춰 두었습니다. 독립 원격에서 tests/service/service.test.ts 203 pass 기록이 있고, 소유권 검사·교체 실패 시 재시작 경로는 기존 계약을 유지한다고 본문에 적혀 있습니다. draft인 이유는 Cross-platform CI와 Windows service-lifecycle 잡이 아직 끝나지 않아서입니다. types.ts/config.ts 분할과는 무관하고, 2.43.0 main 승격 열차(#3678/af50c6d34)와도 겹치지 않는 dev 위 버그픽스입니다.

지금 dev가 최적화하는 축은 2.43.0 승격(#3678)과 그 위 통합 레인(A/B/C/D)입니다. 이 PR은 C 레인의 바닥이라, Windows에서 프록시가 “설치된 것처럼 보이지만 프로브만 죽는” 운영 사고를 막지 않으면 위층 계정/OAuth 작업을 올려도 현장 신호가 흐려집니다. Priority 숫자 하나지만 Task Scheduler XML·repair·문서·테스트가 한 계약으로 움직이는 점이 좋고, 원본 커밋 신원도 보존되어 있습니다.

라인 src/service.ts ~1929 - HEAD는 아직 Priority 7입니다. 이 PR이 4로 바꿉니다. 새 설치부터 보통 우선순위가 됩니다.

경로/심볼 repairService / priorityUpgradeNeeded - 등록이 healthy여도 Settings의 Priority가 7(또는 동등 판정)이면 재등록합니다. 생략된 Priority도 기본 7이라 업그레이드 대상에 넣은 설명이 맞습니다.

경로 테스트 repair migrates only the background scheduler priority - 7·생략만 reregister, 4·1은 start만. 사용자가 의도적으로 올린/보통 설정을 덮어쓰지 않습니다.

경로 문서 lifecycle(다국어) - 마이그레이션 동작을 운영자에게 알려 줍니다. 동작과 문서가 같이 움직입니다.

경로 스택 - C 레인 베이스입니다. 여기가 막히면 #3687/#3688도 못 올라갑니다. CI·Windows lifecycle 통과가 열차 전체의 게이트입니다.

경로 원본 #3638 - 아직 OPEN입니다. 이 carry가 dev에 안착한 뒤 landed-via-maintainer로 닫아야 합니다.

메인테이너의 판단이 필요한 지점

  • Priority 4를 전 사용자 기본으로 고정할지, 일부 환경은 7을 유지하는 옵트인을 둘지(현재 PR은 4 고정 + 명시 1/4 보존)
  • Windows service-lifecycle CI가 빨간 채로 ready 전환을 허용할지
  • 원본 #3638과 이슈 #3634를 이 PR 머지 직후 같은 규칙으로 닫을지

너의 추천
Windows CI·service-lifecycle이 초록이면 draft 해제 후 머지하세요. C 레인 바닥이라 먼저 넣는 게 맞습니다. 머지 후 #3638에 landed 코멘트·라벨을 남기고 #3634를 닫은 다음 #3687로 이어가면 됩니다.

이 댓글은 grok-bot이 작성했습니다

@lidge-jun

Copy link
Copy Markdown
Owner Author

Owner explicitly authorized admin merging this C-lane stack. Independent source/ownership review: PASS at f05d0f5. Remote focused verification: 203 pass / 0 fail. Exact-head Cross-platform CI 33978490397 and native Linux/macOS/Windows service lifecycle 33978490408 succeeded. The earlier hygiene/target checks passed; newer metadata-only reruns are queued. Admin merge uses the owner-authorized review bypass; no self-approval is claimed.

@lidge-jun
lidge-jun marked this pull request as ready for review September 5, 2026 16:55
@lidge-jun
lidge-jun requested a review from Ingwannu as a code owner September 5, 2026 16:55
@lidge-jun
lidge-jun merged commit 9b3955a into dev Sep 5, 2026
38 checks passed
@lidge-jun
lidge-jun deleted the codex/c-lane-3638-d778 branch September 5, 2026 16:55
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 5, 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-09-05T16:56:41.375939Z f05d0f5 Draft marked ready
ℹ️ 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

bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants