Updates from PR reviews and other minor fixes#953
Open
darinkrauss wants to merge 1 commit into
Open
Conversation
Contributor
darinkrauss
commented
May 19, 2026
- Updates from PR reviews and other minor fixes
- Update some work Failing errors to Failed as a retry will not resolve
- Update checks for Customerio configuration validity
- Update tests
- Updates from PR reviews and other minor fixes - Update some work Failing errors to Failed as a retry will not resolve - Update checks for Customerio configuration validity - Update tests
There was a problem hiding this comment.
Pull request overview
This PR applies a set of small, focused fixes across the work-processing framework and Oura/CustomerIO integrations, primarily clarifying failure semantics, tightening retry timing behavior, and improving configuration validation and test coverage.
Changes:
- Refines work processing behavior: propagates logger context fields consistently, adjusts exponential failing-retry timing (incl. absolute cap), and reclassifies certain deterministic failures from
Failing(retry) toFailed(no retry). - Improves integration correctness: adds additional Oura timestamp parsing support (no-timezone format) and enforces CustomerIO “enabled” checks for customer/segment APIs.
- Updates/expands tests and corrects minor test names/messages to match behavior.
Reviewed changes
Copilot reviewed 26 out of 26 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| work/service/coordinator.go | Small coordinator registration/startup guard tweak consistent with existing “already started” protection. |
| work/base/processor.go | Uses p.Context() to ensure log context fields are included in processing updates/results. |
| work/base/process_result.go | Fixes/adjusts exponential retry + jitter math and caps retry duration to a bounded maximum. |
| work/base/process_result_test.go | Adds/updates tests for new exponential retry duration limits and maximum handling. |
| oura/webhook/webhook_test.go | Fixes a test case description (“a data type”). |
| oura/user/work/setup/processor.go | Corrects error/log strings for periodic/personal work creation paths. |
| oura/user/work/setup/processor_test.go | Fixes test context naming to match the exercised work creation type. |
| oura/shopify/processor_test.go | Populates CustomerIO config keys in tests to satisfy enabled checks. |
| oura/oura.go | Renames time format constants and adds parsing support for timestamps without timezone. |
| oura/oura_test.go | Updates constant tests, improves descriptions, and adds coverage for Data.TimeMaximum / Datum.Time. |
| oura/jotform/processor_test.go | Populates CustomerIO config keys in tests to satisfy enabled checks. |
| oura/data/work/personal/processor.go | Converts certain deterministic errors from Failing to Failed. |
| oura/data/work/periodic/processor.go | Converts certain deterministic errors from Failing to Failed. |
| oura/data/work/historic/processor.go | Converts certain deterministic errors from Failing to Failed. |
| oura/data/work/historic/factory.go | Fixes error message wording (“hash time range”). |
| oura/data/work/event/processor.go | Converts certain deterministic errors from Failing to Failed. |
| oura/client/client_test.go | Updates test description to match behavior (unknown type returns input). |
| data/source/work/mixin.go | Converts metadata encode/decode failures from Failing to Failed. |
| data/source/work/mixin_test.go | Updates expectations and fixes “SetDataSource” naming typos in test descriptions. |
| data/service/service/standard.go | Creates Oura webhook subscribe singleton only when Oura client is configured. |
| data/raw/work/mixin.go | Converts metadata encode/decode failures from Failing to Failed; simplifies content fetch control flow. |
| data/raw/work/mixin_test.go | Updates expectations and aligns test descriptions with behavior/result types. |
| customerio/work/event/processor_test.go | Populates CustomerIO config keys in tests to satisfy enabled checks. |
| customerio/segment.go | Adds an explicit “enabled” guard before calling CustomerIO segment APIs. |
| customerio/customer.go | Adds an explicit “enabled” guard before calling CustomerIO customer APIs. |
| crypto/crypto_test.go | Bounds the randomness test loop and asserts both boolean outcomes are observed. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
toddkazakov
approved these changes
May 21, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.