-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Labels
bugSomething isn't workingSomething isn't working
Description
Problem
Data source failures are handled inconsistently in DataSourcePipeline:
- ipsw.me (line 228): Failures throw and halt entire sync
- AppleDB (line 269): Failures continue silently with warning
This creates unpredictable behavior and makes it unclear which sources are required vs optional.
Proposed Solution
- Document strategy: Define required vs optional data sources
- Consistent handling: Either all optional (best effort) or mark some as required
- Partial success reporting: Return information about which sources succeeded/failed
Example:
struct FetchResult {
let images: [RestoreImageRecord]
let xcodeVersions: [XcodeVersionRecord]
let failures: [DataSourceFailure]
}- Validate dependencies: Ensure
RecordInfo.isErrorproperty exists in MistKit (BushelCloudKitService.swift:106)
Impact
- Reliability: Predictable behavior for source failures
- Debugging: Clear indication of which sources failed
- User Experience: Better error messages
Files Affected
- Examples/Bushel/Sources/BushelImages/DataSources/DataSourcePipeline.swift:228, 269
- Examples/Bushel/Sources/BushelImages/CloudKit/BushelCloudKitService.swift:106
References
- PR update from writing blog post and examples MistKit#129 Review: update from writing blog post and examples MistKit#129 (comment)
- Section: Error Handling Gaps
- Related: Add comprehensive test suite for Bushel demo MistKit#136
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't working