You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* Garmin Lap Workouts
* Update trainprogram.cpp
* Update dochartliveheart.js
* lap button
* fix max heart override
* charts UI fix
* margin settings
* mail from Maksim 19/05/2026
* fixing mail 21/5/2026
* QZ advanced workout report
from 24/5/2026
* HR zones tile and graph, disussion
24/5/2026
* mail 26/5/2026 first 3 points
* power curve
* ftp from garmin
* Update garminconnect.cpp
* 1/6/2026 mail
* Update Home.qml
* mail 5/6/2026
* Fix nested RepeatGroupDTO (e.g. 2x12 sprint) being silently dropped in Garmin workout XML
When a RepeatGroupDTO contained another RepeatGroupDTO as an inner step
(e.g. the outer 2× set wrapper around an inner 12× sprint block),
appendGarminStep() was called on the inner group. Because that step has
endCondition.conditionTypeKey="iterations" (not "time") and no targetType,
it produced an empty <row/> with no attributes, which loadXML silently
discarded — causing the entire sprint block to disappear from the plan.
Introduce appendGarminSteps() which handles the mixed case: if all inner
steps of a repeat group are leaf ExecutableStepDTOs, emit a <repeat
times="N"> block as before; if any inner step is itself a RepeatGroupDTO,
unroll the outer loop explicitly (since loadXML's single-level insideRepeat
flag does not support nested <repeat> blocks).
Add a regression test using the exact Sprint workout structure (warmup +
2×[12×(10s@497W+20s@93W)+5min rest] + cooldown) from the real debug log.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* Fix redeclaration of QJsonObject main/outObj in templateinfosenderbuilder
After merging master, the conflict resolution left duplicate declarations
of main and outObj that were already declared earlier in the function.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* Fix onInsetsChanged call to pass all 8 waterfall parameters
Merge conflict resolution left the 4-param HEAD call but took master's
8-param native declaration, causing a Java compile error.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* mail 19/06/2026
---------
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
**Q: QZ shows an unrealistically high calorie burn (e.g. 30+ kcal/minute) - what's wrong?**
94
93
@@ -116,4 +115,3 @@ After the reboot, QZ should advertise correctly and be visible to other apps/dev
116
115
117
116
Yes, QZ has a macOS build that runs on Apple Silicon. If you run into issues with your trainer not being detected or metrics not updating when both QZ and Zwift are on the same Mac, please share a debug log from a session that reproduces the problem so it can be diagnosed:
0 commit comments