Separate completed transfers and retain original file extensions
This commit is contained in:
@@ -167,3 +167,10 @@
|
||||
- 수신 카드에 유형별 아이콘·제목, 수락/거절 2:1 버튼, 오른쪽 하단 차단 확인을 적용했다. 현재 기기만 자신의 차단 목록을 조회·해제할 수 있으며 해제해도 이전 요청은 되살리지 않는다. 수신 파일 목록의 기본 들여쓰기를 제거하고 0.1MB 이상은 MB·1GB 이상은 GB로 표시하며 한 파일의 용량을 중복 표시하지 않는다. 기기 이름 관련 안내 문구는 제거했다.
|
||||
- API 102개 통과. 새 검증에서 실제 제한 응답의 종료 시간·헤더, 반복 재시도의 다른 한도 보존, 거절 대기, 차단 목록 비공개·다른 기기의 해제 불가·해제 후 재전송과 기존 요청 재수락 불가를 확인했다. 전체 빌드·타입 검사와 기존 파일/링크·클립보드·반응형 레이아웃 브라우저 검증도 통과했다.
|
||||
- 새 실제 Chromium 검증에서 모바일/PC 버튼 비율, 파일 용량 0.1/1.3MB·1.7GB, 파일 목록 여백·가로 넘침 없음, 초안 유지·카운트 종료 후 재활성화, 차단 확인 취소·실행·관리 화면 해제를 확인하고 스크린샷을 확인했다. 브라우저 카운트 검사는 3초 제한 응답을 주입했고 실제 60초 제한·서버 권한은 API 테스트로 검증했다. NAS 재배포와 실물 Safari 검증은 수행하지 않았다.
|
||||
|
||||
## 2026-10-14 완료 파일 분류와 원래 확장자
|
||||
|
||||
- 사용자가 선택한 대로 보관함에 연결되지 않은 파일은 수신자에게 다운로드 응답을 끝낸 뒤 `uploads/completed`로 옮기고 기존 7일 만료일을 유지한다. 보관함·실행 취소 가능한 계정 참조가 있으면 `originals`에 유지하며 복원된 참조는 정리 시 원래 폴더로 돌린다. 파일 ID·접근권·원래 다운로드 이름·개인 및 익명 용량 계산은 그대로 사용한다.
|
||||
- 물리 파일명에 안전한 원래 확장자를 붙이며 확장자 없는 기존 파일은 앱 시작 시 DB와 함께 변경한다. 이동은 진행 중 다운로드·이미지 미리보기가 종료될 때까지 미룬다. DB 변경 실패 시 파일을 원래 경로로 돌리고, 이동 기록으로 재시작 중 경로 불일치를 복구한다. 기존 다운로드 완료 여부는 소급 추정하지 않는다. 두 폴더에 수동 삭제 감지·기존 만료 및 고아 파일 정리를 적용했다.
|
||||
- API 총 112개 통과. 새 실제 파일 검사 10개로 로그인 발신→익명 수신 완료 분류·익명 발신→로그인 수신 보관함 유지·재다운로드·만료일과 체크섬 보존·권한 없는 읽기 및 발신자 읽기의 분류 제외·동시 읽기·HTTP 중도 종료·기존 확장자 이전·DB 실패 롤백·계정 삭제 실행 취소와 복원·재시작 복구·수동 삭제·자연 만료를 확인했다. 전체 빌드·타입 검사·포맷 및 셸 문법 검사도 통과했다.
|
||||
- 기존 익명 파일/링크 전송 및 PC/모바일 보관함·파일 재전송·수동 원본 삭제 브라우저 검증을 통과했다. 새 운영 Docker 이미지와 격리한 임시 DB 볼륨·바인드 업로드에서 완료 폴더와 `.txt` 확장자, 재시작 후 기존 주소 다운로드, 8MiB 조각 이어 보내기, Unicode 텍스트·세션 보존, SQLite integrity, 완료 폴더의 호스트 수동 삭제를 확인했다. NAS 설정 검사도 통과했고 `docker-compose.yaml`은 변경하지 않았다. 실제 NAS 재배포는 수행하지 않았다.
|
||||
|
||||
Reference in New Issue
Block a user