feat(integrations): say where an imported Google Health history ends

The two status routes publish backfillEnded: each data type whose
backfill stopped short of the start of its history, with the instant it
reaches back to and whether the horizon or a walk that stopped moving
ended it. The integration card lists them in place of an import that
would otherwise read as still loading, in all seven locales.

Refs #1220
This commit is contained in:
Marc-André Bombeck committed 2026-10-19 17:25:57 +02:00
1 parent 72c259d85c
commit f6b09f07cd
15 files changed
+213

No files matched your search

+56
View File
@@ -77868,6 +77868,34 @@ components:
anyOf:
- $ref: "#/components/schemas/ConnectionHealth"
- type: "null"
backfillEnded:
type: array
items:
type: object
properties:
type:
type: string
description: The measurement type whose imported history ends here (e.g. `PULSE` for heart rate).
endsAt:
type: string
format: date-time
pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$
description: The oldest instant the imported history of this type reaches back to.
reason:
type: string
enum:
- horizon
- no_progress
description: "`horizon`: the backfill reads back a set number of years (`GOOGLE_HEALTH_BACKFILL_HORIZON_YEARS`, twenty
by default) and the history goes further. `no_progress`: Google kept returning pages that reached no
further back, so the import stopped there."
required:
- type
- endsAt
- reason
additionalProperties: false
description: Data types whose history backfill ended before the beginning of their history, with where and why. Empty
when every type was read to its start. Kept after the backfill completes; cleared on reconnect.
needsReauth:
deprecated: true
description: "Deprecated: removed in v1.44, read `health`. The stored refresh token was rejected with `invalid_grant` —
@@ -78590,6 +78618,34 @@ components:
type:
- boolean
- "null"
backfillEnded:
description: Google Health only. Data types whose history backfill ended before the beginning of their history, with
where and why.
type: array
items:
type: object
properties:
type:
type: string
description: The measurement type whose imported history ends here (e.g. `PULSE` for heart rate).
endsAt:
type: string
format: date-time
pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$
description: The oldest instant the imported history of this type reaches back to.
reason:
type: string
enum:
- horizon
- no_progress
description: "`horizon`: the backfill reads back a set number of years (`GOOGLE_HEALTH_BACKFILL_HORIZON_YEARS`, twenty
by default) and the history goes further. `no_progress`: Google kept returning pages that reached no
further back, so the import stopped there."
required:
- type
- endsAt
- reason
additionalProperties: false
scope:
description: Withings only.
type: