Skip to content

fix(live): Live-screen strap-log save carries the same extras as Settings and Test Centre - #2367

Open
ayiskakov wants to merge 1 commit into
ryanbr:mainfrom
ayiskakov:fix/live-log-save-extras
Open

ayiskakov wants to merge 1 commit into
ryanbr:mainfrom
ayiskakov:fix/live-log-save-extras

Conversation

@ayiskakov

Copy link
Copy Markdown

What

NOOP has three "Save…" buttons for the strap log — Settings, Test Centre, and the Live screen — all
producing identically-named noop-strap-log-*.txt files. Settings and Test Centre fetch
DebugDataDiagnostics.dynamicLines(repo:) and pass it as extraHeaderLines; the Live screen's
saveStrapLog() did not, so a Live-screen export was silently missing the entire "Strap & data"
block and the analytics funnels. Which button someone pressed changed what a triager received, with
nothing in the file saying so.

Field case: two exports from the same install on the same morning — one via Settings (full
diagnostics block), one via the Live screen (session lines only) — which cost a round-trip when the
funnel section was needed.

Change

LiveLogCard.saveStrapLog() now fetches the same extras inside a Task, exactly as the other two
call sites do (SettingsView.swift, TestCentreView.swift), with AppModel taken from the SwiftUI
environment. Copy button behaviour is unchanged on all three surfaces (extras are fetched only for
the file export, matching the existing Settings/Test Centre split).

Platforms

Apple-only by construction: the Android export path already includes the diagnostics block
(AndroidDiagnostics), so there is no Kotlin twin to change.

Verification

Built the Strand (macOS) scheme locally with xcodebuild … CODE_SIGNING_ALLOWED=NO build
succeeds. (NOOPiOS leg not buildable on my machine — watchOS 26.2 SDK absent; the change uses the
same pattern that already compiles for iOS at the Settings and Test Centre call sites.) No UI
changes — plumbing only, no tokens involved.

…ings and Test Centre

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.
Tricked-dev added a commit to Tricked-dev/noop that referenced this pull request Sep 21, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant