Skip to content

[FIX] mail: close change layout dialog when the call ends#273288

Closed
zel-odoo wants to merge 1 commit into
odoo:saas-19.4from
odoo-dev:saas-19.4-crash-layout-zel
Closed

[FIX] mail: close change layout dialog when the call ends#273288
zel-odoo wants to merge 1 commit into
odoo:saas-19.4from
odoo-dev:saas-19.4-crash-layout-zel

Conversation

@zel-odoo

@zel-odoo zel-odoo commented Jul 1, 2026

Copy link
Copy Markdown
Contributor

Opening "Change Layout" during a call adds a dialog via the dialog service. When the call was removed by the server (e.g. the discuss.channel.rtc.session/ended notification tears down the call and runs endCall()), the dialog stayed open. Clicking any option then ran onSelectLayout, which operates on the now-gone call (channel.setAsDiscussThread(), rtc.enterFullscreen()), and crashed.

The action's isSelfInCall condition only gates opening a new dialog, never dismisses one already up.

Close the dialog reactively when the user is no longer in the call, using Owl's reactive effect on channel.isSelfInCall, the same way MessageReactionMenu closes itself once its message loses all reactions.

task-6352477


I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr

Opening "Change Layout" during a call adds a dialog via the dialog
service. When the call was removed by the server (e.g. the
`discuss.channel.rtc.session/ended` notification tears down the call and
runs `endCall()`), the dialog stayed open. Clicking any option then ran
`onSelectLayout`, which operates on the now-gone call
(`channel.setAsDiscussThread()`, `rtc.enterFullscreen()`), and crashed.

The action's `isSelfInCall` condition only gates opening a new dialog,
never dismisses one already up.

Close the dialog reactively when the user is no longer in the call,
using Owl's reactive effect on `channel.isSelfInCall`, the same way
`MessageReactionMenu` closes itself once its message loses all
reactions.

task-6352477
@robodoo

robodoo commented Jul 1, 2026

Copy link
Copy Markdown
Contributor

Pull request status dashboard

@C3POdoo C3POdoo requested a review from a team July 1, 2026 08:44

@alexkuhn alexkuhn 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.

@robodoo delegate+ r+

@robodoo

robodoo commented Jul 1, 2026

Copy link
Copy Markdown
Contributor

@zel-odoo @alexkuhn 'ci/l10n' failed on this reviewed PR.

robodoo pushed a commit that referenced this pull request Jul 2, 2026
Opening "Change Layout" during a call adds a dialog via the dialog
service. When the call was removed by the server (e.g. the
`discuss.channel.rtc.session/ended` notification tears down the call and
runs `endCall()`), the dialog stayed open. Clicking any option then ran
`onSelectLayout`, which operates on the now-gone call
(`channel.setAsDiscussThread()`, `rtc.enterFullscreen()`), and crashed.

The action's `isSelfInCall` condition only gates opening a new dialog,
never dismisses one already up.

Close the dialog reactively when the user is no longer in the call,
using Owl's reactive effect on `channel.isSelfInCall`, the same way
`MessageReactionMenu` closes itself once its message loses all
reactions.

task-6352477

closes #273288

Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
@robodoo robodoo closed this Jul 2, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants