Fix pear#147 lost-steer duplicate delivery drop#157
Conversation
|
Your free trial PR review limit of 300 PRs has been reached. Please upgrade your plan to continue using CodeAnt AI. |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (2)
📝 WalkthroughWalkthroughIntegration event bridge now tracks in-flight dedupe claims to allow retrying suppressed duplicate injections when the prior delivery result is unresolved or released. Injected confirmation handling supports configurable timeout via environment variable with proper timer cleanup. Tests verify replay behavior when injected delivery times out. ChangesInjected Delivery Timeout and Dedupe Retry
Estimated code review effort🎯 4 (Complex) | ⏱️ ~45 minutes Possibly related issues
Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 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 |
There was a problem hiding this comment.
Code Review
This pull request introduces a mechanism to track in-flight event delivery deduplication claims and handle timeouts when waiting for broker delivery confirmations. Instead of immediately dropping duplicate events, the bridge now waits for any in-flight claims to settle; if a claim is released (e.g., due to a timeout), the event is retried. Additionally, a configurable timeout environment variable has been added along with corresponding integration tests. There are no review comments to address.
Important
The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.
|
ℹ️ pr-reviewer: review only — no file changes were applied to the PR (nothing to commit after review). The notes below are advisory and were not pushed. No code changes were needed after review. I validated the PR diff against the current checkout and found no demonstrated breakage. Addressed comments
Validation run:
|
Summary
Repro Evidence
1780892351_382129and1780893336_601259were logged as received -> injecting -> skipped duplicate path, but never reachedslack-comms.Claim Lifecycle
claim-> provisional and tracked ininFlightDedupeClaims.delivery_injectedconfirmed -> commit claim and incrementeventsInjected.Tests
node --experimental-strip-types --no-warnings --test src/main/__tests__/integration-event-bridge.test.ts-> 63/63 passednpm test -- src/main/__tests__/integration-event-bridge.test.ts-> 94/94 passedgit diff --check -- src/main/integration-event-bridge.ts src/main/__tests__/integration-event-bridge.test.ts-> cleanNotes
npx tsc --noEmit --project tsconfig.node.jsonis currently blocked by existing repo-wide TypeScript baseline issues; pear-worker is verifying the clean-main baseline separately per project-lead.