Move file transfer restriction into network settings

This commit is contained in:
2026-10-15 13:51:36 +09:00
parent 328fad2e36
commit 9cda9cbe84
20 changed files with 456 additions and 88 deletions

View File

@@ -219,3 +219,10 @@
- 새 파일 폴더는 `originals/업로더UUID/`이다. 관리 목록은 기기명을 생략하고 UUID + 계정 이메일 또는 비로그인을 표시한다. 계정 이메일은 관리자 API에서 DB의 업로더 계정으로 조회하며 일반 전송 API에 추가하지 않는다. 기존 prefix 폴더를 강제로 옮기는 새 이관 기능은 추가하지 않았다.
- 출시 전 자료를 비워도 된다는 운영자 요청에 맞춰 별도 오프라인 초기화 도구를 준비했다. 서비스 실행 중 실행을 막는 NAS 래퍼를 사용하며 전송/보관함/기기 세션만 DB 트랜잭션으로 비운다. 격리 DB와 실제 Docker DB 볼륨에서 계정·비밀번호·인증/로그인 세션·사용자 정보·관리 설정을 그대로 보존하고 외래 키/SQLite integrity를 확인했다. uploads의 내용은 운영자가 서비스 중지 상태에서 직접 삭제한다. NAS 운영 DB나 파일은 여기서 초기화하지 않았다.
- 전체 API 144개, 관리자 PC/모바일 브라우저, 타입 검사와 빌드를 통과했다. 운영 이미지의 격리 Docker에서 설정/파일/텍스트/인증 재시작 보존, 8MiB 조각 재개, UUID 경로·NAS UID·호스트 수동 삭제 대응, 오프라인 기록 초기화 후 계정/관리 설정 보존과 재시작을 통과했다. 테스트 자원은 종료 후 제거했고 운영 Compose 설정은 변경하지 않았다.
## 2026-10-15 파일 전송 금지·용량 쉼표·한도 정렬
- 용량 표시를 KB/MB/GB로 유지하면서 `7,687.0GB`처럼 천 단위 쉼표를 붙였다. 공통 포맷 경계 테스트와 NAS 크기의 디스크 값을 사용하는 실제 관리자 카드에서 확인했다. 업로드 수에 설명을 추가하고 읽기/수정 화면을 위쪽 정렬하여 첫 행 입력창의 실제 top/height 일치를 검증했다.
- 관리자 상단 업로드 허용/중지 영역을 제거하고 네트워크 수정 화면에 ‘파일 전송 금지’ 토글을 배치했다. 기존 `uploadsPaused` 설정과 리비전/명시적 저장을 재사용한다. 새 파일 업로드·보관함 파일 저장·저장된 파일의 새 재전송과 미수락 파일 요청 수락을 서버에서 거절하며 링크/텍스트 전송·저장은 유지한다.
- 초기 세션·기기 스냅샷·소켓 연결/재연결에서 파일 전송 가능 여부와 정책 리비전만 공개한다. 변경 시 기존 접속자에게 전달하고 오래된 스냅샷이 최신 상태를 덮어쓰지 못하게 비교한다. 사용자 화면의 파일 선택/보관함 저장/파일 재전송 메뉴를 숨기고 링크·텍스트 안내를 표시한다. 열린 파일 초안도 전환하고 파일 드롭/이미지 붙여넣기는 차단하며 작성 중인 텍스트는 유지한다. 이미 수락한 파일은 이어 보내기/취소를 제공하고 기존 다운로드도 유지한다.
- API 145개, 관리자 PC/390px 모바일, 기존 클립보드·계정 보관함·101MiB 파일 분할 전송 브라우저 회귀, 타입 검사·빌드·포맷 검사를 통과했다. 브라우저에서 금지 중 한글/일본어/이모지/줄바꿈 텍스트를 실제 전송하고 금지 해제 후 파일 메뉴 복구·작성 내용 보존을 확인했다. 격리 운영 Docker에서 금지 설정의 재시작 보존, 수락된 8MiB 조각 이어 보내기와 기존 다운로드, 파일/텍스트/인증·한도 유지, NAS UID 바인드 저장소·수동 파일 삭제 대응도 통과했다. NAS 운영 서비스/자료와 Compose 설정은 변경하지 않았다.