Skip to content

fix: improve Firebase Data Connect performance#73

Merged
hjkim0905 merged 8 commits into
devfrom
fix/performance-data-connect
Jun 29, 2026
Merged

fix: improve Firebase Data Connect performance#73
hjkim0905 merged 8 commits into
devfrom
fix/performance-data-connect

Conversation

@hjkim0905

Copy link
Copy Markdown
Member

PR 타입

  • Fix : 버그 수정
  • Refactor : 코드 리팩토링

반영 브랜치

fix/performance-data-connect -> dev

변경 사항

대시보드 진입 지연 및 즐겨찾기 반응 지연 문제를 개선했습니다.

1. 대시보드 첫 진입 로딩 스피너 제거 (SSR 전환)

Firebase DataConnect는 클라이언트 전용 SDK라 앱 재시작 시마다 SDK 초기화 -> 인증 확인 -> fetch 순서를 기다려야 해서 약 300ms 이상 로딩 지연이 발생했다.

  • 로그인 시 Firebase ID 토큰을 서버로 전송해 세션 쿠키(__session) 발급
  • 대시보드 진입 시 서버에서 쿠키 검증 후 Cloud SQL에 직접 쿼리
  • 데이터가 담긴 완성된 HTML을 내려보내 JS 로드 전에 화면 즉시 표시
  • dashboard/page.tsx 서버 컴포넌트로 전환
  • DashboardClient.tsx 신규 생성, 클라이언트 전용 로직 분리
  • DashboardHeader.tsx @iconify/react -> 인라인 SVG 교체 (SSR HTML에 아이콘 포함)
  • dataconnect.ts terminate() 후 인스턴스 재초기화 지원
  • /api/auth/set-session, /api/auth/clear-session API route 신규 추가

2. 즐겨찾기 추가 시 즉시 다음 화면으로 이동 (fire-and-forget)

"네!" 버튼을 누르면 addBookmark 완료를 기다린 후 화면이 전환되어 순간적으로 멈추는 느낌이 있었다.

  • await 제거, mutation은 백그라운드 실행
  • 버튼 누르는 즉시 다음 화면으로 이동

3. 보관함 북마크 토글 낙관적 업데이트

별 버튼(추가/삭제)을 누르면 mutation 완료 후 UI가 바뀌어 반응이 없는 구간이 있었다.

  • 버튼 누르는 즉시 UI 상태 변경 (낙관적 업데이트)
  • mutation 실패 시 이전 상태로 롤백

테스트 결과 (스크린샷)

  • 낙관적 업데이트, 이동 두개 테스트 완료
수정전 수정후

@vercel

vercel Bot commented Jun 29, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
tolli-fe-web Ready Ready Preview, Comment Jun 29, 2026 3:27pm

@hjkim0905 hjkim0905 merged commit 64abd1f into dev Jun 29, 2026
3 checks passed
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.

2 participants