mirror of
https://github.com/MBombeck/HealthLog.git
synced 2026-11-11 13:52:20 +00:00
fix(withings): keep the sync inside the account's API plan
Withings split its public API into plans on 2026-10-12. A request naming one meastype outside the free plan is refused whole with status 277, so every measure sync stopped importing anything, and the 200..299 reauth range parked the connection at error_reauth. The measure, sleep-summary and ECG legs now drop the documented advanced types on a 277, split the rest until the refused keys are isolated (bounded), remember the refusal per connection and re-probe weekly. 277 is classified persistent and never enters the ledger; connections parked over it are lifted by the fallback tick, and the held watermark lets the next run read the whole gap.
This commit is contained in:
1 parent
bc7f3bf209
commit
39b0cabb43
12 files changed
+722
-13
No files matched your search
@@ -190,6 +190,9 @@ export const GET = apiHandler(async (request: NextRequest) => {
|
||||
scope: WITHINGS_OAUTH_SCOPE,
|
||||
webhookSubscriptionState: Prisma.DbNull,
|
||||
webhookSubscriptionRetryAt: subscriptionRetryAt,
|
||||
// A reconnect may come with another developer app (another plan), so
|
||||
// what the old grant's plan refused is asked for again.
|
||||
apiPlanState: Prisma.DbNull,
|
||||
},
|
||||
create: {
|
||||
userId: user.id,
|
||||
|
||||
Reference in new issue
Block a user