Mirrors ActivitiesMissingDetails/CountActivitiesMissingDetails, but queries workout_id IS NOT NULL AND workout_raw_json IS NULL -- independent of whether details/splits were ever fetched, since workout_id is known at initial upsert time. This also fixes a latent gap: an activity whose details were fetched successfully but whose workout fetch failed in the same run previously had no way to ever be retried, since ActivitiesMissingDetails stops returning it the moment details_fetched_at/splits_fetched_at are set.
13 KiB
13 KiB