Conversation
|
Understand this PR’s impact Explore downstream dependencies and potential security impact with 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 (1)
Included review availability: Your plan provides up to 10 included reviews per hour; 0 remain after this review. 📝 WalkthroughWalkthrough
ChangesEmail sanitization
Priority: ⬇️ Low Estimated code review effort: 2 (Simple) | ~10 minutes Change: Bug fix Suggested reviewers: 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches🧪 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 |
|
✅ Deterministic PR hygiene checks passed. |
✅ READY
Hygiene✅ Deterministic PR hygiene checks passed. |
리뷰 · 우선순위 18 / 80이 PR은 이슈 번역문을 다듬는 예전 정규식은 골뱅이( 새 정규식은 골뱅이를 먼저 찾습니다. 바로 앞 한 글자가 이메일 이름에 쓰이는 글자이고, 뒤에 점이 있는 도메인이 있을 때만 그 골뱅이를 잠깐 숨깁니다. 숨기는 이유는 예전과 같습니다. 라인 라인 메인테이너의 판단이 필요한 지점 테스트의 1초 제한을 남길지입니다. 고친 코드는 6만 글자를 아주 빨리 처리해서, 평소에는 1초를 넘기기 어렵습니다. 테스트를 돌리는 컴퓨터가 다른 일로 아주 느려졌을 때만 시간 비교가 실패할 수 있습니다. 그 실패를 피하려면 시간은 재지 않고 내용이 그대로인지만 보면 됩니다. 그러면 "느리지 않다"는 증거는 약해집니다. 너의 추천 합쳐도 됩니다. 베이스는 이 댓글은 grok-bot이 작성했습니다 |
|
Review feedback applied on |
…#5509) * chore(dev): retire automatic pre-push validation (#5500) Carry #5500 and align both draft enforcement prompts with scoped validation. Clarify that inherited Git override isolation belongs to the fixture harness. Co-authored-by: JUN <243035832+lidge-jun@users.noreply.github.com> * ci: root macOS discovery and diagnose owned process waits (#5483) Carry the rooted sharded suite and read-only stall observer without changing control-lane batching, suite budgets, or failure propagation. Co-authored-by: luvs01 <27862058+luvs01@users.noreply.github.com> * test: isolate Windows runtime discovery and reservation fixtures (#5484) Carry #5484 while avoiding the unnecessary parent LOCALAPPDATA mutation. Preserve real SQLite contention, atomic publication, reservation assertions, and existing deadlines. Co-authored-by: luvs01 <27862058+luvs01@users.noreply.github.com> * fix(ci): bound translation email scanning (#5454) Carry the at-sign-anchored sanitizer scan, explanatory rationale, and long-token regression without changing mention-defusing semantics. Co-authored-by: luvs01 <27862058+luvs01@users.noreply.github.com> * fix(ci): redact diagnostic paths and align localized command lists Capture and redact sample output before bounded emission, retain diagnostic child ownership and regression fixtures, and add the missing test:changed command to six locale inventories. Local runtime validation remains NOT RUN by owner instruction. * fix(ci): preserve legacy checklist bodies with durable re-attestation Require author clear-and-retick saves bound to real head/base and persisted server-time checkpoints. Preserve pending state across events, invalidate stale evidence, and refresh live PR and saved proof before readiness. Keep body writes out of migration handling and cover mutation failures and sequential races. Local runtime validation: NOT RUN by owner instruction. Independent static review passed; hosted verification and explicit maintainer security review remain pending. * fix(ci): require saved attestation evidence before readiness promotion The pre-ready readback compared the saved gate comment with the run's expected state, but the gate mutated the listed comment object in place, so a readback that shared it observed this run's own write. Replace the object instead and require the saved state to be a finalized attestation of the live head, base and body before any ready side effect. A wording-only save that keeps its ticks now gets a specific action, so the rejected shortcut is acknowledged in the gate comment instead of being skipped as a byte-identical update. Record the readback as a reviewed read, and move the self-contained exhaustive-deps suppression block byte for byte into a sibling file to keep ci-workflows.test.ts under its size cap. Local runtime validation: NOT RUN by owner instruction; hosted CI verifies. --------- Co-authored-by: JUN <243035832+lidge-jun@users.noreply.github.com> Co-authored-by: luvs01 <27862058+luvs01@users.noreply.github.com>
Motivation
Description
sanitizeTranslationBodywith a pattern that begins at the literal@(scan from each at-sign) so email masking no longer scans every suffix of long tokens.^A->@) so punctuation-bearing local parts still pass through unchanged.sanitizeTranslationBodyhandles a 60,000-character non-email token in bounded time.Testing
bun test ./.github/scripts/issue-translation.test.cjs: 70 tests pass.Summary by CodeRabbit
Bug Fixes
Tests