AOSSIE-Org / AOSSIE-Org/Resonate-Website

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

オープン
#307 コメント 3 件 リアクション 0 件 担当者 0 名 GitHub で見る
主要言語
TypeScript
スター
43
フォーク
154
PR マージ指標
30日以内にマージされた PR はありません

説明

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

コントリビューションガイド

コントリビューションガイドを開く

評価

この issue はまだ評価されていません。

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。