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