diff --git a/addons/mail/static/src/models/call_participant_card.js b/addons/mail/static/src/models/call_participant_card.js index cd168b942be..06456140d4a 100644 --- a/addons/mail/static/src/models/call_participant_card.js +++ b/addons/mail/static/src/models/call_participant_card.js @@ -26,9 +26,9 @@ registerModel({ } if (this.rtcSession) { if (this.callView.activeRtcSession === this.rtcSession && this.mainViewTileOwner) { - this.callView.update({ activeRtcSession: clear() }); + this.callView.channel.update({ activeRtcSession: clear() }); } else { - this.callView.update({ activeRtcSession: this.rtcSession }); + this.callView.channel.update({ activeRtcSession: this.rtcSession }); } return; } diff --git a/addons/mail/static/src/models/call_settings_menu.js b/addons/mail/static/src/models/call_settings_menu.js index 146fe2a0321..0adca6d1761 100644 --- a/addons/mail/static/src/models/call_settings_menu.js +++ b/addons/mail/static/src/models/call_settings_menu.js @@ -57,7 +57,7 @@ registerModel({ } const activeRtcSession = this.callView.activeRtcSession; if (showOnlyVideo && activeRtcSession && !activeRtcSession.videoStream) { - this.callView.update({ activeRtcSession: clear() }); + this.callView.channel.update({ activeRtcSession: clear() }); } }, onClickRegisterKeyButton() { diff --git a/addons/mail/static/src/models/call_view.js b/addons/mail/static/src/models/call_view.js index 6dc2e2537b0..4a05d7c2a3a 100644 --- a/addons/mail/static/src/models/call_view.js +++ b/addons/mail/static/src/models/call_view.js @@ -158,7 +158,9 @@ registerModel({ /** * The rtc session that is the main card of the view. */ - activeRtcSession: one('RtcSession'), + activeRtcSession: one('RtcSession', { + related: 'channel.activeRtcSession', + }), /** * The aspect ratio of the tiles. */ diff --git a/addons/mail/static/src/models/channel.js b/addons/mail/static/src/models/channel.js index 6a3b80aadf5..3c407c7a0c8 100644 --- a/addons/mail/static/src/models/channel.js +++ b/addons/mail/static/src/models/channel.js @@ -192,6 +192,7 @@ registerModel({ }, }, fields: { + activeRtcSession: one('RtcSession'), areAllMembersLoaded: attr({ compute: '_computeAreAllMembersLoaded', }),