Commit Graph

14 Commits (d5bb200d00b7ba67acbba746a0a65dc0ef9d7267)

Author SHA1 Message Date
RyuJongJin d5bb200d00 explorer_test 흔들림: Rsync 화면의 새 폴더가 골라질 때까지 기다리기
전체 시험 중 바쁠 때 새 폴더가 보인 직후 (골라지기 전) 확인해 실패했다.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-10 06:14:11 +09:00
RyuJongJin f33a4b3547 휴지통 시험: 기본은 가짜 휴지통, 실제 휴지통은 JJ_TEST_REAL_RECYCLE=1 일 때만
전체 시험 도중에 끊기면 사용자 휴지통에 시험 흔적이 남았다 (10/10 01:31).
- 탐색기는 recycle() · restoreRecycled() 를 쓴다 (앱은 늘 실제 휴지통, 시험만 recycleBinForTest 로 바꿈).
- test/support/fake_recycle_bin.dart: 실제와 같은 규칙 (긴 경로 거부 · 되돌릴 때 덮지 않음 · 원래 폴더 없으면 안 만듦),
  다른 드라이브면 복사 후 지움. useTestRecycleBin() 은 JJ_TEST_REAL_RECYCLE=1 이 아니면 가짜로.
- recycle_bin_test 의 실제 휴지통 시험 3개와 긴 경로의 실제 함수 부르기는 실제 모드에서만.
  explorer_conflict · explorer · 캡처 시험 (b3 · check) 은 기본 가짜.
- windows_check_shot_test 의 "65 · 94 · 98" 은 144 뒤로 깨져 있었다 ([그대로 두기] 창을 닫지 않아 다음 크기에서 막힘) - 닫게 고침.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-10 02:11:38 +09:00
RyuJongJin 6010aa908b explorer_test: tearDown 의 임시 폴더 지우기를 될 때까지 기다리기
Windows 에서 방금 닫은 파일 (65 의 잠금 시험) 이나 색인 · 백신이 잠깐 잡고 있으면 지우기가 실패할 수 있다.
100ms 씩 최대 약 5초 다시 지운다. (65 만 20번 연달아 돌려 모두 통과 - 실패는 재현되지 않음)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-10 00:29:19 +09:00
RyuJongJin 794f484c19 explorer_test 흔들림: "여러 개 표시 →" 시험이 전체 시험 중에만 실패하던 것 - 될 때까지 기다리기
- 표시 직후 "2개 표시함" 을 될 때까지 기다림, 이 파일의 settle 은 300번 (최대 9초) 까지 (되면 바로 나옴)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-09 23:14:31 +09:00
RyuJongJin 746082db22 147 좁은 화면의 버튼 줄: 들어가지 않는 버튼은 [더 보기] 메뉴로 · 창 배치 버튼은 늘 줄에 · 처음 값은 자주 쓰는 것부터
- 버튼 줄은 밀어 넘기는 줄이라 아래쪽 버튼 (숨은 항목 표시 등) 을 찾지 못했다 - 들어가는 만큼 보이고 나머지는 [더 보기 ⋯]
- 창 배치 (두 창으로 / 좌우 ⇆) 는 사용자 요청대로 늘 줄에 (넘치면 마지막 자리를 내줌)
- 처음 값 (버튼 구성을 바꾸지 않았을 때 · [기본값]) 순서: 복사 · 이동 · 삭제 · 새 폴더 · 이름 변경 · 선택 · 찾기 · 창 배치 → 나머지.
  사용자가 정한 순서는 그대로
- 시험: 낮은 화면에서 [더 보기] · 메뉴로 숨은 항목 표시 · 창 배치 버튼은 줄에 · 처음 값 순서 · 정한 순서 유지

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-09 21:52:34 +09:00
RyuJongJin 597d853943 비밀번호 안전 저장 · 동기화 안전장치 · 휴지통 · 시작 메뉴 알림 · 보기 화면 (계속 보기 · 두 쪽 · 회전) · 탐색기 배치 등
- 40/54: WebDAV · OpenSubtitles 비밀번호를 안전 저장소 (Android Keystore · Windows DPAPI) 로
- 95~114: rsync 지우기 확인 · 미리 보기 · 좁은 화면 확인 창 · 실시간 동기화 멈춤 알림
- 99: 시작 메뉴 바로 가기 (AUMID) · jjmkvmaker:// · Windows 알림 꺼짐 안내
- 102: 질문을 설정으로 · 시스템 언어 따르기
- 113 · 117~120: 보기 화면 막대 · 계속 보기 · 두 쪽 나눠 보기 · 회전 · 반전 · 좁으면 ⋮ 메뉴
- 115 · 116: 자동 백업 복원 알림 · 권한 안내와 자동 다시 분석
- 118 · 122: 탐색기 좌우 ⇆ / 위아래 ⇅ 버튼 · 경로로 가면 새로 읽어 펼침

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-09 10:25:08 +09:00
RyuJongJin 0cf7a9a7b7 업데이트: 올려 둔 모든 버전 중 골라 설치 (예전 버전으로 되돌리기) · Rsync 화면 · 모니터링 개선 · 두 번째 실행 충돌 수정
- 설정 [업데이트 · 버전 고르기]: GitHub 의 모든 릴리스 (지금 · 최신 · 시험판 표시, 바뀐 내용) 중 골라 설치.
  새 버전으로 · 예전 정상 버전으로 되돌리기 · 다시 설치. 자동 확인 (하루 한 번) 은 지금처럼 최신만.
- 버전을 바꾸기 전 지금 버전의 설정 (설정 · 동영상 목록 · 즐겨찾기 · 창 위치) 을 version_snapshots 에 보관
  (자막 API 키 · 비밀번호는 넣지 않음). 그 버전으로 돌아오면 (lastRunVersion 이 다르면) 되살릴지 묻고 다시 시작.
- Windows 되돌리기: 설치 스크립트가 Lib 를 그 버전과 똑같이 맞춤 (robocopy /MIR, 받은 파일 · 모델 폴더 제외).
- Android 되돌리기: 낮은 버전은 위에 설치 불가 → APK · 설정을 Download/JJ_MKVMaker 에 저장 후 앱 지우기 창,
  다시 설치한 앱이 시작할 때 저장해 둔 설정을 되살릴지 묻는다.
- 두 번째 실행 (앱이 켜져 있을 때 다시 실행) 이 끝나며 coremessaging.dll 접근 위반으로 꺼지던 것: 바로 끝내기로.
- Rsync 화면: 새 폴더를 만들면 그 줄로 스크롤하고 그 창의 원본 · 대상으로 바로 고름 (트리 위치 계산도 폴더만 기준으로).
- 모니터링: 끝나지 않은 (실행 중 · 실패 · 취소) 작업도 lsync 로 이동 (실행 중이면 물어보고 멈춘 뒤),
  진행 막대 위 = 지금 파일 (그 파일의 % · 전송 속도), 아래 = 폴더 전체 (rsync to-chk 기준 항목 수),
  전송 속도 표시 (rsync -P · 현재 방식은 최근 3초)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-08 09:05:45 +09:00
RyuJongJin 1ac48354af rsync 원본 파일 지우기 (--remove-source-files) · 빈 폴더 정리 · lsync 최종 정리
- Rsync 화면의 한 방향 (좌 → 우 · 좌 ← 우): 확인 창에서 [원본 파일 지우기 (--remove-source-files)] 를 고를 수 있고,
  고르면 끝난 뒤 원본의 빈 폴더를 지움 (find 원본/ -type d -empty -delete) - 원본 폴더는 남김 / 지움 중 고르기.
  양쪽 (⇄) 에는 없음
- 모니터링 lsync 의 쌍마다 [최종 정리]: rsync -avHPOg --remove-source-files 원본/ 대상/ 뒤 빈 폴더 지우기,
  원본 폴더 남김 / 지움 고르기. 원본이 비므로 그 실시간 동기화는 끔 (지우기 포함이면 대상까지 비우지 않게),
  진행은 복사 · rsync 탭에 남음
- 기억한 작업에 원본 정리 (prune) 저장, 모니터링 카드에서 바꾸기 · 진행 막대에 "빈 폴더 N개 지움"
- 원본 정리를 고른 이동은 예전의 "비면 원본 폴더째 지우기" 대신 고른 대로
- Windows 실제 rsync 로 시험 (integration_test/rsync_page_test.dart)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-05 21:47:20 +09:00
RyuJongJin c273297b11 Rsync 화면 (파일 탐색기 옆) · 파일 탐색기에서 모니터링 · rsync · lsync 빼기
- 위쪽 파일 탐색기 옆 [Rsync]: 파일 탐색기와 같은 모양, 늘 좌우 두 창 · 폴더만 · 창마다 폴더 하나만 고르기
- 가운데 좌 → 우 (왼쪽 → 오른쪽) · 좌 ← 우 (오른쪽 → 왼쪽) · 좌 ⇄ 우 (둘 다 함께, -u 로 받는 쪽의 새 파일은 덮어쓰지 않음)
  폴더 안의 것을 맞춤 (원본/ → 대상/), 확인 창에 경로 · 옵션, 진행 막대는 방향마다
- 가운데 [모니터링]: 실행한 rsync 가 남아 옵션 고치기 · 다시 실행 · lsync 로 옮기기 · 일정 (앞의 모니터링 그대로)
  확인 창에서 취소하면 남기지 않음, 고른 폴더는 다음에 열 때 그대로 (rsyncPaths)
- 파일 탐색기: 모니터링 버튼 · rsync 빼고 현재 방식 · robocopy 만 (예전 값 rsync 는 현재 방식으로), 복사는 모니터링에 남기지 않음
- 환경 설정: [Rsync] 묶음 (rsync 옵션 · 가져오기 · 실시간 동기화 · 백그라운드로 실행), 복사 모니터링 스위치 없앰
- Windows 실제 rsync 로 → · ⇄ 시험 (integration_test/rsync_page_test.dart)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-05 18:28:32 +09:00
RyuJongJin c5a44f2f3f 폴더 선택 = 자기 자신과 안의 것 전체 · rsync 앱에 내장 (Windows · Android)
- 선택 모드: 폴더를 누르면 자기 자신과 안의 파일 · 폴더 모두 선택 (펼쳐서 ✔), 다시 누르면 모두 취소.
  고른 폴더 안의 항목 하나를 누르면 그것만 빠지고 나머지는 고른 채로
- rsync 내장: Windows 는 실행 파일 옆 rsync\ (tool/fetch_rsync.ps1, MSYS2 패키지 SHA256 고정),
  Android 는 NDK 로 rsync 3.4.1 소스를 빌드한 librsync.so (tool/build_rsync_android.sh, jniLibs)
- rsync 가져오기 기본 = 앱에 들어 있는 것 (Windows 는 없으면 내려받기), 폴더 복사 기본 = rsync (예전 기본값도 rsync 로)
- Android rsync 는 -8 로 한글 이름을 그대로 출력, lsync (실시간 동기화) 도 rsync 로 동작

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-05 13:57:59 +09:00
RyuJongJin 626117995d 파일 탐색기: 폴더 한 번 누르기 = 펼치기, 선택 모드 (X-plore 처럼)
- 폴더는 한 번 누르면 바로 펼치기 · 접기 (오른쪽 파일 목록은 들어가기). 두 번 누르기는 파일만
- 선택 동그라미는 평소 숨기고 선택 모드에서만 (✔ 표시). 가운데 [선택] 버튼 · 길게 누르기 메뉴 [선택] · Ctrl + 클릭으로 시작
- 선택 모드에서 누르기: 파일은 선택 · 취소, 폴더는 처음엔 선택, 고른 폴더를 다시 누르면
  폴더는 풀고 펼쳐서 안의 파일 · 폴더를 모두 선택
- 아래 막대: n개 표시함 · 모두 선택 · 표시 지우기 · 선택 끝. 복사 · 이동 · 삭제가 끝나면 선택 모드도 끝
- 화면을 닫은 뒤 끝난 파일 작업이 닫힌 창을 다시 그리려던 오류 수정
Android 태블릿 (Galaxy Tab S6 Lite) 에서 확인.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-05 09:43:28 +09:00
RyuJongJin 35ca463287 파일 탐색기: 어느 배치에서나 복사 · 이동 → 붙여넣기
"폴더 + 파일 목록" · 한 창 배치에서는 복사 · 이동이 막혀 있었다 (다른 창이 없음).
길게 누르기 메뉴 · 버튼의 [복사] · [이동] 으로 담아 두고, 넣을 폴더에서 [붙여넣기] (메뉴 · 버튼).
두 창은 지금처럼 "다른 창으로 복사 · 이동" 도 그대로. 붙여넣은 폴더는 펼쳐서 새 항목이 바로 보인다.
Android 태블릿 (Galaxy Tab S6 Lite) 에서 확인.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-05 08:48:56 +09:00
RyuJongJin a485d0d997 파일 탐색기: 한 번 = 선택 · 두 번 = 실행, 스타일 (X-plore · Windows 탐색기 · Total Commander), 폴더 + 파일 목록 배치
- 환경 설정 > 파일 탐색기: 누르기 (한 번 선택 · 두 번 실행 (기본) / 한 번 바로 실행), 스타일, 창 배치
- 선택 모드: 폴더는 고르기만 (› 화살표로 펼치기), 두 번 누르면 펼치기 · 실행, Ctrl + 클릭 = 여러 개 고르기,
  길게 누르기 · 오른쪽 클릭 = 기능 메뉴. 표시 동그라미는 두 번 누르기를 기다리지 않고 바로
- 스타일: X-plore (썸네일 · 두 줄), Windows 탐색기 (컬러 아이콘 · 이름 / 수정한 날짜 / 유형 / 크기 열),
  Total Commander (촘촘한 줄 · [폴더] · 확장자 / <DIR> / 날짜 열)
- 창 배치 "폴더 + 파일 목록": 왼쪽 폴더 트리, 오른쪽 고른 폴더의 내용 (맨 위 ".." = 상위 폴더, 두 번 누르면 들어가기)
- 모양 · 배치가 바뀌면 보던 폴더로 다시 스크롤

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-05 08:25:46 +09:00
RyuJongJin 99024d3c6e 파일 탐색기 (X-plore 참고): 두 창 트리 · 가운데 기능 버튼 · 창 배치 · 버튼 구성
- 위쪽 공통 버튼에 [파일 탐색기], 환경 설정 > 홈 화면에 "파일 탐색기" (앱을 켜면 바로)
- 두 창 (트리: 누르면 그 자리에서 펼치기 · 접기), 저장 장치 고르기 (Windows 드라이브 · Android 저장소)
- 동영상: 누르면 기본 동작 (내장 플레이어 또는 확장자별 재생 프로그램), 길게 누르기 · 오른쪽 클릭 메뉴
  (내장 플레이어로 재생 · 다른 앱으로 열기 · MKV 목록에 추가 · 이름 변경 · 복사 / 이동 · 삭제 · 정보)
- 썸네일 · 해상도 · 길이 (작업 중에는 썸네일을 만들지 않음), 그림 파일 미리 보기
- 가운데 버튼: 상위 폴더 · 새로 고침 · 재생 · MKV 목록에 추가 · 새 폴더 · 이름 변경 · 복사 · 이동 · 삭제 ·
  찾기 · 정렬 기준 · 숨은 항목 · 내역 · 창 배치 · 버튼 구성
- 창 배치: 두 창 / 한 창, 좌우 / 위아래 / 화면 모양 따라, 버튼 줄 두 창 사이 / 끝 / 숨김
- 버튼 구성: 보일 버튼 · 순서
- 다른 앱으로 열기: Windows "연결 프로그램" 창 · Android 앱 고르기 (FileProvider, SD 카드 포함)
- 여러 개 지울 때 확인 창에 이름 · 폴더를 보여 준다

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-05 04:14:05 +09:00