Skip to content

fix: dismiss ringing notification when call answered on another device#7145

Open
deepak0x wants to merge 1 commit intoRocketChat:developfrom
deepak0x:fix/videoconf-dismiss-ringing-on-remote-join
Open

fix: dismiss ringing notification when call answered on another device#7145
deepak0x wants to merge 1 commit intoRocketChat:developfrom
deepak0x:fix/videoconf-dismiss-ringing-on-remote-join

Conversation

@deepak0x
Copy link
Copy Markdown
Contributor

@deepak0x deepak0x commented Apr 13, 2026

When a user receives a video call on both phone and desktop and picks up on desktop, the phone keeps ringing indefinitely. The join event fires on all clients via DDP, but onDirectCallJoined in videoConf.ts only handled calls in accepted or calling state. An unanswered incoming call sits in call state, so the condition never matched and the ringing notification was never dismissed.

Added an else if branch to handle the call state — removes the call from Redux state and hides the notification without joining the conference.

Issue(s)

Closes #6177

How to test or reproduce

  1. Enable "Conference > Enable mobile ringing" on the Rocket.Chat server
  2. Open the Rocket.Chat desktop app and the mobile app
  3. Have another user call you via direct message video call
  4. Verify both phone and desktop are ringing
  5. Answer the call on desktop
  6. Before fix: phone keeps ringing even though the call was answered
  7. After fix: phone stops ringing and does not join the conference

Screenshots

N/A — logic-only change, no UI modifications.

Types of changes

  • Bugfix (non-breaking change which fixes an issue)
  • Improvement (non-breaking change which improves a current function)
  • New feature (non-breaking change which adds functionality)
  • Documentation update (if none of the other choices apply)

Checklist

  • I have read the CONTRIBUTING doc
  • I have signed the CLA
  • Lint and unit tests pass locally with my changes
  • I have added tests that prove my fix is effective or that my feature works (if applicable)
  • I have added necessary documentation (if applicable)
  • Any dependent changes have been merged and published in downstream modules

…vice

When a video call is answered on desktop, the 'join' event fires on all
clients. The mobile app had the call in 'call' state (unanswered), but
onDirectCallJoined only handled 'accepted' and 'calling' states, so the
ringing notification was never dismissed.

Closes RocketChat#6177
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai bot commented Apr 13, 2026

Walkthrough

The onDirectCallJoined saga handler in videoConf.ts now includes logic to handle the case where a call action equals 'call', which removes the pending video conference call and hides the associated notification.

Changes

Cohort / File(s) Summary
Video Conference Call Handling
app/sagas/videoConf.ts
Added conditional branch to handle call action state, removing pending video conf calls and hiding notifications when currentCall.action === 'call'.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~8 minutes

Suggested labels

type: bug

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately describes the primary fix: dismissing the ringing notification when a call is answered on another device, matching the core change.
Linked Issues check ✅ Passed The code change implements the required fix by handling the 'call' action state to remove pending calls and hide notifications, directly addressing issue #6177's requirement to stop ringing on the phone when answered remotely.
Out of Scope Changes check ✅ Passed All changes are directly scoped to the linked issue; the modification only adds necessary handling for the 'call' action state without introducing unrelated functionality.
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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

bug: phone keeps ringing after picking up the call on a desktop client

1 participant