From 5d03e0730993f196922bd50cb1c5b5052cee0a0c Mon Sep 17 00:00:00 2001 From: Adam Horodyski Date: Fri, 30 Jan 2026 16:12:55 -0800 Subject: [PATCH 1/2] Add cancelAllSpans to cancel all active telemetry spans --- src/libs/telemetry/activeSpans.ts | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/libs/telemetry/activeSpans.ts b/src/libs/telemetry/activeSpans.ts index 8ccf608165707..6d807b94e4e30 100644 --- a/src/libs/telemetry/activeSpans.ts +++ b/src/libs/telemetry/activeSpans.ts @@ -46,8 +46,14 @@ function cancelSpan(spanId: string) { endSpan(spanId); } +function cancelAllSpans() { + for (const [spanId] of activeSpans.entries()) { + cancelSpan(spanId); + } +} + function getSpan(spanId: string) { return activeSpans.get(spanId); } -export {startSpan, endSpan, getSpan, cancelSpan}; +export {startSpan, endSpan, getSpan, cancelSpan, cancelAllSpans}; From 213b7bdb13f634cb90aada7c9303b8aacf497042 Mon Sep 17 00:00:00 2001 From: Adam Horodyski Date: Fri, 30 Jan 2026 16:19:17 -0800 Subject: [PATCH 2/2] Cancel all active telemetry spans when app goes inactive or background --- src/libs/actions/App.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/libs/actions/App.ts b/src/libs/actions/App.ts index 978d6c3be5491..16b0b1e13c49a 100644 --- a/src/libs/actions/App.ts +++ b/src/libs/actions/App.ts @@ -17,7 +17,7 @@ import Performance from '@libs/Performance'; import {isPublicRoom, isValidReport} from '@libs/ReportUtils'; import {isLoggingInAsNewUser as isLoggingInAsNewUserSessionUtils} from '@libs/SessionUtils'; import {clearSoundAssetsCache} from '@libs/Sound'; -import {endSpan, getSpan, startSpan} from '@libs/telemetry/activeSpans'; +import {cancelAllSpans, endSpan, getSpan, startSpan} from '@libs/telemetry/activeSpans'; import CONST from '@src/CONST'; import type {OnyxKey} from '@src/ONYXKEYS'; import ONYXKEYS from '@src/ONYXKEYS'; @@ -238,6 +238,7 @@ AppState.addEventListener('change', (nextAppState) => { if (nextAppState.match(/inactive|background/) && appState === 'active') { Log.info('Flushing logs as app is going inactive', true, {}, true); saveCurrentPathBeforeBackground(); + cancelAllSpans(); } appState = nextAppState; });