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

@@ -6,7 +6,7 @@
아래 코드 블록을 하나씩 복사하고 Enter를 누르세요. 오류가 나오면 다음 단계로 넘어가지 마세요.
이미 배포했다면 **7. 업데이트**부터 진행하세요. 이번 업데이트는 **8MiB 분할 업로드·주변 자동 발견·PWA 설치·개인 보관함 2GiB**를 추가하며 기존 DB·업로드 볼륨을 유지합니다. 새 도메인이나 외부 포트는 추가하지 않습니다.
이미 배포했다면 **7. 업데이트**부터 진행하세요. 이번 업데이트는 **위치 허용 기반 100m 근처 검색·기종 구분·접속 스켈레톤·퇴장 효과**를 추가하며 기존 DB·업로드 볼륨을 유지합니다. 새 도메인이나 외부 포트는 추가하지 않습니다.
**‘허용되지 않은 접속 경로’가 나오면:** 주소창을 `https://hop.noname.company`로 바꾸세요. `http://`는 운영 `APP_URL`과 달라 차단됩니다. 5-1단계에서 HTTP를 HTTPS로 자동 이동시킵니다.
@@ -256,8 +256,11 @@ sh scripts/configure-nas.sh
6. 최신 **compose.nas.yaml**을 다시 불러오거나 편집기에 붙여넣기 → 저장.
7. **재빌드 / 이미지 다시 빌드** 선택 → **시작 / 재배포**. 단순 재시작만 하면 바뀐 코드가 이미지에 반영되지 않습니다.
8. `healthy` 확인.
9. 이번 업데이트에서는 **4단계**의 hop. 전용 NPM 설정, **5-1단계** HTTPS 자동 이동, **5-2단계** 자동 발견 활성화를 순서대로 진행.
10. 브라우저 새로고침 → 6단계의 링크·100MB보다 큰 파일 전송 확인.
9. 기존 같은 네트워크 자동 발견이 동작한다면 NPM·터널 설정은 그대로 유지합니다. 아직 설정하지 않았다면 **4단계 → 5-1단계 → 5-2단계** 순서로 진행합니다.
10. 브라우저 새로고침 → 양쪽 기기에서 사이트를 열고 브라우저의 **위치 권한을 허용**합니다. 약 100m 안이라면 자동으로 목록에 표시됩니다. 별도 검색 메뉴·거리 안내 문구는 표시하지 않습니다. 위치 권한은 각 기기에서 따로 허용해야 합니다.
11. 기기를 선택 → 링크·파일 전송 확인. 기존 PWA도 앱을 닫고 다시 열어 최신 화면을 확인합니다.
기존 `.env`에 위치 설정이 없어도 `LOCATION_DISCOVERY_ENABLED=true`, 반경 100m가 적용됩니다. 새 도메인·외부 포트는 필요 없습니다. 실제 GPS 오차나 권한 문제로 검색되지 않으면 QR 연결을 이용하세요. [검색 동작과 기종 정보](docs/NEARBY_DISCOVERY.md)에 상세 동작을 기록했습니다.
프로젝트를 삭제하거나 `docker compose down -v`를 실행하지 마세요. DB·파일은 `hop_hop_database`, `hop_hop_uploads` 볼륨에 남습니다. 업데이트 실패 시 중지하고 오류를 확인하세요. DB 마이그레이션이 적용됐을 수 있으므로 코드만 되돌리지 말고 같은 시점의 DB·업로드·환경파일 백업으로 함께 복구해야 합니다.