Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #273 +/- ##
===========================================
Coverage 100.00% 100.00%
Complexity 310 310
===========================================
Files 46 46
Lines 1290 1297 +7
===========================================
+ Hits 1290 1297 +7 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
There was a problem hiding this comment.
Pull Request Overview
This PR addresses a signal race condition in workflow execution by adjusting how signals are processed relative to workflow logs. The key change ensures signals are processed up to the next log entry rather than the current one, preventing signals from being missed when they arrive between workflow steps.
Key Changes:
- Modified signal processing to use the next log entry's timestamp as the cutoff point instead of the current log entry
- Optimized database queries by fetching current and next log entries in a single query
- Added comprehensive test coverage for both early and late signal delivery scenarios
Reviewed Changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated 6 comments.
Show a summary per file
| File | Description |
|---|---|
| src/Workflow.php | Updated signal processing logic to use next log entry timestamp and optimized log queries to fetch both current and next entries together |
| tests/Feature/WorkflowTest.php | Added four test cases covering early/late signal delivery scenarios for two workflow types |
| tests/Fixtures/TestSignalExceptionWorkflow.php | New test fixture implementing a workflow that handles signals after activity exceptions |
| tests/Fixtures/TestSignalExceptionWorkflowLeader.php | New test fixture implementing a simpler workflow variant for signal exception testing |
| tests/Fixtures/TestSingleTryExceptionActivity.php | New test activity that throws exceptions on first try to simulate failure scenarios |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
No description provided.