Skip to content

bug(MatDialog): When opening multiple dialogs in a short amount of time, some of them do not open #24037

Description

@guimabdo

Is this a regression?

  • Yes, this behavior used to work in the previous version

The previous version in which this bug was not present was

12.2.0

Description

When opening multiple dialogs in a short amount of time, some of them do not open

Reproduction

The bug can be noticed with the example below, when clicking the "Open Fast" button.

import{Component,TemplateRef,ViewChild}from'@angular/core';import{MatDialog}from'@angular/material/dialog';
@Component({selector: 'app-root',template: ` <button (click)="openFast()">Open Fast</button> <button (click)="openSlow()">Open Slow</button> <ng-template let-data #template> {{data.message}} <button mat-dialog-close>close</button> </ng-template> `})exportclassAppComponent{
@ViewChild("template")template?: TemplateRef<any>;constructor(privatematDialog: MatDialog){}openFast(){this.open('1');setTimeout(()=>this.open('2'),1);setTimeout(()=>this.open('3'),50);setTimeout(()=>this.open('4'),100);setTimeout(()=>this.open('5'),150);setTimeout(()=>this.open('6'),200);}openSlow(){this.open('1');setTimeout(()=>this.open('2'),300);setTimeout(()=>this.open('3'),600);setTimeout(()=>this.open('4'),900);setTimeout(()=>this.open('5'),1200);setTimeout(()=>this.open('6'),1500);}privateopen(message: string){this.matDialog.open(this.template!,{disableClose: true,data: { message }});}}

Expected Behavior

"Open fast" button should open 6 dialogs, just like the "Open slow" button.

Actual Behavior

The "Open fast" button opens only 2 dialogs.
On most attempts it opens (1) and (5), but in some cases (1) and (6) are open.

Environment

  • Angular: 13.0.0
  • CDK/Material: 13.0.0
  • Browser(s): Chrome
  • Operating System (e.g. Windows, macOS, Ubuntu): Windows

Metadata

Metadata

Assignees

Labels

AccessibilityThis issue is related to accessibility (a11y)P2The issue is important to a large percentage of users, with a workaroundarea: material/dialog

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions