angular / angular/components

bug(ResizeObserver): Mat-Tab vs Mat-label cause ResizeObserver loop completed with undelivered notifications

Open
#28,446 5 comments 5 reactions 0 assignees View on GitHub
area: cdk/layout P3
Dominant language
TypeScript
Stars
25k
Forks
6.8k
Avg merge
1d 8h
Merged PRs (30d)
91

Description

### 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

_No response_

### Description

Mat-Tab vs Mat-label cause ResizeObserver loop completed with undelivered notifications

### Reproduction

StackBlitz link: https://stackblitz.com/edit/mi1wyz?file=src%2Fexample%2Fsidenav-drawer-overview-example.html,src%2Fexample%2Fsidenav-drawer-overview-example.css,src%2Fexample%2Fsidenav-drawer-overview-example.ts,src%2Findex.html

Steps to reproduce:
1. click `Tab2`
2. Add breakpoints in `vendor.js:22456 loopLimitExceededErrorHandler`
3. click `toggle sidenav` button multiple times.
Will receive the error
```
ResizeObserver loop completed with undelivered notifications
```

### Expected Behavior

No resizeobserver error

### Actual Behavior

Will receive the error
```
ResizeObserver loop completed with undelivered notifications
```

### Environment

Angular CLI: 17.0.0
Node: 18.18.0
Package Manager: yarn 1.22.19
OS: linux x64

Angular: 17.0.0
... animations, cli, common, compiler, compiler-cli, core, forms
... platform-browser, platform-browser-dynamic, router

Package Version
------------------------------------------------------------
@angular-devkit/architect 0.1700.0
@angular-devkit/build-angular 17.0.0
@angular-devkit/core 17.0.0
@angular-devkit/schematics 17.0.0
@angular/cdk 17.0.5
@angular/localize 17.0.8
@angular/material 17.0.5
@angular/material-moment-adapter 17.0.5
@schematics/angular 17.0.0
rxjs 7.4.0
typescript 5.2.2
zone.js 0.14.0

Contributor guide

Open the contributing guide

Research direction

Start with the linked StackBlitz and its listed example HTML, CSS, TypeScript, and index.html files. Reproduce the sequence of selecting Tab2 and repeatedly toggling the sidenav while observing vendor.js:22456 loopLimitExceededErrorHandler. Done means the reproduction no longer reports “ResizeObserver loop completed with undelivered notifications.”

Written by the indexing model from the issue text.

Assessment

Tech stack
angular, typescript
Domain
frontend
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.