🏌️ 공치고 썸타고 · 작업 보고서
2026-06-21 (토)
■ 진행률 : 90% (코드/DB 완료 · 네이티브 OTA 배포만 대기)
■ 완료 : 재시작 멈춤 수정 · 구글 전용 전환 · 이성 회원 알림 · 검색 팝업 이모지
■ 다음 작업 : 사용자 EAS 로그인 후 네이티브 OTA 푸시 (웹은 배포 완료)
■ 승인 필요 : 없음 (비용/PG/SMS/개인정보 변경 없음)
1. 앱 재시작 멈춤 해결 완료
“닫았다 다시 켜면 가운데 파란 새로고침 아이콘만 뜨고 멈춤, 완전 종료해야 실행됨” 증상 해결.
- 원인:
onAuthStateChange 콜백 안에서 supabase.from()을 await → auth 락 데드락. 백그라운드 복귀 시 토큰 갱신이 락 안에서 멈춰 콜백이 끝나지 않음(콜드 스타트는 토큰이 신선해 정상).
- 수정: 콜백을 동기화하고 프로필 로드를 락 밖(
setTimeout 0)으로 미룸. 초기 로딩은 try/finally + 6초 안전장치로 항상 해제. 네이티브는 AppState 기반 토큰 자동갱신(start/stopAutoRefresh) 추가.
mobile/src/lib/auth-context.tsx · mobile/src/lib/supabase.ts
2. 구글 로그인 전용 전환 완료
- 로그인 화면을 Google 버튼만 남기고 이메일/비밀번호 폼·로그인 버튼·“가입하기”·“비밀번호 찾기” 링크 제거.
- 가입(
sign-up)·비밀번호 재설정(reset-password) → 로그인으로, 비밀번호 변경(change-password) → 설정으로 리다이렉트 폐지(딥링크 안전망).
- 설정 메뉴에서 “🔑 비밀번호 변경” 제거.
- 관리자(admin) 운영자 로그인은 이메일/비번 그대로 유지.
mobile/src/app/{sign-in,sign-up,change-password,reset-password,settings}.tsx
3. 이성 회원 가입 승인 알림 완료(DB 적용)
- 회원 승인(is_approved false→true) 시, 반대 성별의 승인·비휴면 회원 전원에게 “새로운 이성 회원” 알림 + Expo 푸시 발송.
- DB 트리거(
trg_notify_new_approved_member)로 구현 — 승인 경로와 무관하게 항상 동작, 기존 푸시 파이프라인 재사용.
- 덤으로 누락돼 있던
approved enum 값을 복구 → 그동안 동작 안 하던 승인 축하 알림도 살아남.
backend/migrations/0059_new_member_notify.sql (Supabase 적용 완료)
4. 닮은연예인 검색 팝업 이모지 완료
- 제목
🎭(연극 가면) → ✨로 변경(이쁘고 귀여운 느낌).
- 로딩 “💖 사진을 찾고 있어요…”, 결과 없음 “🥲 사진을 찾지 못했어요.” 문구 보강.
mobile/src/app/member/[id].tsx
5. 상세 프로필 사진 전체 표시 완료
- 상세 프로필에서 대표 1장만 보이던 것을 → 탐색처럼 모든 사진 표시.
- 대표 사진은 상단에 풀폭 크게, 나머지 사진은 프로필 정보 아래로 한 장씩 세로로.
profile_photos(승인된 사진, 대표 먼저)를 useMemberPhotos로 불러옴. 받은-관심 게이트 시에는 기존대로 잠금.
mobile/src/app/member/[id].tsx
6. “연락처 전체 차단” 오류 원인 진단·안내 개선(네이티브 재빌드 필요)
- 증상: 전체 차단 시 “연락처를 불러오지 못했어요…” — 이는 권한 거부가 아니라 예외(catch)였고, 진짜 원인이 가려져 있었음.
- 가장 유력 원인: expo-contacts 네이티브 모듈 미포함(연락처 기능 추가 전 빌드된 구버전 앱). OTA로는 못 고치고 새 네이티브 빌드/재설치 필요.
- 조치: 모듈 없음/권한 영구거부를 구분해 실제 원인을 표시하고 “앱 업데이트 필요” 또는 “설정에서 권한 허용” 안내. 그 전에도 “직접 추가”로 번호 차단 가능 안내.
mobile/src/app/blocks.tsx
부수 작업 · 운영
- 밴드 수집용 크롬 창을 화면 오른쪽으로 밀어 ~150px만 노출(끌어올 수 있게) — collect-loop.mjs 반영.
- “초대 → 모임” 이름 변경 지시는 사용자 요청으로 취소(초대 그대로 유지).
⏯️
다음 단계(사용자 액션): 네이티브 앱 반영은 EAS 로그인이 필요합니다.
프롬프트에
! npx eas login 로 로그인하신 뒤 알려주시면 OTA(
eas update --branch preview)를 올리겠습니다. 웹(
gongssum-mobile.pages.dev)은 이미 배포 완료.