Clarify transfer rejections and improve storage readability

This commit is contained in:
2026-10-15 17:18:07 +09:00
parent 60a14e9c6c
commit 8fb8c203f0
17 changed files with 300 additions and 55 deletions

View File

@@ -461,7 +461,7 @@ pull_policy: build
새 기본 한도는 같은 상대 10회/분, 기기 세션 전체 30회/분, 같은 IP 전체 120회/분입니다. 로그인 중 기기 전송에도 같은 기준을 적용합니다. 파일 개수가 아닌 전송 요청 횟수를 계산하며, 거절·취소한 전송 요청도 이미 사용한 횟수에 포함됩니다. 제한된 재시도나 진행 중 전송 때문에 거절된 요청은 다른 한도를 추가로 소모하지 않습니다.
제한 창은 첫 허용 요청부터 60초이며 반복 재시도로 종료 시간이 연장되지 않습니다. 상대가 거절하면 별도로 기본 300초 동안 그 상대에게 재요청할 수 없습니다. 서버는 `Retry-After`와 남은 시간을 반환하고, 전송 버튼에 카운트를 표시합니다. 대기 중에도 입력·파일 선택은 유지하며 시간이 끝나면 전송 버튼이 다시 활성화됩니다.
제한 창은 첫 허용 요청부터 60초이며 반복 재시도로 종료 시간이 연장되지 않습니다. 같은 상대가 최근 300초 안에 연속 3회 거절한 경우에만 마지막 거절부터 기본 300초 동안 그 상대에게 재요청할 수 없습니다. 한두 번의 거절 후에는 즉시 다시 요청할 수 있고 중간에 수락하면 누적을 끊습니다. 취소·만료는 거절 횟수에 추가하지 않으며 기존 거절 누적을 지우는 용도로도 쓰지 않습니다. 다른 상대나 반대 방향 전송에는 해당 거절 제한을 적용하지 않습니다. 거절 시 보내기 창을 닫고 상대가 거절했다는 알림을 표시하며, 새로고침으로 과거 거절을 반복 알리지 않습니다. 서버는 `Retry-After`와 남은 시간을 반환하고, 전송 버튼에 카운트를 표시합니다. 대기 중에도 입력·파일 선택은 유지하며 시간이 끝나면 전송 버튼이 다시 활성화됩니다.
**기존 NAS `.env`에 이전 기본값이 있으면 한 번 아래 명령으로 그 값만 변경합니다. 직접 조정한 다른 값과 비밀값은 유지합니다.** hop 폴더에서 실행하세요:
@@ -528,7 +528,7 @@ Compose 변경이나 DB 초기화 없이 평소처럼 Git pull 후 `sudo docker
## 출시 전 전송 자료 초기화 (계정 보존)
현재 운영 NAS의 전송/보관 자료를 비워도 된다는 운영자 결정에 따라 사용할 일회성 작업입니다. 앱 시작 때 자동 초기화하거나 새 폴더로 이관하는 코드는 추가하지 않습니다. 새 업로드는 접두어 없는 `uploads/originals/업로더UUID/`에 저장합니다. 관리자 파일 목록은 기기명을 생략하고 ID와 로그인 이메일 또는 ‘비로그인’을 표시합니다. 과거 비로그인 기록을 현재 로그인 계정으로 추정하지 않습니다.
현재 운영 NAS의 전송/보관 자료를 비워도 된다는 운영자 결정에 따라 사용할 일회성 작업입니다. 앱 시작 때 자동 초기화하거나 새 폴더로 이관하는 코드는 추가하지 않습니다. 새 업로드는 접두어 없는 `uploads/originals/업로더UUID/`에 저장합니다. 관리자 파일 목록은 기기명을 생략하고 ID와 로그인 이메일 또는 ‘게스트(Guest)’를 구분점으로 나누어 표시합니다. 과거 비로그인 기록을 현재 로그인 계정으로 추정하지 않습니다.
프로젝트 디렉터리에서 최신 소스를 받은 뒤 진행합니다.
@@ -549,3 +549,7 @@ sudo docker compose -f docker-compose.yaml up -d --build
## 관리자 용량 표시·파일 전송 금지
관리자 상단의 신규 업로드 허용/중지 영역은 제거하고 파일 전송 금지를 네트워크의 개별 토글로 옮겼습니다. 용량 단위는 KB/MB/GB를 유지하고 `7,687.0GB`처럼 천 단위 쉼표를 표시합니다. 동시에 처리할 업로드 수에도 설명을 표시하고 읽기/수정 화면의 수치와 입력창을 같은 높이로 정렬합니다. 이번 변경은 기존 관리 설정 필드를 재사용하므로 DB 초기화나 Compose 변경 없이 최신 소스로 재빌드·배포하면 됩니다.
## 거절 누적·게스트 표시·용량 소수점 가독성
한 번 거절하면 바로 5분 기다리는 정책을 연속 3회 거절 시에만 적용하도록 변경했습니다. 텍스트·링크·파일과 보관함 재전송에 같은 정책을 적용합니다. 기존 횟수 제한과 수신자 차단은 유지합니다. 용량 숫자는 천 단위 구분을 유지하고 소수점 부분을 더 작고 흐리게, 단위 앞에는 시각적 간격을 둡니다. 저장 파일의 주체는 `UUID · 게스트(Guest)` 또는 `UUID · 이메일`, 지역은 `접속 지역 · 일본(JP) · Tokyo · IP` 형식으로 표시합니다. DB 구조·저장된 바이트 수·Compose 변경 없이 최신 소스를 재빌드·배포하면 됩니다.