bug(ResizeObserver): Mat-Tab vs Mat-label cause ResizeObserver loop completed with undelivered notifications
- 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
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