⚡ Bolt: [성능 개선] 불필요한 SVG decoding="async" 제거#92
Conversation
SVG 이미지 및 LCP 이미지에 부여된 불필요한 `decoding="async"` 속성을 제거하여 브라우저 파싱 및 렌더링 성능을 최적화했습니다. [What] - `index.html` 내 SVG 이미지들과 fetchpriority="high"인 LCP 이미지에서 `decoding="async"` 속성 제거 - 코드 상에 최적화 의도를 기록한 ⚡ Bolt 주석 추가 - `tests/test_styles.py`에서 래스터 이미지에만 `decoding="async"`를 검사하도록 수정 - `.jules/bolt.md`에 관련된 성능 안티 패턴 학습 내용 기록 [Why] - SVG 파일은 디코딩(decoding) 과정이 없고 파싱(parsing)만 이루어지므로 `decoding="async"`가 무의미합니다. - 특히 LCP 이미지에 `decoding="async"`를 설정하면 초기 렌더링을 지연시킬 위험이 있는 안티 패턴입니다. [Impact] - 의미 없는 DOM 속성을 줄여 마크업 크기가 미세하게 감소 - LCP 이미지의 의도치 않은 렌더링 지연(디코딩 연기) 방지로 Time to First Paint (TTFP) 및 Largest Contentful Paint (LCP) 지표 개선 기대 [Measurement] - 전체 pytest(`tests/`) 통과 확인 완료 - `index.html` 내 SVG 이미지들에 해당 속성이 제거되고 명시적인 주석이 추가되었는지 `grep`으로 확인 완료
|
👋 Jules, reporting for duty! I'm here to lend a hand with this pull request. When you start a review, I'll add a 👀 emoji to each comment to let you know I've read it. I'll focus on feedback directed at me and will do my best to stay out of conversations between you and other bots or reviewers to keep the noise down. I'll push a commit with your requested changes shortly after. Please note there might be a delay between these steps, but rest assured I'm on the job! For more direct control, you can switch me to Reactive Mode. When this mode is on, I will only act on comments where you specifically mention me with New to Jules? Learn more at jules.google/docs. For security, I will only act on instructions from the user who triggered this task. |
💡 What
index.html에 포함된 모든 SVG 이미지들과fetchpriority="high"가 지정된 주요 LCP(Largest Contentful Paint) 이미지에서decoding="async"속성을 제거하고 의도를 명확히 하는 코드 주석을 추가했습니다. 관련된 테스트 스위트(tests/test_styles.py)도 수정하여 SVG 이미지를 제외한 래스터 이미지에만 해당 속성이 있는지 검사하도록 변경했습니다.🎯 Why
SVG 파일은 이미지라기보다 XML 기반의 문서이므로 디코딩(decoding) 과정이 없고 파싱(parsing)만 이루어집니다. 따라서
decoding="async"를 부여하는 것은 무의미합니다. 또한, 페이지 첫 렌더링에 중요한 LCP 이미지에 이 속성을 주면 브라우저가 다른 작업에 우선순위를 두어 이미지를 늦게 디코딩하도록 지시하게 되어, 초기 렌더링 성능에 악영향을 끼칠 수 있는 안티 패턴이기 때문입니다.📊 Impact
.jules/bolt.md에 학습 내용을 기록하여 동일한 실수가 발생하지 않도록 했습니다.🔬 Measurement
pytest tests/).index.html코드 내에서 SVG 이미지 태그들에 더 이상decoding="async"가 포함되지 않았는지grep과cat을 통해 직접 검증했습니다.PR created automatically by Jules for task 6778724549677772656 started by @seonghobae