Skip to content

fix(meetings): forward correlation ID for meeting info - #5181

Merged
robstax merged 4 commits into
webex:nextfrom
robstax:rstachof/meetinginfo-correlation-header
Aug 21, 2026
Merged

fix(meetings): forward correlation ID for meeting info#5181
robstax merged 4 commits into
webex:nextfrom
robstax:rstachof/meetinginfo-correlation-header

Conversation

@robstax

@robstax robstax commented Aug 20, 2026

Copy link
Copy Markdown
Contributor

COMPLETES #TODO

This pull request addresses

Meeting-info Call Analyzer events carry a correlation ID, but the corresponding HTTP request does not forward that value as a correlationId header. As a result, server-side meeting-info events cannot be associated with the same meeting attempt even when the request succeeds.

Browser validation of the existing SDK behavior confirmed that a successful meeting-info request is sent without the correlationId header.

by making the following changes

  • Pass the active meeting correlation ID from Meeting to MeetingInfoV2.fetchMeetingInfo().
  • Add the correlationId HTTP header when the request is associated with a meeting, Call Analyzer events are enabled for that request, and a correlation ID is available.
  • Leave background and non-Call-Analyzer meeting-info requests unchanged.
  • Add unit coverage for the enabled path and for each condition that intentionally omits the header.
  • Update the Meeting unit expectations for fetch and refresh meeting-info calls.

Change Type

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • Documentation update
  • Tooling change
  • Internal code refactor

The following scenarios were tested

  • MeetingInfoV2 sends the correlation header for a meeting-scoped request with Call Analyzer enabled.
  • MeetingInfoV2 omits the header when there is no meeting ID.
  • MeetingInfoV2 omits the header when Call Analyzer events are disabled.
  • MeetingInfoV2 omits the header when no correlation ID is available.
  • Meeting-info unit suite: 79 passing.
  • Meeting unit suite: 760 passing.
  • @webex/plugin-meetings source build passed.
  • Targeted ESLint and Prettier checks passed.
  • End-to-end A/B validation stopped at the pre-join interstitial in both cases:
    • Unchanged SDK: the meeting-info request returned 200 without the header; client request/response events were present, while server.meeting.initiated and server.meetinginfo.response were absent.
    • Patched SDK: the meeting-info request returned 200 with a non-empty UUID header; client request/response events and both server meeting-info lifecycle events were present.

The GAI Coding Policy And Copyright Annotation Best Practices

  • GAI was not used (or, no additional notation is required)
  • Code was generated entirely by GAI
  • GAI was used to create a draft that was subsequently customized or modified
  • Coder created a draft manually that was non-substantively modified by GAI (e.g., refactoring was performed by GAI on manually written code)
  • Tool used for AI assistance (GitHub Copilot / Other - specify)
    • Github Copilot
    • Other - OpenAI Codex
  • This PR is related to
    • Feature
    • Defect fix
    • Tech Debt
    • Automation

Copyright annotation best practice followed: the implementation is original and does not copy third-party source material.

I certified that

  • I have read and followed contributing guidelines
  • I discussed changes with code owners prior to submitting this pull request
  • I have not skipped any automated checks
  • All existing and new tests passed
  • I have updated the documentation accordingly (no public documentation change is required)

⚠️ AI Assisted Content 🤖

@robstax
robstax requested review from a team as code owners August 20, 2026 00:12
@robstax robstax added the validated If the pull request is validated for automation. label Aug 20, 2026
@github-actions github-actions Bot removed the validated If the pull request is validated for automation. label Aug 20, 2026
@robstax robstax added the validated If the pull request is validated for automation. label Aug 20, 2026
@github-actions github-actions Bot removed the validated If the pull request is validated for automation. label Aug 21, 2026
@robstax
robstax enabled auto-merge (squash) August 21, 2026 16:12
@robstax robstax added the validated If the pull request is validated for automation. label Aug 21, 2026

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 35c53fdefd

ℹ️ 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".

};

if (meetingId && sendCAevents && correlationId) {
requestOptions.headers = {correlationId};

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Preserve configured default headers when adding correlationId

When an SDK instance configures defaultRequestOptions.headers, setting a new headers object here prevents all of those configured headers from reaching this request: DefaultOptionsInterceptor.onRequest() only copies a default property when the top-level key is absent (packages/@webex/webex-core/src/interceptors/default-options.js, lines 46-49). Consequently, every meeting-info request with CA events and a correlation ID silently loses application-wide headers that were previously applied; merge the correlation ID with the configured/default headers instead of replacing the entire header set.

Useful? React with 👍 / 👎.

@robstax
robstax merged commit 90c0108 into webex:next Aug 21, 2026
10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

validated If the pull request is validated for automation.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants