mirror of
https://github.com/MBombeck/HealthLog.git
synced 2026-11-15 06:52:04 +00:00
The live 400 on fetchSteps suppressed fetchDistance / fetchFloors / fetchActiveEnergy entirely: handleCollectionFetchError rethrew anything that was not a per-class 403, and the rethrow escaped the rollup loop in sync-activity, emptying the whole cumulative group after the first bad collection. - handleCollectionFetchError records the classified failure, warns with the per-collection detail, and returns instead of rethrowing; every call site already sits in a per-collection catch, so the sibling collections keep fetching. - A per-cycle hard-fail ledger (AsyncLocalStorage, mirroring the 403 soft-skip tracker) still fails the cycle: the run counts as a partial error, the watermark is not stamped, and the next tick refetches the window - a broken collection cannot silently advance past its gap. - The orchestrator's per-resource warning names the resource explicitly; fn.name minifies to a single letter in the production bundle (the live log read "google-health c failed"). - Tests pin the no-rethrow contract per classification and the activity loop reaching all four rollup types plus VO2 max after a steps failure.