AOSSIE-Org / AOSSIE-Org/Resonate-Website

Bug: GSAP timeline instances not cleaned up in useEffect memory leak in page.jsx

Abierto
#307 3 comentarios 0 reacciones 0 asignados Ver en GitHub
Lenguaje dominante
TypeScript
Estrellas
43
Forks
154
Métricas de merge de PR
Sin PR fusionados en 30 d

Descripción

### 🐛 Describe the bug

**Description:**
```
In `app/page.jsx`, four GSAP timelines are created inside `useEffect`
but never killed in the cleanup function:

- `heroTl` (line 45)
- `techStackTl` (line 109)
- `aboutTl` (line 142)
- `downloadTl` (line 181)

The current cleanup only calls:
- `lenis.destroy()`
- `ScrollTrigger.getAll().forEach(t => t.kill())`

GSAP timelines hold references to DOM elements and tween objects
independently of ScrollTrigger. Without calling `.kill()`, these
accumulate on every remount causing a memory leak.

## Steps to Reproduce
1. Open app/page.jsx
2. Check the useEffect cleanup block (line 213)
3. Notice heroTl, techStackTl, aboutTl, downloadTl are never killed

## Proposed Fix
Add to the cleanup return block:
heroTl.kill();
techStackTl.kill();
aboutTl.kill();
downloadTl.kill();

Image

Image

## References
Related to #292 (Animation Lifecycle & Memory Safety Audit)

I'd like to work on this issue.

Guía de contribución

Abrir la guía de contribución

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.