feat(plugin-meetings): include isMultistream and isInLobby in media i…#5000
feat(plugin-meetings): include isMultistream and isInLobby in media i…#5000k-wasniowski wants to merge 1 commit into
Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: be0e85cd50
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
| this.mediaProperties.sendMediaIssueMetric('inbound_audio', data.issueSubType, { | ||
| correlationId: this.correlationId, | ||
| isMultistream: this.isMultistream, | ||
| isInLobby: !!this.isUserUnadmitted, |
There was a problem hiding this comment.
Separate counters by lobby state before throttled send
sendMediaIssueMetric is throttled for 5 minutes, but this call now includes isInLobby from live meeting state; if a user is admitted during that window, multiple inbound-audio issues are accumulated into one counter while the emitted payload carries only the latest isInLobby value. That mislabels part of the aggregated count (lobby vs admitted) and can skew triage dashboards. This is reachable because lobby state transitions are expected (SelfUtils.hasUserBeenAdmitted / isLocusUserUnadmitted).
Useful? React with 👍 / 👎.
|
This pull request is automatically being deployed by Amplify Hosting (learn more). |
…ssue metric metadata
be0e85c to
a48f50c
Compare
This pull request addresses
The
js_sdk_media_issue_detectedbehavioral metric only carriedcorrelationIdplus per-issue counts. When triaging inbound audio issues we couldn't tell from the metric alone whether the affected client was in a multistream meeting or whether it was still sitting in the lobby — both of which significantly change the expected media behavior and the set of plausible root causes.by making the following changes
MediaProperties.sendMediaIssueMetricto take a singlemetadataobject instead of a positionalcorrelationId, so future static-per-meeting context can be added without further signature churn.isMultistreamandisInLobby(sourced frommeeting.isMultistreamand!!meeting.isUserUnadmittedrespectively).meeting/index.ts(inbound audio issue handler) to pass the new metadata object.media/properties.tsandmeeting/index.jsto cover the new payload shape and tightened a couple of assertions tocalledOnceWithExactly.No behavioral change beyond additional fields in the emitted metric; throttling, counter accumulation, and reset semantics are unchanged.
Change Type
The following scenarios were tested
yarn workspace @webex/plugin-meetings test:unit --targets media/properties.ts— all 30 tests pass, including the foursendMediaIssueMetriccases that now assertisMultistreamandisInLobbyin the emitted payload.meeting/index.jsunit tests covering the inbound audio issue handler to confirm the new metadata is forwarded withcorrelationId,isMultistream, andisInLobby.The GAI Coding Policy And Copyright Annotation Best Practices
I certified that