Commit Graph
6301 Commits
Author SHA1 Message Date
Marc-André Bombeck bc94223423 style(insights): run prettier on the metric stat strip
The formatter joins one JSX line that was left wrapped. No behaviour change.
It is the only thing standing between this branch and a green gate: typecheck,
tests, e2e, integration and both image builds already pass, and `format:check`
fails on this file alone.
2026-07-30 10:33:24 +02:00
Marc-André Bombeck c83254032e fix(google-health): map badminton workouts 2026-07-29 22:24:04 +02:00
Marc-André Bombeck 0c7b958b1b fix(workouts): collapse repeated same-source sessions 2026-07-29 21:30:52 +02:00
Marc-André Bombeck 90b1a4eaee fix(insights): improve narrative contrast and spacing 2026-07-29 21:28:29 +02:00
Marc-André Bombeck ab450bbfd1 fix(dashboard): keep hero headline when score lead is removed 2026-07-29 21:20:16 +02:00
Marc-André Bombeck e1c351e2b7 docs: polish release notes and remove planning artifacts 2026-07-29 19:19:18 +02:00
Marc-André Bombeck 9e85eb13a1 Merge pull request #665 from MBombeck/release/v1.34.1
v1.34.1 Security and reliability release
v1.34.1
2026-07-29 17:54:14 +02:00
Marc-André Bombeck 7c79b1a472 ci: acknowledge intentional release scanner exports 2026-07-29 17:39:42 +02:00
Marc-André Bombeck b1e20f59dc release: prepare v1.34.1 2026-07-29 17:31:31 +02:00
Marc-André Bombeck bdca4f5724 fix(dashboard): compact score-only hero 2026-07-29 17:05:53 +02:00
Marc-André Bombeck 8a19699a59 docs(security): record v1.34.1 dependency audit 2026-07-29 16:51:05 +02:00
Marc-André Bombeck 1682c3b54d fix(web): render public pages under nonce CSP 2026-07-29 16:46:19 +02:00
Marc-André Bombeck aaa51fb494 docs: capture v1.34.2 dependency remediation 2026-07-29 16:45:39 +02:00
Marc-André Bombeck ee2c93a67b test(medications): assert bounded replay details 2026-07-29 16:43:22 +02:00
Marc-André Bombeck 92218ccc00 test(dashboard): isolate arrival reaction browser coverage 2026-07-29 16:34:58 +02:00
Marc-André Bombeck f54555d187 fix(build): stabilize release bundle gates 2026-07-29 16:19:30 +02:00
Marc-André Bombeck 271f0ed28a fix(medications): make import replay results honest 2026-07-29 16:11:45 +02:00
Marc-André Bombeck 5b695f43ea fix(analytics): restore device-priority sleep selection 2026-07-29 16:08:41 +02:00
Marc-André Bombeck fb02cf89b1 fix(jobs): reconcile durable fact inventory 2026-07-29 15:59:27 +02:00
Marc-André Bombeck 75aa850eae style: satisfy v1.34.1 format gate 2026-07-29 15:59:12 +02:00
Marc-André Bombeck b0a94b3423 fix(web): stabilize document and example downloads 2026-07-29 15:57:20 +02:00
Marc-André Bombeck fb9ae2ac61 fix(coach): keep stateless turns grounded 2026-07-29 15:56:19 +02:00
Marc-André Bombeck 9354c649fe fix(integrations): surface Google sync progress and canonical workouts 2026-07-29 15:55:37 +02:00
Marc-André Bombeck b9879e8829 fix(nightscout): pin approved private origins 2026-07-29 15:54:01 +02:00
Marc-André Bombeck 8db21ab718 fix(jobs): persist bounded success outcomes 2026-07-29 15:50:42 +02:00
Marc-André Bombeck 7acc711d9e test(01-24): record blocked merged release gate 2026-07-29 15:43:31 +02:00
Marc-André Bombeck 8b3b2a388e docs(01-24): record merged re-audit block 2026-07-29 15:26:59 +02:00
Marc-André Bombeck 8a3c3d096f docs(01-23): complete locale reconciliation plan 2026-07-29 15:13:04 +02:00
Marc-André Bombeck b41b32d472 feat(i18n): complete v1.34.1 locale reconciliation 2026-07-29 15:11:40 +02:00
Marc-André Bombeck 163aa73e01 feat(i18n): reconcile English German and Spanish copy 2026-07-29 15:08:50 +02:00
Marc-André Bombeck 67eeefd584 fix(i18n): translate final security and import states 2026-07-29 15:07:35 +02:00
Marc-André Bombeck b6dfe62c9d test(i18n): inventory v1.34.1 locale contracts 2026-07-29 15:07:05 +02:00
Marc-André Bombeck d34d781d78 docs(01-22): record merged green outcome gate 2026-07-29 15:05:38 +02:00
Marc-André Bombeck 1dcadcb0f0 docs(01-21): complete Google sync fairness plan
- record atomic task commits and verification evidence
- retain GH-01 and GH-06 as live-account evidence gates
2026-07-29 15:04:53 +02:00
Marc-André Bombeck 5bc213c5b8 test(01-21): type guarded progress mock calls
- declare the updateMany mock argument tuple
- assert the guarded write exists before inspection
2026-07-29 15:04:08 +02:00
Marc-André Bombeck ba6d06be3b feat(01-21): expose Google sync terminal status
- return redacted per-resource outcomes from manual sync
- poll owner-scoped progress and invalidate committed workout views
2026-07-29 15:01:13 +02:00
Marc-André Bombeck f3008c9ee0 docs(01-26): complete workout pulse plan 2026-07-29 15:00:38 +02:00
Marc-André Bombeck 104a058096 style(workouts): format pulse enrichment 2026-07-29 14:58:46 +02:00
Marc-André Bombeck 5ec1a3836f feat(01-21): add fair Google sync outcomes
- finish workout and low-cost resources before dense metrics
- report bounded terminal outcomes and invalidate workout caches
2026-07-29 14:58:40 +02:00
Marc-André Bombeck f6555d471b fix(workouts): show aggregate pulse in lists 2026-07-29 14:58:25 +02:00
Marc-André Bombeck d2f6bf33eb fix(workouts): sanitize WHOOP zone enrichment 2026-07-29 14:58:24 +02:00
Marc-André Bombeck 89fefce7ac test(workouts): separate pulse aggregates from curves 2026-07-29 14:57:42 +02:00
Marc-André Bombeck 43cce08012 fix(workouts): share enriched canonical detail data 2026-07-29 14:56:59 +02:00
Marc-André Bombeck ed63a3bf32 test(workouts): pin enriched list and detail envelopes 2026-07-29 14:56:21 +02:00
Marc-André Bombeck bcef9cf51d docs(01-22): complete truthful cohort outcomes plan
- summarize bounded outcome facts and provider verdict folding
- record adjacent Google core verification dependency
2026-07-29 14:55:43 +02:00
Marc-André Bombeck 635e9b64c5 fix(workouts): enrich canonical WHOOP aggregates 2026-07-29 14:55:11 +02:00
Marc-André Bombeck 1cb0f7dd6a test(workouts): pin WHOOP aggregate enrichment 2026-07-29 14:53:59 +02:00
Marc-André Bombeck c3ffc43335 refactor(01-22): reuse Google cohort concurrency limit
- preserve the shared Google Health poll fan-out width
2026-07-29 14:53:22 +02:00
Marc-André Bombeck 6a3861122c feat(01-22): publish truthful cohort outcomes
- fold complete partial failed parked and skipped user verdicts
- bound serialized job facts to a privacy-safe scalar allowlist
- preserve provider retry isolation and reminder queue completion
2026-07-29 14:50:30 +02:00
Marc-André Bombeck a4f00f16f3 docs(01-19): complete Apple Health ECG import plan
- record bounded encrypted import behavior and verification results
- document the counter edge-case deviation and concurrent typecheck issue
2026-07-29 14:49:51 +02:00