Add automatic nearby discovery and simplify device presence UI

This commit is contained in:
2026-10-12 17:53:10 +09:00
parent 7e9bb1ec36
commit 5f431ee153
23 changed files with 1148 additions and 106 deletions

View File

@@ -87,3 +87,13 @@
- PWA manifest·PNG 아이콘·실제 Service Worker·iPhone 설치 안내·설치 이벤트·설치 후 숨김·320px 헤더·오프라인 안내·민감한 데이터 캐시 없음 검증. 실제 OS 설치와 실물 Safari/Android는 사용자 기기에서 확인해야 한다.
- 개인 보관함 2GiB의 직접 저장·받은 파일 합산, 다른 계정 격리, 한도 초과 수신의 다운로드 유지·계정 기록 생략, 삭제 후 공간 회수·초과 복원 거절을 확인했다.
- 전체 빌드와 남은 타입 검사 통과. 운영 Docker 이미지 빌드와 재시작 후 SQLite integrity·세션·기기명·기존 파일·미완료 업로드 조각의 위치 보존 및 이어 보내기 완료 검증. 실제 NAS·Cloudflare·NPM 경로 활성화는 deploy.md의 운영 진단으로 수행한다.
## 2026-10-12 위치 검색과 접속 상태 UI 업데이트
- 전체 빌드와 남은 타입 검사 통과. API 테스트 73개 통과.
- 양쪽 위치 동의·100m 반경·좌표 오차/유효성·여러 탭·만료·발견 허용 끄기·방 격리·기존 접근 경계·수락 직전 위치 해제를 검사했다. 위치는 서버 메모리에만 저장한다.
- 실제 Chrome 브라우저에서 위치 권한 허용 후 별도 검색 버튼·거리 안내 없이 자동 발견, 대기 중 반복 API 요청 없음, 모바일·탭 숨김 후 위치 삭제/복귀, 거리 밖 제외·권한 거절 후 반복 요청 없음, 수락 후 링크 자동 열기를 검증했다. 좌표는 테스트 브라우저의 위치 시뮬레이션을 사용했으며 실제 NAS 주변 GPS 환경은 배포 후 확인해야 한다.
- 별도 브라우저 검증에서 새 기기 이벤트 후 서버 조회를 지연시켜 카드 스켈레톤을 확인하고, 정보 도착 후 실제 카드로 교체·직접 지정한 이름 우선·모델별 이름·제조사 제한 추정·연결 해제 애니메이션·메타데이터 정리를 검사했다. 기기 12대의 4/3/2열 반응형과 빈 화면도 확인했다.
- 기존 브라우저 테스트 5종(익명 전송, 계정 보관함, 방 기기 관리, 분할 업로드, PWA) 모두 통과했다. 수락 팝업·자동 열기/다운로드·재시도·7일 보관·2GiB 용량 경계는 유지한다.
- 운영 Docker 이미지 빌드 및 재시작 후 SQLite integrity·세션·기기명·파일·미완료 분할 업로드 복구 테스트 통과. 화면 정리 이후에도 같은 검증을 완료했다.
- NAS 업데이트 순서는 deploy.md에 기록했다. 새 도메인·포트는 필요 없고 실제 NAS에 대한 원격 배포는 수행하지 않았다.