Skip to content

perf: 게시판 목록 로딩 성능 최적화 + 미사용 이미지 정리#252

Merged
sdk-kr merged 5 commits into
mainfrom
fix/tiptap-linked-image
Mar 5, 2026
Merged

perf: 게시판 목록 로딩 성능 최적화 + 미사용 이미지 정리#252
sdk-kr merged 5 commits into
mainfrom
fix/tiptap-linked-image

Conversation

@sdk-kr
Copy link
Copy Markdown
Contributor

@sdk-kr sdk-kr commented Mar 5, 2026

Summary

  • CDN 캐시: 비로그인 게시판 목록 s-maxage=10, stale-while-revalidate=30 적용
  • Board 정보 인메모리 캐시 (60초 TTL, backend API 호출 스킵)
  • 비로그인 게시글 목록 인메모리 캐시 (15초 TTL)
  • 미사용 이미지 6개 삭제 (admin/guest/special SVG, muzia 로고, thumb)

Test plan

  • curl -sI 'https://damoang.net/free's-maxage=10 확인
  • 2회 연속 접속 → cf-cache-status: HIT 확인
  • 로그인 시 cache-control: private, no-store 확인
  • 레벨 배지 정상 표시 확인 (삭제한 SVG가 사용 안 되는지)

🤖 Generated with Claude Code

Deploy Bot and others added 5 commits March 5, 2026 12:41
@tiptap/extension-image를 확장한 LinkedImage 커스텀 extension 생성.
ProseMirror의 Image 노드가 marks를 허용하지 않아 <a><img></a> 파싱 시
Link mark가 제거되던 문제를 href를 노드 attribute로 관리하여 해결.
- 홍보 게시판 목록: pin_to_top 우선, 날짜 내림차순 정렬
- Tiptap 에디터: 이미지 선택 후 링크 설정 다이얼로그 추가
- 카카오 OAuth: 잘못된 client_secret 자동 감지/무시, 선택적 전송
- 소셜 로그인 버튼 순서 랜덤 셔플

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- sessionStorage 카운터로 2회 이상 새로고침 시 배너 숨김
- 새로고침 시 Service Worker 해제 + Cache Storage 삭제
- cache-busting query param으로 브라우저 캐시 우회

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
app.html의 인라인 배너가 사용자에게 반복 표시되는 문제.
hooks.client.ts에서 chunk load error를 자동 새로고침(최대 2회)으로
이미 처리하고 있으므로 중복 배너 제거.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- CDN 캐시: 비로그인 게시판 목록 s-maxage=10 적용
- Board 정보 인메모리 캐시 (60초 TTL, backend 호출 스킵)
- 비로그인 게시글 목록 인메모리 캐시 (15초 TTL)
- 미사용 이미지 6개 삭제 (admin/guest/special SVG, muzia 로고, thumb)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@sdk-kr sdk-kr merged commit 0defdfa into main Mar 5, 2026
9 of 12 checks passed
@sdk-kr sdk-kr deleted the fix/tiptap-linked-image branch March 5, 2026 07:08
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Mar 5, 2026

Staging 배포 완료

URL: https://dev.damoang.net
이미지: staging-81bcef2
커밋: 81bcef2

변경사항을 dev.damoang.net에서 확인하세요.

sdk-kr added a commit that referenced this pull request Mar 7, 2026
## Summary
- CDN 캐시: 비로그인 게시판 목록 `s-maxage=10, stale-while-revalidate=30` 적용
- Board 정보 인메모리 캐시 (60초 TTL, backend API 호출 스킵)
- 비로그인 게시글 목록 인메모리 캐시 (15초 TTL)
- 미사용 이미지 6개 삭제 (admin/guest/special SVG, muzia 로고, thumb)

## Test plan
- [ ] `curl -sI 'https://damoang.net/free'` → `s-maxage=10` 확인
- [ ] 2회 연속 접속 → `cf-cache-status: HIT` 확인
- [ ] 로그인 시 `cache-control: private, no-store` 확인
- [ ] 레벨 배지 정상 표시 확인 (삭제한 SVG가 사용 안 되는지)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

---------

Co-authored-by: Deploy Bot <deploy@damoang.net>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant