Skip to content

Performance regression in Overflow during Teams web channel navigation #36584

Description

Environment

  • Client: Microsoft Teams web
  • Component: chat header using Fluent UI Overflow
  • Historically affected package: @fluentui/priority-overflow@9.4.0 and earlier
  • Package containing the attempted fix: @fluentui/priority-overflow@9.4.1
  • Corresponding @fluentui/react-overflow release: 9.9.1

Actual behavior

Switching channels in the Teams web client causes a performance regression in a chat header that uses Overflow. The symptom is consistent with overflow teardown or measurement work occurring during component unmount and navigation.

PR #36401 was expected to address the teardown-notification path, but the observed Teams web performance issue remains. The exact versions resolved by the deployed bundle and whether duplicate package copies are present still need to be confirmed.

Expected behavior

Unmounting or disconnecting an overflow manager should not dispatch subscriber updates or cause avoidable render/layout work during channel navigation.

Attempted upstream fix

PR #36401 moved the teardown-notification fix into @fluentui/priority-overflow, resets the overflow snapshot during disconnect(), and avoids broadcasting a final subscriber notification:

The patch has not resolved the reported Teams web regression, so further investigation is required rather than treating the package upgrade as a confirmed mitigation.

People involved

Validation

  1. Confirm the exact @fluentui/react-overflow and @fluentui/priority-overflow versions resolved in the deployed Teams web bundle.
  2. Check for duplicate bundled copies and stale dependency/build caches.
  3. Compare browser Performance and React profiler traces for channel switching before and after the PR fix(priority-overflow): avoid teardown notifications #36401 package versions.
  4. Inspect repeated ResizeObserver callbacks, forced layout, header remounts, and overflow visibility oscillation.
  5. Attach traces and the deployed dependency tree to isolate whether the remaining cost is another overflow path or an application/shell interaction.

Metadata

Metadata

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions