Description: Investigate FMS's cleanup behavior across the lifecycle: when a component using a motion is unmounted mid-animation, are WAAPI animations cancelled cleanly? Are timers/refs cleared? Are listeners detached? Audit the 6 motion components, presence components, Stagger, and Sequence. Produce a findings report. Land small fixes (e.g., missing useEffect cleanup returns, missed cancel() calls) in scope. Defer large fixes (e.g., systemic cleanup pattern refactor) to follow-up.
Why it matters: Long-lived apps like Teams accumulate cleanup debt. Memory leaks, console warnings about state updates on unmounted components, and weird interactions all stem from cleanup gaps. The Stable readiness story is weaker if cleanup discipline is unaudited.
- Difficulty: Medium-Hard (audit requires reading lifecycle code carefully)
- Sequencing: M3 W9
- Tags:
partner-pickup
- Phase 1 output: Findings report; in-scope fixes list; deferred items list
- Phase 2 output: PRs for in-scope fixes
Description: Investigate FMS's cleanup behavior across the lifecycle: when a component using a motion is unmounted mid-animation, are WAAPI animations cancelled cleanly? Are timers/refs cleared? Are listeners detached? Audit the 6 motion components, presence components, Stagger, and Sequence. Produce a findings report. Land small fixes (e.g., missing
useEffectcleanup returns, missedcancel()calls) in scope. Defer large fixes (e.g., systemic cleanup pattern refactor) to follow-up.Why it matters: Long-lived apps like Teams accumulate cleanup debt. Memory leaks, console warnings about state updates on unmounted components, and weird interactions all stem from cleanup gaps. The Stable readiness story is weaker if cleanup discipline is unaudited.
partner-pickup