From 928f1c1d6face57e152b6e959be0d236a934d2f5 Mon Sep 17 00:00:00 2001 From: Robin Townsend Date: Wed, 5 Apr 2023 12:56:50 -0400 Subject: [PATCH] Address review feedback --- src/otel/OTelGroupCallMembership.ts | 13 +++++++++++-- src/video-grid/AudioSink.tsx | 2 +- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/src/otel/OTelGroupCallMembership.ts b/src/otel/OTelGroupCallMembership.ts index d42573a7..d252c315 100644 --- a/src/otel/OTelGroupCallMembership.ts +++ b/src/otel/OTelGroupCallMembership.ts @@ -126,6 +126,10 @@ export class OTelGroupCallMembership { public onJoinCall() { if (!ElementCallOpenTelemetry.instance) return; + if (this.callMembershipSpan !== undefined) { + logger.warn("Call membership span is already started"); + return; + } // Create the main span that tracks the time we intend to be in the call this.callMembershipSpan = @@ -152,9 +156,14 @@ export class OTelGroupCallMembership { } public onLeaveCall() { - this.callMembershipSpan!.addEvent("matrix.leaveCall"); + if (this.callMembershipSpan === undefined) { + logger.warn("Call membership span is already ended"); + return; + } + + this.callMembershipSpan.addEvent("matrix.leaveCall"); // and end the span to indicate we've left - this.callMembershipSpan!.end(); + this.callMembershipSpan.end(); this.callMembershipSpan = undefined; this.groupCallContext = undefined; } diff --git a/src/video-grid/AudioSink.tsx b/src/video-grid/AudioSink.tsx index 3787cdc7..ef140df4 100644 --- a/src/video-grid/AudioSink.tsx +++ b/src/video-grid/AudioSink.tsx @@ -24,7 +24,7 @@ import { useMediaStream } from "./useMediaStream"; interface Props { tileDescriptor: TileDescriptor; audioOutput: string; - otelGroupCallMembership: OTelGroupCallMembership; + otelGroupCallMembership?: OTelGroupCallMembership; } // Renders and