Marc-André Bombeck
8d10e5ab94
feat(measurements): resolve each reading's Apple Health write-back
...
A reading sent with a measurements:write token keeps its EXTERNAL source
and now points at the token that carried it (measurements.ingest_token_id).
Every stored row answers a server-resolved appleHealthMirror: true for
WITHINGS, IMPORT and MANUAL, the token's choice for EXTERNAL, false
otherwise. The plain list accepts appleHealthMirror=true so a client can
page exactly those rows.
Migration 0476 adds the columns and links existing EXTERNAL readings only
where one measurement token provably sent them; 0477 builds the index
concurrently. Backups carry the link and a restore keeps it only for a
token the account still holds. A guard holds every EXTERNAL writer to
setting the link.
2026-10-23 19:27:52 +02:00
..
2026-10-23 00:28:38 +02:00
2026-10-22 08:02:14 +02:00
2026-10-22 06:50:58 +02:00
2026-10-22 06:50:58 +02:00
2026-10-22 06:50:58 +02:00
2026-10-22 08:02:14 +02:00
2026-10-23 00:28:38 +02:00
2026-10-22 08:02:14 +02:00
2026-10-22 07:46:02 +02:00
2026-10-22 08:02:14 +02:00
2026-10-23 00:28:38 +02:00
2026-10-20 16:52:08 +02:00
2026-09-26 01:49:02 +02:00
2026-10-22 07:46:02 +02:00
2026-10-22 07:46:02 +02:00
2026-09-25 02:05:19 +02:00
2026-10-04 15:56:55 +02:00
2026-10-22 07:46:02 +02:00
2026-10-16 01:20:53 +02:00
2026-10-22 08:02:14 +02:00
2026-09-26 20:18:55 +02:00
2026-10-22 08:02:14 +02:00
2026-10-23 00:28:38 +02:00
2026-10-22 07:46:02 +02:00
2026-10-22 08:02:14 +02:00
2026-10-23 00:28:38 +02:00
2026-10-22 08:02:14 +02:00
2026-10-22 07:46:02 +02:00
2026-10-22 08:02:14 +02:00
2026-10-18 13:10:19 +02:00
2026-10-22 08:02:14 +02:00
2026-10-23 00:28:38 +02:00
2026-10-22 07:46:02 +02:00
2026-10-22 18:59:07 +02:00
2026-10-23 00:28:38 +02:00
2026-10-22 21:15:38 +02:00
2026-10-18 13:10:19 +02:00
2026-09-05 17:06:34 +02:00
2026-10-22 08:02:14 +02:00
2026-10-23 00:28:38 +02:00
2026-10-22 19:57:47 +02:00
2026-10-23 00:28:38 +02:00
2026-10-22 08:02:14 +02:00
2026-10-23 00:28:38 +02:00
2026-10-22 19:57:47 +02:00
2026-10-23 00:28:38 +02:00
2026-10-21 16:25:25 +02:00
2026-10-22 08:02:14 +02:00
2026-10-08 13:03:37 +02:00
2026-10-23 19:27:52 +02:00
2026-10-23 19:27:52 +02:00
2026-10-23 19:27:52 +02:00
2026-10-23 19:27:52 +02:00
2026-09-25 08:53:38 +02:00
2026-10-22 19:57:47 +02:00
2026-10-23 00:28:38 +02:00
2026-10-22 19:57:47 +02:00
2026-10-22 19:57:47 +02:00
2026-10-23 00:28:38 +02:00
2026-10-22 19:57:47 +02:00
2026-10-22 06:59:54 +02:00
2026-10-22 19:57:47 +02:00
2026-10-23 00:28:38 +02:00
2026-10-22 08:02:14 +02:00
2026-09-10 11:03:56 +02:00
2026-07-22 04:14:15 +02:00
2026-09-25 02:05:19 +02:00
2026-10-22 08:02:14 +02:00
2026-10-23 00:28:38 +02:00
2026-10-22 18:59:07 +02:00
2026-10-22 08:02:14 +02:00
2026-10-23 00:28:38 +02:00
2026-10-22 08:02:14 +02:00
2026-10-23 00:28:38 +02:00
2026-09-25 02:05:19 +02:00
2026-10-22 07:46:02 +02:00
2026-10-22 07:46:02 +02:00
2026-09-27 11:24:41 +02:00
2026-10-09 12:02:25 +02:00
2026-10-22 07:46:02 +02:00
2026-10-15 23:57:27 +02:00
2026-10-04 10:19:31 +02:00
2026-10-23 08:14:15 +02:00
2026-10-23 08:14:15 +02:00
2026-10-04 18:23:14 +02:00
2026-09-30 22:51:02 +02:00
2026-10-18 13:10:19 +02:00
2026-10-18 13:10:19 +02:00
2026-10-22 08:02:14 +02:00
2026-10-03 21:13:45 +02:00
2026-09-26 19:22:03 +02:00
2026-09-03 02:08:09 +02:00
2026-10-22 08:02:14 +02:00
2026-10-23 00:28:38 +02:00
2026-10-22 08:02:14 +02:00
2026-10-23 00:28:38 +02:00
2026-10-22 08:02:14 +02:00
2026-10-23 00:28:38 +02:00