Skip to content

chore: Allow clients to register a session after accepting a call - #38736

Merged
pierre-lehnen-rc merged 1 commit into
developfrom
chore/voip-register-after-accept
Mar 12, 2026
Merged

chore: Allow clients to register a session after accepting a call#38736
pierre-lehnen-rc merged 1 commit into
developfrom
chore/voip-register-after-accept

Conversation

@pierre-lehnen-rc

@pierre-lehnen-rc pierre-lehnen-rc commented Feb 16, 2026

Copy link
Copy Markdown
Contributor

Proposed changes (including videos or screenshots)

Currently if we register a session with an ID that is already linked to a call, the server will end that call assuming that it was happening on a session that was refreshed. With #38646 a session may be linked to a call before actually being registered, so we need to change the registration process to not drop those calls anymore.

The PR also adds the option to register a session with a specific ID instead of generating a random one.

Issue(s)

VMUX-39

Steps to test or reproduce

Further comments

Summary by CodeRabbit

  • Bug Fixes

    • Improved media call session handling for contract validation in specific scenarios.
  • New Features

    • Added support for mobile device identification in media signaling sessions.

@dionisio-bot

dionisio-bot Bot commented Feb 16, 2026

Copy link
Copy Markdown
Contributor

Looks like this PR is not ready to merge, because of the following issues:

  • This PR is missing the 'stat: QA assured' label
  • This PR is targeting the wrong base branch. It should target 8.3.0, but it targets 8.2.0

Please fix the issues and try again

If you have any trouble, please check the PR guidelines

@changeset-bot

changeset-bot Bot commented Feb 16, 2026

Copy link
Copy Markdown

⚠️ No Changeset found

Latest commit: c5d46ba

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@coderabbitai

coderabbitai Bot commented Feb 16, 2026

Copy link
Copy Markdown
Contributor

Walkthrough

This change modifies session registration and call handling logic to support mobile voice clients accepting calls before initiating sessions. It removes a contract-id validation check that previously terminated same-session calls and introduces optional mobile device ID support for session identification.

Changes

Cohort / File(s) Summary
Call Signal Processing
ee/packages/media-calls/src/internal/SignalProcessor.ts
Simplified contract-id validation logic in reactToUnknownCall by removing the check against signal.contractId, preserving only the signal.oldContractId check for browser-refresh scenarios.
Session Initialization
packages/media-signaling/src/lib/Session.ts
Added optional mobileDeviceId field to MediaSignalingSessionConfig to allow session identification via mobile device ID instead of random string generation.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~12 minutes

Suggested labels

type: feature

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately describes the main objective: allowing clients to register sessions after accepting calls, which aligns with the primary changes made to signal processing and session handling.
Linked Issues check ✅ Passed The changes directly address VMUX-39 by modifying contract-id validation logic and adding mobileDeviceId support for session identification, enabling post-acceptance registration.
Out of Scope Changes check ✅ Passed All changes are focused on the stated objective: SignalProcessor.ts removes the same-session contractId hangup trigger, and Session.ts adds mobile device identification for proper session registration after call acceptance.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@codecov

codecov Bot commented Feb 16, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 70.49%. Comparing base (508b4a1) to head (c5d46ba).
⚠️ Report is 214 commits behind head on develop.

Additional details and impacted files

Impacted file tree graph

@@             Coverage Diff             @@
##           develop   #38736      +/-   ##
===========================================
- Coverage    70.51%   70.49%   -0.03%     
===========================================
  Files         3176     3176              
  Lines       111139   111139              
  Branches     20050    20049       -1     
===========================================
- Hits         78367    78342      -25     
- Misses       30721    30756      +35     
+ Partials      2051     2041      -10     
Flag Coverage Δ
e2e 60.42% <ø> (-0.05%) ⬇️
e2e-api 47.76% <ø> (ø)
unit 71.47% <ø> (-0.03%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@github-actions

Copy link
Copy Markdown
Contributor

📦 Docker Image Size Report

📈 Changes

Service Current Baseline Change Percent
sum of all images 1.1GiB 1.1GiB +11MiB
rocketchat 360MiB 349MiB +11MiB
omnichannel-transcript-service 134MiB 134MiB -1.4KiB
queue-worker-service 134MiB 134MiB -306B
ddp-streamer-service 128MiB 128MiB -1.7KiB
account-service 115MiB 115MiB +19B
authorization-service 112MiB 112MiB -3.1KiB
presence-service 112MiB 112MiB +1001B

📊 Historical Trend

---
config:
  theme: "dark"
  xyChart:
    width: 900
    height: 400
---
xychart
  title "Image Size Evolution by Service (Last 30 Days + This PR)"
  x-axis ["11/24 17:34", "11/27 22:32", "11/28 19:05", "12/01 23:01", "12/02 21:57", "12/03 21:00", "12/04 18:17", "12/05 21:56", "12/08 20:15", "12/09 22:17", "12/10 23:26", "12/11 21:56", "12/12 22:45", "12/13 01:34", "12/15 22:31", "12/16 22:18", "12/17 21:04", "12/18 23:12", "12/19 23:27", "12/20 21:03", "12/22 18:54", "12/23 16:16", "12/24 19:38", "12/25 17:51", "12/26 13:18", "12/29 19:01", "12/30 20:52", "02/12 22:57", "02/13 22:38", "02/16 14:04", "02/16 19:50 (PR)"]
  y-axis "Size (GB)" 0 --> 0.5
  line "account-service" [0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11]
  line "authorization-service" [0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11]
  line "ddp-streamer-service" [0.12, 0.12, 0.12, 0.12, 0.12, 0.12, 0.12, 0.12, 0.12, 0.12, 0.12, 0.12, 0.12, 0.12, 0.12, 0.12, 0.12, 0.12, 0.12, 0.12, 0.12, 0.12, 0.12, 0.12, 0.12, 0.12, 0.12, 0.12, 0.12, 0.12, 0.12]
  line "omnichannel-transcript-service" [0.13, 0.13, 0.13, 0.13, 0.13, 0.13, 0.13, 0.13, 0.13, 0.13, 0.13, 0.13, 0.13, 0.13, 0.13, 0.13, 0.13, 0.13, 0.13, 0.13, 0.13, 0.13, 0.13, 0.13, 0.13, 0.13, 0.13, 0.13, 0.13, 0.13, 0.13]
  line "presence-service" [0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11, 0.11]
  line "queue-worker-service" [0.13, 0.13, 0.13, 0.13, 0.13, 0.13, 0.13, 0.13, 0.13, 0.13, 0.13, 0.13, 0.13, 0.13, 0.13, 0.13, 0.13, 0.13, 0.13, 0.13, 0.13, 0.13, 0.13, 0.13, 0.13, 0.13, 0.13, 0.13, 0.13, 0.13, 0.13]
  line "rocketchat" [0.34, 0.34, 0.34, 0.34, 0.34, 0.34, 0.34, 0.34, 0.34, 0.34, 0.34, 0.34, 0.34, 0.34, 0.34, 0.34, 0.34, 0.34, 0.34, 0.34, 0.34, 0.34, 0.34, 0.34, 0.34, 0.34, 0.34, 0.34, 0.34, 0.34, 0.35]
Loading

Statistics (last 30 days):

  • 📊 Average: 1.5GiB
  • ⬇️ Minimum: 1.4GiB
  • ⬆️ Maximum: 1.6GiB
  • 🎯 Current PR: 1.1GiB
ℹ️ About this report

This report compares Docker image sizes from this build against the develop baseline.

  • Tag: pr-38736
  • Baseline: develop
  • Timestamp: 2026-02-16 19:50:41 UTC
  • Historical data points: 30

Updated: Mon, 16 Feb 2026 19:50:41 GMT

@pierre-lehnen-rc pierre-lehnen-rc added this to the 8.3.0 milestone Mar 6, 2026
@pierre-lehnen-rc
pierre-lehnen-rc marked this pull request as ready for review March 9, 2026 21:22

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

No issues found across 2 files

@coderabbitai coderabbitai Bot added the type: feature Pull requests that introduces new feature label Mar 9, 2026
@pierre-lehnen-rc
pierre-lehnen-rc added this pull request to the merge queue Mar 12, 2026
Merged via the queue into develop with commit 3b58c8b Mar 12, 2026
47 checks passed
@pierre-lehnen-rc
pierre-lehnen-rc deleted the chore/voip-register-after-accept branch March 12, 2026 20:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

type: feature Pull requests that introduces new feature

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants