From 24d7edc57e5d9b9343250370c1d73646a5a945d5 Mon Sep 17 00:00:00 2001 From: Artur Iskakov Date: Mon, 21 Sep 2026 09:19:16 +0200 Subject: [PATCH] fix(live): Live-screen strap-log save carries the same extras as Settings and Test Centre MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit All three Save buttons produce identically-named noop-strap-log files, but only this one omitted DebugDataDiagnostics.dynamicLines, so a Live-screen export was silently missing the Strap & data block and the analytics funnels — which button someone pressed changed what a triager received. --- Strand/Screens/LiveView.swift | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/Strand/Screens/LiveView.swift b/Strand/Screens/LiveView.swift index 9af188d256..3602bd7a96 100644 --- a/Strand/Screens/LiveView.swift +++ b/Strand/Screens/LiveView.swift @@ -1252,6 +1252,7 @@ private struct ActiveWorkoutLive: View { /// re-render only this card. Wrapped in the liquid frosted card style. private struct LiveLogCard: View { @EnvironmentObject private var live: LiveState + @EnvironmentObject private var model: AppModel @AppStorage(CardAppearancePrefs.opacityKey) private var cardOpacityPercent = CardAppearancePrefs.defaultPercent private var cardOpacity: Double { max(0, min(1, Double(cardOpacityPercent) / 100)) } @@ -1318,8 +1319,14 @@ private struct LiveLogCard: View { } private func saveStrapLog() { - FileExport.exportText(live.exportableLogText(), - suggestedName: FileExport.timestampedName("noop-strap-log", ext: "txt")) + Task { + // Settings (#507) and Test Centre fetch these extras before exporting; without them this + // site wrote a same-named file silently missing the "Strap & data" + funnel sections, so + // which button someone pressed changed what a triager received. + let extra = await DebugDataDiagnostics.dynamicLines(repo: model.repo) + FileExport.exportText(live.exportableLogText(extraHeaderLines: extra), + suggestedName: FileExport.timestampedName("noop-strap-log", ext: "txt")) + } } }