Commit Graph

93 Commits (fba28cb027451dc00ffd06101e6bf7626297aef9)

Author SHA1 Message Date
RyuJongJin fba28cb027 WIP X-plore P3 연결: 길게 누르기 [해시] · [폴더 속성], 빠른 보기 [16진] (검토 대기)
관리자 지시 (10/18): cd 의 도우미 (b6e4717, lib/ui/file_tools.dart) 를 탐색기에 연결.
- 길게 누르기 메뉴 (폴더 크기 계산 옆 - cd 가 넣을 격자 · 글 뷰어 항목과 떨어진 곳):
  · 파일: [해시 (MD5 · SHA-256)] → showFileHash (진행 · 취소, 복사, 붙여 넣은 값과 비교)
  · 폴더: [폴더 속성] → showFolderProperties (파일 · 폴더 수 · 크기 · 링크 · 만든 · 바뀐 때)
- 빠른 보기 (81) 창: [16진] → HexViewerPage (앞부분부터 나눠 읽기)
- 내 판단: 셋 다 이 기기의 파일만 (원격 WebDAV 는 해시 · 16진 · 속성이 파일을 다 받아야 해서 메뉴에서 뺌)

시험: explorer_test 에 연결 시험 (해시 "hello" 의 MD5 · SHA-256 값, sub 의 "파일 1개 · 폴더 0개", 빠른 보기 → 16진 화면) -
explorer · file_tools · quick_look 57 통과, analyze 문제 없음, l10n 빠짐 0. 캡처는 아직 (Windows 캡처 시험은 다음).
j (SMB 찾기) 는 이 브랜치에 88 (SMB) 이 없어 smb_find (묶음7_88 위) 에서 (관리자 지시).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-18 00:55:49 +09:00
RyuJongJin f4760cb4d7 WIP X-plore e: Android 앱 휴지통 · 85 진행 패널 시험 흔들림 · X-plore 캡처 시험 (검토 대기)
- e (관리자 지시): Android 는 저장 장치마다 .jj_trash 에 보관 (처음 14일, 설정 0 = 끔 - 예전처럼 바로 영구 삭제).
  지우기 = 휴지통으로 · [되돌리기] 알림 · 휴지통 화면 (되살리기 · 영구 삭제 · 비우기), 켤 때 기한 지난 것 정리.
  휴지통으로 못 옮긴 것은 영구 삭제할지 따로 묻는다 (몰래 영구 삭제하지 않음). Windows 의 [휴지통] 버튼은 시스템 휴지통을 연다.
- 내 판단: 한 창 "갈 곳" 줄은 전체 경로 대신 폴더 이름 (좁은 화면에서 잘림).
- 85 시험 흔들림 (관리자 지시): pumpAndSettle 대신 조건 기다리기 · 칩 onTap 직접 (3번 연속 통과).
- integration_test/windows_xplore_shot_test.dart: X-plore P1 화면 캡처 (ko/en × 412/960).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-18 00:28:06 +09:00
RyuJongJin c2c43825d6 WIP X-plore ⚖ 3개 (관리자 결정): 표시 동그라미 늘 보이기 · 밀기 = 창 바꾸기 (X-plore 스타일 처음 값 켬) · X-plore 식 폴더 표시 (설정만) (검토 대기)
관리자 결정 (10/18, 사용자 "네가 판단해서"):
- 표시 동그라미 늘 보이기: X-plore 스타일에서 처음 값 켬 (설정으로 끔). 다른 스타일 · Rsync 는 지금대로 (선택 모드에서만).
  고른 것이 있으면 아래 표시 줄도. 줄 누르기는 그대로 (열기 · 고르기), 동그라미를 누르면 표시.
- 밀기 = 창 바꾸기: X-plore 스타일 탐색기 안에서 처음 값 켬 (설정). 두 창이면 다른 창이 활성, 한 창이면 숨은 창과 바꿔 보임 (알림).
  탐색기 안쪽이 먼저 받으므로 화면 사이 이동은 위 막대에서 밀기 (10/8 결정 유지).
- 폴더 표시 X-plore 식 (1번 폴더 · 2번 안의 파일 전체 · 3번 풀기): 설정으로만, 처음 값은 지금 규칙 (자신 + 안 전체) -
  고르는 범위가 바뀌면 지우기 · 이동 대상이 바뀌는 데이터 문제라 (관리자 결정).
- 시험: X-plore ⚖ 2개 + 예전 시험 2곳 (동그라미가 평소에 안 보임 → X-plore 스타일은 보임, 끄면 예전대로) 고침.
  탐색기 시험 15개 파일 202개 통과. test_temp_check 의 남은 폴더 2개는 같은 때 돌던 다른 세션 시험의 것 (끝난 뒤 사라짐 - 이 시험들은 tearDown 에서 지움).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-17 23:45:57 +09:00
RyuJongJin 23d3da8483 WIP X-plore c: X-plore 스타일 트리 맨 위에 저장 장치 · 서버 · 즐겨찾기 (위 줄 탭 · ★ 는 그대로) (검토 대기)
15 비교표 P1 c. X-plore 는 저장 장치 · 서버 · 즐겨찾기가 한 트리의 맨 위 항목이다.
- X-plore 스타일에서 지금 저장 장치를 그 자리에 펼친 채, 다른 저장 장치 · WebDAV 서버를 접힌 줄로 앞뒤에 (탭 순서대로),
  맨 끝에 "★ 즐겨찾기" (누르면 펼침 · 즐겨찾기를 누르면 그 폴더로). 다른 저장 장치 줄을 누르면 그 저장 장치로.
- 위 줄 탭 · ★ 메뉴는 그대로 (관리자 결정 "함께"). 다른 스타일 · Rsync 화면은 그대로.
- 설정 "저장 장치 · 서버 · 즐겨찾기를 트리 맨 위에" (처음 값 켬, X-plore 스타일에서만 보임).
- 줄 위젯은 따로 (_extraRow) - 파일 줄의 고르기 · 끌기 · 메뉴는 이 줄에 없음. 폴더로 스크롤 (_reveal) 은 실제 트리 줄만.
- 시험: explorer_test "X-plore c" + 탐색기 시험 15개 파일 200개 통과.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-17 23:15:55 +09:00
RyuJongJin 0ce26e9124 WIP X-plore d: 설정 "펼친 폴더를 다시 누르면 접기" (처음 값 끔 - 189 그대로) (검토 대기)
15 비교표 P1 d. X-plore 는 폴더를 다시 누르면 접는다. 189 (관리자 지시) 는 이름으로 접지 않게 해 두었으므로 설정으로만 넣는다.
켜면 펼쳐 둔 지금 폴더를 다시 누를 때 접고, 두 번 누르기의 두 번째 (짧은 사이) 는 접지 않는다 (목록이 움직이지 않게).
내 판단: 처음 값 끔 (189 와 부딪힘). 시험: explorer_test "X-plore d", 189 시험 그대로 통과.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-17 23:07:34 +09:00
RyuJongJin f9cd5f98c9 WIP X-plore b: 가운데 버튼 길게 누르기 = 짝 동작 (복사 ↔ 이동, 삭제 → 영구 삭제로 묻기) (검토 대기)
15 비교표 P1 b (X-plore 의 버튼 길게 누르기). 확인 창은 그대로 - 영구 삭제는 처음 고른 칸만 영구로 (Shift+Delete 와 같음).
풍선 도움말에 "길게 누르면 …". Rsync 화면은 없음. 시험: explorer_test "X-plore b".

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-17 23:05:26 +09:00
RyuJongJin 818b4a0615 WIP X-plore a: 한 창일 때 복사 · 이동 갈 곳 - 설정 "숨은 다른 창으로" 면 위에 갈 곳 줄 · 바로 복사 · 이동 (처음 값은 지금대로) (검토 대기)
사용자 "파일 탐색기는 X-plore 와 최대한 같게" (관리자 3a, 15 비교표 P1 a).
- X-plore 는 대상 창이 숨어도 파란 화살표 + 대상 이름을 보이고 그리로 복사 · 이동한다. 우리 한 창은 담아 두었다가 붙여넣기.
- 설정 "한 창일 때 복사 · 이동": 담아 두고 붙여넣기 (처음 값, 지금 그대로) / 숨은 다른 창으로.
  숨은 다른 창으로면 맨 위에 "→ 복사 · 이동 갈 곳: 폴더" 와 [지금 폴더로] · [다른 폴더], [복사] · [이동] 은 그 폴더로 (확인 창 그대로).
- 내 판단: 동작이 바뀌는 것이라 처음 값은 지금대로 (관리자 결정 - 예전과 부딪히는 것은 설정으로).
- 시험: explorer_test "X-plore a".

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-17 23:03:26 +09:00
RyuJongJin a6b3f13e62 WIP 릴리스 전 점검 (지시 8): DNS 실패 기록에서 사이트 이름 뺌 · archive 고지 · 큰 글자 넘침 3곳 (검토 대기)
- 개인정보: DNS 강제 프록시의 "DNS 실패 (사이트): 까닭" 이 연 사이트 이름을 app.log 에 남겼다 → 까닭 (닿지 않은 DNS 서버) 만.
- 라이선스: ZIP 풀기 · 묶기의 archive 4.3.0 (MIT, Brendan Duncan) 을 두 고지 (Windows · Android) 에 이름으로. 판이 바뀌면 시험이 알림.
- 접근성 (253 시험을 묶음6 새 창으로 넓힘, 412×900 · 900×412 · 글자 1.6배, 누르는 것이 화면 폭 안인지도 봄):
  · 78 이름 일괄 창: 대소문자 고르기가 가장 긴 항목 폭이라 창을 넘음 → 한 줄 전체 (isExpanded). 낮은 화면에서 아래가 넘침 → 창 안 스크롤.
    "대소문자 무시" 글은 줄 바꿈.
  · 86 풀기 확인 창: "같은 이름이 있으면 [고르기]" 가 화면 밖으로 밀림 (넘침 오류 없이 누를 수 없었다) → 자리가 없으면 다음 줄.
  · 85 작은 표시: "복사 · 이동 멈춤 - 눌러서 보기" 가 412 를 넘음 → 두 줄까지.
버그 수정 (사용자 동작은 배치만 바뀜). 시험: 253 의 settle 이 시험 시계를 앞으로 돌리게 (열리는 움직임이 끝나야 넘침이 보임).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-17 16:18:14 +09:00
RyuJongJin dc8a5f0b56 WIP 화면 캡처에서 찾은 것: 85 멈춤 표시는 경고 아이콘 · 78 이름 일괄 창의 칸 이름을 짧게 (폭 412 일본어 잘림) (검토 대기)
- 85: 멈춘 (실패한) 작은 표시가 꽉 찬 진행 고리라 "끝났다" 로 보였다 → 빨간 경고 아이콘.
- 78: 폭 412 · 일본어에서 "名前の形式 (拡張子は…" · "置き換える文字 (空なら…" 로 칸 이름이 잘렸다 →
  이름은 "이름 틀" · "바꿀 글" 로 짧게, "확장자는 그대로" 는 아래 설명 줄 (2줄까지), "비우면 지움" 은 칸 안 안내로.
- 내 판단 (화면 캡처를 보고 고침, 동작은 같음).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-17 15:39:00 +09:00
RyuJongJin 3b6d50f409 WIP 시험: 묶음6 화면 캡처 (Windows 통합 시험, 412 · 960 × ko · en · ja) + 85 작은 표시를 TransferProgressChip 으로 (검토 대기)
- 관리자 지시 5: 기기 없이 15 가 볼 수 있게 integration_test/windows_b6_shot_test.dart (JJ_SHOT_DIR 에 PNG):
  78 이름 일괄 창 (겹침 빨간 줄) · 79 찾기 결과 (고른 줄 · 아래 할 일 줄) · 81 빠른 보기 (자막 글) · 82 놓기 묻기 창 ·
  85 작은 표시 (보통 · 멈춤) · 86 풀기 확인 창 (밖으로 나가는 경로 · 링크 · 쓸 수 없는 이름 · 덮어쓰기 경고) · 87 분석 (큰 폴더 · 큰 파일).
  시험 파일은 임시 폴더에만 (끝나면 지움), 설정은 메모리에만.
- 85 의 작은 표시를 공개 위젯 TransferProgressChip 으로 뺐다 (모양 · 동작 같음) - 멈춤 상태를 실제 실패 없이 캡처하려고.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-17 15:19:46 +09:00
RyuJongJin 47144981d0 WIP 87 저장 공간 분석: 고른 폴더 · 드라이브의 큰 폴더 · 큰 파일 차례, 누르면 탐색기에서 그 자리로 (검토 대기)
- 관리자 지시: 고른 폴더나 드라이브의 큰 폴더 · 큰 파일 차례. 80 의 폴더 크기 규칙 (링크 · junction 은 따라가지 않고 수만,
  이미 센 폴더 (실제 경로) 는 다시 세지 않음, 취소) 을 그대로.
- 여는 곳: 폴더 길게 누르기 [저장 공간 분석], ⋮ 메뉴 [저장 공간 분석] (지금 폴더 - 드라이브 맨 위면 드라이브 전체).
- 한 번 훑으며 폴더마다 크기 (안쪽 합) · 파일 수와 큰 파일 200개를 모은다 → 폴더를 누르면 그 안으로 바로 (다시 읽지 않음),
  [위 폴더] · ← 로 나옴. "큰 폴더" (막대 = 지금 폴더 안 비율) · "큰 파일" (지금 폴더 아래).
  읽지 못한 폴더 수 · 세지 않은 링크 수를 알린다. 읽는 동안 폴더 수 · 크기, [취소] (화면을 닫아도 멈춤).
- 누르면 (파일) · [그 자리로] (폴더) 탐색기에서 그 자리로 - 지우기는 탐색기의 지우기 (확인 · 휴지통) 로만 (관리자 판단).
- WebDAV 는 직접 시킬 때만 (이 메뉴) 하고, 먼저 "서버에서 모두 읽어 오래 걸릴 수 있습니다" 를 묻는다.
- 시험: storage_scan_test (합 · 차례 · junction (위 폴더 고리 포함) 을 세지 않음 · 취소 · 화면 들어가기 · 큰 파일 · 돌려주는 경로),
  explorer_test 87 (길게 누르기 → 큰 파일 → 탐색기 그 자리).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-17 14:55:42 +09:00
RyuJongJin 219510fec0 WIP 86 압축: ZIP 만들기 · 풀기, 7z · RAR 풀기 (Windows - 7-Zip 25.01 동봉), 풀기 전 검사 + 품질 올리기 다듬기 정도 설정 (검토 대기)
86 (관리자 지시 · 승인):
- ZIP 만들기 (archive 4.3.0, MIT): 길게 누르기 [ZIP 으로 묶기] (표시한 것 모두 · 바깥 것만) - 이름 · 압축 정도
  (빠르게 1 · 보통 6 (처음 값) · 작게 9, 설정 zipLevel 로 기억) · 넣을 곳 (지금 폴더 · 다른 창). 링크 · junction 은 넣지 않음.
  .jjpart 에 쓰고 다 되면 이름 바꾸기 - 취소 · 실패면 만들다 만 ZIP 이 남지 않음. 같은 이름이면 "이름 (2).zip".
- 풀기: 길게 누르기 [압축 풀기] (ZIP · 7z · RAR), 7z · RAR 은 열면 풀기, 보기의 ZIP 화면 [풀기] 도 같은 흐름.
  풀 곳 (압축 옆 새 폴더 · 압축이 있는 폴더 · 다른 창), 같은 이름 (이름 바꾸기 · 건너뛰기 · 덮어쓰기 - 처음은 복사 설정대로), 진행 창 · 취소.
- 7z · RAR: 7-Zip 25.01 (7z.exe · 7z.dll) 을 실행 파일 옆 7zip\ 에 동봉 (tool/fetch_7zip.ps1 - 공식 MSI, SHA-256 고정,
  관리자 설치로 풀기만). RAR 은 풀기만 (unRAR 라이선스) - RAR 만들기 선택지 없음.
  Android 는 아직 (lib7zz.so 빌드는 마감 뒤로) - 막지 않고 "다른 앱으로 열기" 안내.
- 보안 (관리자 판단) - 셋 다 목록을 먼저 읽고 검사:
  · 밖으로 나가는 경로 (../ · 절대 경로 · 드라이브 · UNC · ':') 는 막고 확인 창 · 끝 알림에 (zip slip).
  · 압축 안의 심볼릭 링크 · junction 은 만들지 않고 건너뛰고 알림.
  · 풀린 크기가 대상의 빈 공간보다 크면 풀기 전에 알리고 묻는다 ([그래도 풀기]).
  · 비밀번호: 보이지 않는 칸으로 묻고, 7-Zip 에는 명령 줄이 아니라 표준 입력으로만 (작업 기록 · app.log 에 없음).
    ZIP 은 가운데 목록에서 암호 표시를 읽어, 비밀번호 없이 암호 글자를 그대로 쓰지 않는다. 틀리면 다시 묻는다.
- 라이선스: assets/licenses/7ZIP_LICENSE.txt (원문 - LGPL 2.1+ · BSD 3/2-clause · unRAR 제한), 라이선스 화면 (7-Zip · LGPL),
  THIRD_PARTY_NOTICES (판 · 소스 7z2501-src.7z · RAR 은 만들지 않음), 설치 폴더 7zip\ 에 License.txt · LGPL-2.1.txt.
- 내 판단: 진행은 탐색기 진행 패널이 아니라 진행 창 (취소) - 진행 패널은 복사 · 이동 (TransferJob) 전용이라.
보충 (관리자 지시): [품질 올리기] 다듬기 정도 설정 - 약하게 0.15 / 보통 0.25 (처음 값) / 강하게 0.4. fetch 스크립트에 받은 주소 · 판 · 날짜.
- 시험: archive_ops_test (막는 이름 · 계획 · ZIP 만들기 · 풀기 · 같은 이름 · zip slip · 비밀번호 · 취소, 실제 7-Zip 목록 · 풀기 ·
  표준 입력 비밀번호 · 머리 암호 · 틀린 비밀번호), archive_ui_test (확인 창 · 취소 · 다른 앱 안내 · 묶기), licenses_test (7-Zip),
  ai_quality_test (다듬기 정도).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-17 14:38:26 +09:00
RyuJongJin 863b5e2ea0 WIP 82 보충 (15 지적): 같은 이름을 덮어쓴 파일은 "덮어쓴 파일 n개는 되돌리지 않습니다" (폴더라고 하지 않게) + 78 시험 흔들림 (검토 대기)
- 끌어 놓기 이동에서 같은 이름을 덮어쓴 파일이 "합친 폴더 n개는 무엇을 옮겼는지 몰라…" 로 나왔다. 파일이면 따로 센다.
  되돌리지 않는 까닭: 원래 파일은 이미 덮어써져 없고, 되돌리면 대상에 아무것도 남지 않는다. 되돌릴 것이 하나도 없으면
  [되돌리기] 알림을 띄우지 않고 끝난 알림 ([폴더 열기]) 그대로.
- 78 시험: 알림은 목록을 다시 읽은 뒤에 뜨므로 파일이 보일 때가 아니라 알림까지 기다린다 (전체 시험 중 한 번 흔들림).
- 시험: explorer_test 82 (새 파일 하나 + 덮어쓴 파일 하나 → "덮어쓴 파일 1개", "합친 폴더" 없음).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-17 13:50:22 +09:00
RyuJongJin 53a1b47a2c WIP 85 파일 탐색기 진행 패널 숨기기 · 작은 표시 · Android 알림 진행률 · 끝나면 [폴더 열기] (검토 대기)
- 관리자 지시 (F14): 복사 진행 패널을 숨길 수 있게 (Android 는 알림줄에 진행), 끝나면 [폴더 열기].
- 패널 오른쪽 위 [숨기기] → 오른쪽 아래 작은 표시 "복사 · 이동 n개 · 45%" (누르면 다시 펼침). 숨김은 설정으로 기억 (처음 값: 보임).
  관리자 판단: 숨겨도 묻는 창 (확인 · 같은 이름) 과 실패 알림은 늘 뜬다 (패널과 따로). 멈춘 (실패한) 것이 있으면 작은 표시가
  빨갛게 "복사 · 이동 멈춤 - 눌러서 보기".
- Android 작업 알림: "복사 · 이동 n개 · 45%" (CopyCenter.activeProgress), 다운로드가 없으면 진행 막대도 복사 · 이동 진행률.
- 끝난 알림에 [폴더 열기] - 앱 탐색기에서 넣은 폴더로 (그 폴더를 보는 창, 없으면 지금 창).
- 시험: keep_alive_test (복사 진행률 글 · 막대 · 다운로드가 먼저), explorer_test 85 ([폴더 열기] · [숨기기] → 작은 표시 → 다시).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-17 13:36:59 +09:00
RyuJongJin 39dab23138 WIP 82 파일 탐색기 창 사이 끌어 놓기: 마우스 8px 끌기 · 터치 ≡ 손잡이, 놓을 곳 강조, 묻기 (복사 · 이동), 이동 [되돌리기] (검토 대기)
- 관리자 지시 (F11) · 판단: 창 사이 끌어 놓기로 복사 · 이동 (태블릿 · PC). 미리 보기 · 확인 · 되돌리기.
- 끌기: PC 마우스는 줄을 8px 넘게 움직였을 때만 (한 번 누르기 = 고르기 · 두 번 = 열기는 그대로).
  터치는 선택 모드에서 표시한 줄의 ≡ 손잡이 (길게 누르기 메뉴는 그대로). 누른 줄이 표시한 것이면 표시한 것 모두 (바깥 것만).
- 놓기: 다른 창의 폴더 줄 = 그 폴더 안, 창의 빈 곳 = 그 창의 지금 폴더. 놓을 수 있으면 강조, 못 놓는 곳 (같은 창 · 자기 안 ·
  원본 폴더 자신) 은 빨간 테두리이고 놓아도 아무 일 없음. WebDAV 창도 지금의 복사 · 이동으로.
- 설정 "끌어 놓기 기본": 묻기 (처음 값) / 복사 / 이동. 묻기 창은 [복사] 가 처음 고름 (Enter) · [이동] · [취소].
  어느 쪽이든 지금의 복사 · 이동 확인 창 (같은 이름 등) · 진행 패널을 그대로 탄다.
- 이동만 끝난 알림에 [되돌리기] (10초): 실제로 옮긴 것만 원래 자리로 (원래 폴더마다 지금의 이동 - 같은 이름이면 지금의 같은 이름 창).
  대상에 새로 생긴 항목은 통째로, 이미 있던 폴더에 합친 것은 앱이 옮긴 파일만 (TransferJob.movedFiles) -
  그 폴더 전체를 옮기지 않는다. robocopy 로 합친 폴더는 무엇을 옮겼는지 몰라 되돌리지 않고 알린다. 복사 되돌리기는 없음.
- 내 판단: 끝난 알림 (n개 옮김) 은 [되돌리기] 알림으로 바로 바꾼다 (진행 막대가 내려가기를 기다리지 않게).
- 시험: explorer_test 82 (놓는 곳 규칙, 4px 는 누르기, 같은 창 · 묻기 [취소] 는 아무 일 없음,
  이동 → 되돌리기 - 합친 폴더의 원래 파일은 그대로 · 옮긴 파일만 돌아옴).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-17 13:12:04 +09:00
RyuJongJin b1f20914a0 WIP 81 파일 탐색기 빠른 보기: Space (TC 는 F3) · 길게 누르기 [미리 보기] - 동영상 썸네일 · 길이 · 코덱, 그림, 글 앞 64KB (검토 대기)
- 관리자 지시 (F10): 미리 보기 창 / PC 에서 Space 로 빠른 보기 (썸네일 · 길이 · 코덱).
  관리자 판단: 띄우는 창 (옆에 붙는 칸은 넓은 화면용으로 나중에 따로).
- 여는 곳: Windows 탐색기 · X-plore 모양은 Space (빠른 필터가 닫혀 있을 때만 - 칸에 치는 중이면 빈칸), TC 모양은 F3 (Space 는 표시 그대로),
  길게 누르기 [미리 보기] (파일).
- 동영상 · 음악: 큰 썸네일 (가로 640, jj_thumbs 에 따로 기억) · 길이 · 영상 코덱 · 해상도 · 소리 (코덱 · 언어) · 자막 트랙.
  ffprobe 는 기다리는 동안 "정보를 읽는 중…", 20초 넘으면 "읽지 못했습니다" (창은 멈추지 않음).
- 그림: 그림 그대로. 글 파일 (txt · srt · ass · smi · log · json …): 앞 64KB, UTF-8 이 아니면 "미리 볼 수 없음".
- WebDAV: 썸네일 · ffprobe 없이 이름 · 크기 · 날짜만 (비밀번호를 명령 줄에 넣지 않게 - 관리자 판단).
- ← → (↑ ↓) 로 같은 폴더의 앞 · 다음 (지금 목록 차례 - 필터 · 정렬 반영), Space · Esc 로 닫기, Enter · [열기 · 재생].
- 시험: quick_look_test (글 앞부분 · CP949 · 64KB 경계, ← → · 열기 · Space 닫기), explorer_test 81 (Space · 필터 중 빈칸 · TC F3).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-17 12:50:14 +09:00
RyuJongJin a780139eeb WIP P0 파일 탐색기: 글자 칸에 치는 중에는 파일 단축키가 키를 가로채지 않게 (15 지적 · 관리자 P0) (검토 대기)
- 예전: 화면의 CallbackShortcuts 가 글자 칸 (빠른 필터 등) 보다 먼저 키를 받아, 칸에서 Delete 를 누르면 파일 지우기 창이 뜨고
  Ctrl+A · C · X · V · Space · F8 · Backspace 도 파일 동작으로 쓰였다 (Ctrl+V 는 파일을 지금 폴더에 붙여넣을 수 있었다).
  Delete · F2 · Backspace 는 83 전부터 있던 것.
- 이제 단축키는 Focus.onKeyEvent 로 받아, 글자 칸에 포커스가 있으면 넘긴다 (칸의 기본 동작). 모든 모양 · Rsync 화면 공통.
  Esc 는 지금처럼 필터 칸이 받아 필터를 닫는다.
- 찾기 · 이름 바꾸기 · 경로 입력은 창 (다른 경로) 이라 이 단축키 아래에 있지 않다.
- 시험: explorer_test P0 (windows · xplore · totalcmd 각각 - 필터 칸에서 Ctrl+A 는 글 전체 선택, Ctrl+C · V · Delete · Space · F8 ·
  Backspace 가 파일을 표시 · 담기 · 지우기 하지 않고 칸이 그대로, Esc 로 닫힘).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-17 12:34:15 +09:00
RyuJongJin 5411558779 WIP 83 파일 탐색기 스타일별 단축키: Total Commander F5~F8 · Insert/Space 표시, Windows 탐색기 Ctrl+C · X · V · A (검토 대기)
- 관리자 지시 (F12): 스타일에 맞는 단축키.
- Total Commander 모양: F5 복사 · F6 이동 · F7 새 폴더 · F8 지우기 · Insert (표시하고 다음 줄로) · Space (표시) · Ctrl+R 새로 고침.
  Space 는 이 모양에서 빠른 필터를 열지 않는다 (필터가 열려 있으면 그대로 글자).
- Windows 탐색기 · X-plore 모양: Ctrl+C (담기) · Ctrl+X (잘라내기) · Ctrl+V (지금 폴더에 붙여넣기) · Ctrl+A (지금 폴더 모두 표시) · F5 새로 고침 (예전과 같음).
- 모든 모양 공통 (예전과 같음): Delete · Shift+Delete · F2 · Esc · Ctrl+F · Backspace · Alt+← → · Tab.
- Rsync 화면은 스타일 단축키를 쓰지 않는다 (F5 새로 고침 그대로).
- 내 판단: TC 모양에서는 F5 가 복사라 새로 고침을 Ctrl+R 로 (Total Commander 와 같게).
- 환경 설정 > 파일 탐색기 > 스타일 설명에 단축키를 적었다.
- 시험: explorer_test 83 (TC: Insert · Space 표시 · Space 가 필터를 열지 않음 · F5 복사 창 · F7 새 폴더 / Windows: Ctrl+A · Ctrl+C).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-17 12:17:04 +09:00
RyuJongJin 5007d30afa WIP 80 보충 (15 지적 · 관리자 판단 ① ②): 폴더 크기에서 링크 · junction 은 따라가지 않음 · 화면에서 사라진 자동 계산은 멈춤 (검토 대기)
① 링크 · junction 을 따라가 세던 것 (같은 것을 여러 번 세어 크게 나오고, 위 폴더를 가리키는 고리면 끝나지 않을 수 있었다 -
   실제 예: wt_*\third_party (junction) · .plugin_symlinks):
  - 크기를 셀 때 로컬 폴더는 list(followLinks: false) 로 직접 읽고, 심볼릭 링크 · junction 은 0 으로 세고 수만 센다.
    "1.2GB · 링크 3개 제외" 로 보인다 (214 의 링크 처리와 같은 판단).
  - 안전장치: 이미 센 폴더 (실제 경로) 는 다시 세지 않는다.
② 다른 폴더로 가도 기다리던 계산이 끝까지 돌던 것:
  - 화면을 위해 걸어 둔 자동 계산은 그 폴더가 어느 창에도 보이지 않으면 대기 줄에서 빼고, 세는 중이면 멈춘다 (결과는 남기지 않음).
  - 길게 누르기 [폴더 크기 계산] 으로 직접 시킨 것만 끝까지 - 아래 알림 [취소] · 같은 메뉴 "폴더 크기 계산 멈추기".
  - WebDAV 는 자동으로 하지 않는다. 직접 시키면 "서버에서 안의 것을 모두 읽어 오래 걸릴 수 있습니다" 를 알린다 (관리자 판단).
- 시험: folder_size_test (Windows 에 실제 junction · 심볼릭 링크 · 위 폴더 고리 junction, 화면이 바뀌면 자동 계산 멈춤 · 사용자가 시킨 것은 끝까지 · 취소).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-17 12:01:06 +09:00
RyuJongJin 1b988cd84c WIP 84 파일 탐색기 정렬: 열 머리를 누르면 그 기준 · 다시 누르면 거꾸로, 설정 "정렬을 폴더마다 기억" (검토 대기)
- 관리자 지시 (F13): 열 머리를 누르면 그 기준으로 정렬, 폴더마다 정렬을 기억 (선택).
- Windows 탐색기 · Total Commander 모양의 열 머리 (이름 · 날짜 · 유형/확장자 · 크기) 를 누르면 그 기준 (오름차순),
  같은 열을 다시 누르면 거꾸로. 지금 정렬 열은 강조색 + ▲ ▼. (X-plore 모양은 열이 없어 예전처럼 [정렬 기준])
- 설정 "정렬을 폴더마다 기억" (처음: 끔 - 예전처럼 모든 폴더가 같은 정렬). 켜면 열 머리 · [정렬 기준] 이 지금 창의 폴더에만 쓰고
  (정렬 창에 "이 폴더에만: …"), 기억하지 않은 폴더는 전체 정렬. 300개까지 (오래된 것부터 지움). 틀린 값은 비움.
- 80 의 자동 폴더 크기 · 크기가 나온 뒤 다시 줄 세우기도 그 폴더의 정렬을 따른다.
- 시험: explorer_test 84 (열 머리 · 거꾸로 · ▼, 폴더마다 · 저장 · 틀린 값).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-17 11:53:38 +09:00
RyuJongJin ef1cb069c1 WIP 80 파일 탐색기 폴더 크기: 필요할 때 계산 · 기억, 크기순 정렬 + 79-a [그 자리로] 뒤에도 돌아가기 줄 (검토 대기)
80 (관리자 지시 F9): 폴더 크기를 목록에 표시하고 크기순으로 정렬 (필요할 때 계산하고 기억).
- FolderSizes: 안의 파일 크기 합, 한 번에 하나씩 (디스크 · NAS 를 몰아 읽지 않게), 이번 실행 동안 기억.
  읽지 못한 폴더가 있으면 "1.2GB+". 다시 읽는 폴더 (새로 고침 · 복사 · 이동 · 지우기) 는 그 폴더 · 안쪽 · 위 폴더 크기를 잊는다.
- 설정 "폴더 크기": 크기순 정렬일 때만 (처음 값) / 늘 계산 / 계산 안 함. 길게 누르기 [폴더 크기 계산] 은 늘 된다.
  - 내 판단: 자동 계산은 지금 보고 있는 폴더 바로 안의 폴더만 - 트리에 보이는 위 폴더들 (C:\ · 사용자 폴더 …) 까지 하면
    드라이브 전체를 읽느라 정작 보고 있는 폴더가 뒤로 밀렸다 (시험에서 발견).
- 보이는 곳: Windows 탐색기 모양은 크기 열, TC 모양은 <DIR> 자리, X-plore · 좁은 화면은 폴더 이름 아래. 계산 중 "…".
- 크기순 정렬은 아는 폴더 크기로 (모르는 폴더는 가장 작게, 폴더는 늘 위 - 예전 그대로). 크기가 나오면 다시 줄 세운다.
- 측정은 바깥 영역 (Zone.root) 에서 - 화면을 그리다 맡긴 계산이 그 영역에 묶이지 않게 (위젯 시험에서 읽기가 끝나지 않았다).
79-a (관리자 판단 10/17): [그 자리로] 로 나가도 [찾기 결과로 돌아가기] 줄을 남긴다.
- 시험: folder_size_test (합 · 기억 · 잊기 · "+" · 정렬), explorer_test 80 (크기순 자동 · 새로 고침 뒤 다시 · "안 함" + 길게 누르기), 79-a 그 자리로.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-17 11:33:07 +09:00
RyuJongJin 60d4db7583 WIP 79 보충 (15 지적 · 관리자 판단 a~d): 폴더와 안의 파일을 함께 골라도 한 번만 · 합계에 폴더 따로 · [찾기 결과로 돌아가기] · "지금까지 찾은 n개 모두" (검토 대기)
c (데이터) 찾기 결과에서 폴더와 그 안의 파일을 함께 고르면 안의 것은 빼고 바깥 것만 (outermostPaths) -
  안쪽 파일을 두 번 처리하거나 이동 뒤 "없음" 오류가 나고 확인 창 개수가 부풀 수 있었다.
  탐색기의 복사 · 이동 · 지우기 시작에서도 같은 정리를 한다 (탐색기 표시는 이미 정리돼 있어 동작은 같음).
b 아래 줄 합계: "파일 n개 · 크기 / 폴더 m개 (크기 미포함)". 지우기 확인 창에 "그중 폴더 m개 - 안의 파일 · 폴더도 모두 함께".
a 복사 · 이동 · 지우기 뒤 결과 화면은 닫힌 채로, 탐색기 위에 [찾기 결과로 돌아가기] 줄 (✕ 로 닫기).
  다시 찾지 않고 결과를 열며, 지운 것은 빼고 옮긴 것은 새 자리로 (고른 폴더와 함께 옮겨진 안쪽 것도).
  다음 찾기 · ✕ · 결과 화면을 그냥 닫으면 없어진다. 처음 찾기가 끝나기 전 결과였으면 그렇다고 적는다.
  - 내 판단: [그 자리로] (reveal) 로 나가면 돌아가기 줄을 남기지 않는다 (탐색이라서).
d 찾는 중 전체 고르기 단추 글: "지금까지 찾은 n개 모두", 다 찾으면 "모두".
- 시험: explorer_test 79-c 복사 · 이동 · 지우기 (한 번만 · 오류 없음 · 확인 창 개수 · 돌아가기), explorer_search_test (outermostPaths · 단추 글 · 합계).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-17 11:13:21 +09:00
RyuJongJin 9032e8c4d7 WIP 78 파일 탐색기 일괄 이름 바꾸기: 이름 틀 [N] · 번호 [C] · 찾아 바꾸기 · 대소문자, 미리 보기 · 겹침 검사, 실패하면 되돌림 · [되돌리기] (검토 대기)
- 관리자 지시 (F7): 번호 [C] · 찾아 바꾸기 · 대소문자, 미리 보기, 되돌리기 (예: "Show S01E01…").
  데이터를 바꾸는 기능이라 미리 보기 · 확인 · 되돌리기를 둔다.
- 여럿을 고르고 [이름 변경] (버튼 · F2 · 길게 누르기 아이콘 줄 "n개 이름 일괄 바꾸기") → 일괄 이름 바꾸기 창.
  하나면 예전 이름 변경 그대로.
  - 77 에서는 여럿일 때 [이름 변경] 이 꺼져 있었다 → 이제 일괄 창을 연다 (77 시험의 기대값을 바꿈).
- 규칙 (차례대로): 이름 틀 (확장자 뺀 이름, [N] 원래 이름 · [C] 번호 시작 · 간격 · 자릿수) → 찾아 바꾸기 (대소문자 무시 기본)
  → 대소문자 (그대로 · 모두 작게 · 모두 크게 · 단어 첫 글자만). 파일 확장자는 그대로 (대소문자 바꾸기만 따름).
- 미리 보기: 원래 → 새 이름, 문제 (쓸 수 없는 이름 · 고른 것끼리 같은 이름 · 고르지 않은 것과 같은 이름, 대소문자 무시)
  는 빨갛게 보이고 하나라도 있으면 [바꾸기] 를 막는다. 고른 것끼리 맞바꾸기 (a↔b) 는 된다.
- 번호는 목록에 보이는 차례대로.
- 바꾸기는 모두 임시 이름을 거쳐 두 단계로 (맞바꾸기 때문). 도중에 실패하면 이미 바꾼 것을 원래 이름으로 되돌리고
  창에 이유 · 되돌리지 못한 것을 보인다.
- 끝나면 아래 알림 "n개의 이름을 바꿨습니다" + [되돌리기] (10초).
- 내 판단: 규칙은 창을 열 때마다 처음 값 ([N] · 1 · 1 · 2자리) - 설정에 저장하지 않음.
- 시험: batch_rename_test (규칙 · 미리 보기 · 맞바꾸기 · 실패 되돌림 · 되돌리기 · 창), explorer_test 78 (고르기 → 바꾸기 → 되돌리기).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-17 11:07:48 +09:00
RyuJongJin 31a06c74ed WIP 79 파일 탐색기 찾기 결과를 목록 화면으로: 크기 · 바뀐 날 · 종류 조건, 고르고 그대로 복사 · 이동 · 지우기, 2000개마다 [더 보기] (검토 대기)
- 관리자 지시 (F8): 찾기 결과를 목록으로 보여 그대로 복사 · 지우기 · 재생, 크기 · 날짜 · 확장자 조건
  ("1GB 넘는 30일 지난 영상"), 2000개에서 멈추면 "더 보기".
- 찾기 창: 이름 (비워도 됨, * ?) · 크기 이상 (MB/GB) · 바뀐 날 (아무 때 / N일 지남 / N일 안) · 종류
  (모두 · 동영상 · 음악 · 자막 · 그림 · 확장자 직접). 크기 · 날짜 · 종류를 넣으면 파일만 찾는다.
  마지막 조건은 이번 실행 동안 다음 찾기 창의 처음 값.
- 결과 화면 (예전 작은 창 _SearchDialog 를 바꿈): 경로 · 크기 · 바뀐 날, 누르면 파일은 열기 · 재생 (결과 화면 그대로),
  폴더는 그 자리로, 줄마다 [그 자리로]. 체크 · 길게 누르기로 고르면 아래 줄에 개수 · 합계 크기와
  [복사 → 다른 창] [이동 → 다른 창] [지우기] - 고른 것만, 탐색기와 같은 확인 창 · 진행 패널 · 휴지통 (154 · 155 · 65).
- 2000개마다 멈추고 [2000개 더 보기]. 딱 2000개면 멈췄다고 하지 않는다 (다음 것이 올 때만).
- searchFiles 에 accept (조건) - 이름 없이 조건만으로도 찾는다. 이름도 조건도 없으면 예전처럼 찾지 않음.
- 시험: explorer_search_test (조건 · accept · 더 보기 · 열기 · 고르기 · 폴더), explorer_test 79 (종류만으로 찾아 다른 창으로 복사).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-17 10:48:42 +09:00
RyuJongJin 1c6b008332 WIP 77 길게 누르기 메뉴: 위 아이콘 줄 (복사 · 이동 · 이름 변경 · 삭제 · 공유), 여럿이면 "n개 항목" · 삭제도 표시한 것 모두, 경로 복사 · 즐겨찾기에 추가, Android 공유 (검토 대기)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-17 09:49:34 +09:00
RyuJongJin 8228d04a6e WIP 264 · 265 이동 · 복사 끝: 알림에 "n개는 원본에 남음" · 펼쳐 둔 원본 · 대상 안쪽까지 다시 읽기 (없어진 폴더는 접음) (검토 대기)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-17 09:49:33 +09:00
RyuJongJin 320025c5fa WIP 76 보충: 목록 줄에 항목 경로 키 - 줄 목록이 바뀔 때 누른 줄의 두 번 누르기 기다림이 다른 항목으로 넘어가지 않게 (setState during build) (검토 대기)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-17 09:49:31 +09:00
RyuJongJin 1eef4ff65f WIP 76 파일 탐색기 빠른 필터: 창 위 필터 버튼 · Ctrl+F · 글자 바로 치기, 지금 폴더 안을 이름으로 좁힘, 고르기는 보이는 것만, Esc 로 닫기 (검토 대기)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-17 09:49:30 +09:00
RyuJongJin 2d2f7055ba WIP 253 글자 크게 (1.6배) 해도 넘치지 않게: 탐색기 줄 높이 · 설정 고르기 상자 · 위 막대 · 인코딩 · 모니터링 · 언어 · 화면 전체 시험 (검토 대기)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-17 09:49:12 +09:00
RyuJongJin 6a782b2fdb WIP 다음 판: 199 권한 앱 목록 안내 · 188 버튼 글 맞춤 · 206 이동 버튼 · 181 · 182 mp3 재생 · 184 직접 파일 일반 받기 · 185 [계속 받기] (검토 대기)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-17 09:48:44 +09:00
RyuJongJin c41954b3ea 폴더를 덮어쓰기로 합쳐도 안쪽의 받는 쪽이 더 새 파일은 건너뜀 · 같은 이름 창에 미리 알림 (229, 931)
- 데이터 (버그, 기기 확인): 폴더 [덮어쓰기] (합치기) 가 안쪽의 더 새 파일을 예전 것으로 덮었다 - 설정 '받는 쪽이 더 새것이면 건너뛰기' 를 안쪽에도
- 이동이면 건너뛴 원본은 남기고 옮긴 것만 지움 ('n개는 원본에 남음'), 같은 이름 창의 폴더 줄에 '안쪽에 받는 쪽이 더 새 파일 n개'
- 맨 위 파일 하나를 사용자가 [덮어쓰기] 로 고른 것은 그대로 따름

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 07:31:41 +09:00
RyuJongJin e32cd7d648 단축키 안내 '(Alt+←)' 등은 PC 에서만 - 태블릿 · 폰은 이름만 (194)
- 사용자 편의 · 접근성 (기기 확인): 키보드가 없는 태블릿에 Alt 안내가 보이고 TalkBack 도 읽었다 - keyHint

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 06:01:43 +09:00
RyuJongJin 70e6071991 이름 없는 아이콘 버튼에 TalkBack 이름 · 화면 시험 (241)
- 접근성 (기기 확인): 바깥 Tooltip 으로 감싼 아이콘 버튼은 Android 에 이름이 가지 않았다 - 버튼 자체의 tooltip, 탐색기 펼치기 화살표 이름, 설정 줄 MergeSemantics
- a11y_names_test (다섯 화면 · 세 폭) 로 찾은 넘침도 고침: 모니터링 디스크 줄, MKV 인코딩 줄 (960 보다 좁으면 줄 바꿈 - 내 판단, 관리자 승인)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 02:06:45 +09:00
RyuJongJin 037ddf502a 탐색기: 앱으로 돌아오면 보이는 폴더를 다시 읽기 (232)
- 버그 (기기 확인): 다른 앱에서 바꾸고 돌아와도 예전 목록이 남았다 - 돌아올 때 [새로 고침] 과 같게 (WebDAV 는 빼고 - 관리자 판단 승인)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 00:51:44 +09:00
RyuJongJin d86a929ba1 미리 보기: 원본의 링크 · junction 은 따라가지 않음 (231)
- 버그: 미리 보기가 링크 안으로 들어가 실제로는 건너뛰는 (214) 바깥 파일을 옮길 것으로 보였다
- 앱이 직접 (현재 방식 · WebDAV) 이면 '링크 · junction - 따라가지 않고 건너뜀', rsync 는 링크 하나로 셈

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 00:51:42 +09:00
RyuJongJin c070486c84 앱 직접 복사 · 이동은 받는 쪽이 더 새것이면 건너뜀 · 미리 보기 경고 (229)
- 데이터 (버그): 현재 방식 · WebDAV 의 이동이 받는 쪽의 더 새 파일을 예전 원본으로 덮어쓰고 원본까지 지웠다
- 환경 설정 '받는 쪽이 더 새것이면 건너뛰기' (copySkipNewer, 처음 값 켜짐 - 관리자 판단). rsync -u 와 같음
- 건너뛴 파일은 이동이라도 원본에 남기고 'n개는 원본에 남음' 으로 알림
- 미리 보기: 건너뛰는 것 (받는 쪽이 더 새것 - 건너뜀), 더 새 파일을 덮어쓸 때 주황 굵은 경고
- 시험 sync_preview_test 기대값: -u 일 때 leftold.txt 는 목록에서 빠지지 않고 skipNewer 로 보임 (관리자 승인)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 23:47:58 +09:00
RyuJongJin 487d955a99 Rsync 화면은 rsync 로 · lsync 로 옮길 때 이동 유지 (218 · 219)
- 218 (버그): Rsync 화면에서 만든 작업이 기억된 다른 방법으로 돌던 것 - 늘 rsync 로
- 219 (버그): 모니터링에서 lsync 로 옮길 때 이동 · 안의 것 · 원본 정리 · 한 번에를 그대로 넘김

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 23:47:57 +09:00
RyuJongJin 44663ec2b9 이동 뒤 원본에 남은 파일을 다시 세어 알리기 (216) · 끝 알림에 이동 / 복사 · 개수 (212)
- 216 (관리자 지시, 205 점검에서 찾음): -u · --exclude · 대상이 더 새것 등으로 건너뛴 파일은 원본에 남는데 "끝" 으로만 보였다.
  이동이 끝나면 원본에 남은 파일을 다시 세어 "n개는 원본에 남음 (건너뜀)" 으로 알린다 (끝 알림 · 모니터링 카드 · 작업 기록).
- 212 (관리자 지시): 끝 알림을 "이동 끝: n개 · 원본 → 대상" / "복사 끝: n개 · …" 로.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 23:14:23 +09:00
RyuJongJin f59e2f75a1 이동 경고 문구 (222) · 자동 두 쪽 나누기는 두 쪽 스캔일 때만 (223) · 보는 동안 지운 그림 (224)
- 222 (관리자 지시): 원본이 대상 안일 때 이동이면 "옮겨집니다 (원본 파일은 지워지고, 원본 폴더는 아래에서 고른 대로)" - 예전에는 이동일 때도 "복사됩니다 · 원본 폴더 그대로".
- 223 (관리자 지시): 보기 화면 "두 쪽 나눠 보기: 자동" 이 평범한 가로 사진도 반으로 잘랐다. ZIP · CBZ · PDF 묶음의 가로 그림은 예전처럼 나누고,
  폴더의 그림은 다른 그림 대부분 (3/4 이상, 2장 이상) 이 세로일 때만 나눈다. 나눠 볼 때 위 막대 맨 앞에 [두 쪽 나눔 끄기]. 설정 값 · 처음 값은 그대로.
- 224 (관리자 지시): 보기 화면이 앱으로 돌아올 때 폴더의 그림 중 없어진 것을 목록에서 빼고, 보던 그림이 없어졌으면 "파일이 없어졌습니다" 와 다음 그림, 다 없으면 닫는다.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 22:43:32 +09:00
RyuJongJin 3ffaf23955 설정 글 칸이 입력 중에 끊기지 않게 · 키보드가 열리면 위 줄 접기 (213) · 좁은 창 위 줄 기준 480 (221)
- 213 (관리자 지시, 입력이 안 됨): 설정의 rsync · robocopy 옵션 칸이 값이 기본값과 같아지거나 달라지는 순간 새로 만들어져 포커스를 잃었다.
  칸마다 컨트롤러를 두고 고정 key, ↺ 는 칸의 글을 바꾼다.
- 213: 폰 가로에서 키보드가 열려 남는 높이가 360 미만이면 설정 화면의 위 줄 둘 (막대 · 묶음 바로가기) 을 접는다.
- 221 (관리자 지시): 폰 세로 (창 약 400dp) 에서 창 위 줄이 넓은 배치라 탭 칸이 130dp 남짓이어서 두 번째 저장소 (SD 카드) 가 끝에서 잘려 보였다.
  넓은 배치 기준을 320 → 480 으로 올려, 그보다 좁으면 끝 버튼을 [⋮] 하나로 모으고 탭 칸을 넓힌다.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 22:43:32 +09:00
RyuJongJin 3ad8becafa 폴더 안의 것을 바로 위 폴더로 이동이 조용히 안 되던 것 (205)
사용자 지적 "rsync 로 이동이 안 되는 경우가 있어" (버그 수정): Rsync 화면 (원본/ → 대상/) 에서 바로 위 폴더로 이동하면
실행 때의 검사가 폴더째 옮기는 규칙 ("이미 이 폴더에 있습니다") 으로 막아, 알림 없이 아무 일도 하지 않았다.
안의 것을 옮길 때 (contents) 는 이 검사를 하지 않는다. 그래도 시작하지 못하면 이유를 화면 · 작업 기록에 알린다.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 21:39:50 +09:00
RyuJongJin 996491547b 좁은 Rsync 화면은 창 하나씩 (191) · 방향 실행 버튼을 앞에 (208)
- 191 (관리자 지시): 좌우 두 창인데 폭이 560 보다 좁으면 (폴드 접은 화면 · 폰 세로) 창이 140~330px 라 폴더 이름이 잘렸다.
  창 하나씩 보이고 위에 [왼쪽 · 폴더 | 오른쪽 · 폴더] 로 바꿔 본다. 버튼 줄은 가로, 이름은 창 배치대로 (좌 → 우).
- 208 (관리자 지시): Rsync 버튼 순서를 [좌 → 우 · 좌 ← 우 · 좌 ⇄ 우 · 모니터링 · …] 로 - 좁아서 [더 보기] 로 가는 것은 뒤쪽

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 21:39:50 +09:00
RyuJongJin a94009524c Windows 경로 입력의 smb:// · cifs:// 를 \서버\공유 로 (190)
관리자 지시 (179 보충): 주소가 틀린 줄 알지 않게, Windows 는 smb://서버/공유 (cifs:// 도) 를 \서버\공유 로 바꿔 연다.
%20 같은 주소 글자는 풀고 한글은 그대로. 바꿔도 못 열면 "Windows 의 네트워크 공유는 \서버\공유 형식 (바꾼 경로)" 를 알린다.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 21:39:50 +09:00
RyuJongJin df508e3d2d 탐색기 탭 줄이 넘쳐도 경로 입력 · WebDAV (202) · 모르는 크기 · 날짜 "—" (203) · E10 시험 건너뛰기
- 202 (관리자 지시, 사용 막힘): 빈 드라이브가 많은 PC 에서 창 위 줄이 넘쳐 [경로 입력] · WebDAV 를 누를 수 없었다.
  [← → ★] · 저장 장치 탭 (이것만 옆으로, 마우스 휠 · 끌기) · [WebDAV · 경로 입력] (늘 보임) 으로 나눈다.
  비어 있거나 연결 안 된 드라이브는 숨기지 않고 뒤쪽으로. 창이 320 보다 좁으면 끝 버튼은 [⋮] 하나로.
- 203: 잠긴 시스템 파일의 크기 · 바뀐 날 ("-1B · 1970-01-01") 은 "—"
- 시험: 권한 없는 폴더 (E10) 가 읽히는 환경 (Git Bash · MSYS 는 백업 권한을 켬) 에서는 이유를 남기고 건너뜀.
  explorer_parallel_test 37 · 122 는 202 때문에 [경로 입력] 을 못 찾던 것 - 이제 통과

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 21:39:50 +09:00
RyuJongJin 7df43a750e 트리 화살표 누르는 영역: 줄 높이 전체 · Android 는 폭 44 (189 보충)
189 로 접기 · 펼치기를 화살표로만 하게 되어, 아이콘 크기 (18px) 만 눌리던 것을 넓혔다 (관리자 지시: 손가락으로 누르기 충분히).
Windows 는 폭 20 그대로 (배치가 바뀌지 않게). 시험: Android 흉내로 영역 크기 · 가장자리를 눌러도 펼침.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 20:19:37 +09:00
RyuJongJin a7632a9bed 탐색기 뒤로 · 앞으로를 실제 Windows 에서 한 칸씩 (75) · 이름으로 접지 않기 (189)
- 75 (버그 수정, 실제 Windows 빌드에서 재현): 창 위의 마우스 4 · 5 누름을 창과 화면이 둘 다 받아 두 칸씩 움직였다
  (받는 곳마다 좌표를 바꾼 새 이벤트라 identical 로 막히지 않음) → 누른 손가락 · 시각으로 한 번만.
  이동이 끝나기 전에 다시 불리면 무시 (내역에서 두 칸이 빠지지 않게).
- 75: 지운 폴더로 뒤로 · 앞으로 하면 그 상위 폴더를 두 창 모두 다시 읽는다 (트리에 지운 폴더가 남지 않게)
- 189 (관리자 지시): 폴더 이름을 누르면 그 폴더로 (닫혀 있으면 펼침), 이름으로는 접지 않는다.
  다시 누르거나 두 번 눌러도 아래 줄이 움직이지 않게. 접기 · 펼치기는 화살표로 (Windows · Android 같게)
- 시험: 이름을 다시 · 두 번 눌러도 그대로, 화살표로 접기. 지운 폴더가 트리에서도 사라짐

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 19:48:20 +09:00
RyuJongJin e9f7e5d819 복사 · 이동해도 목록 자리 · 스크롤 그대로 (180) · [새로 고침] 두 창 모두 (183)
- 창 (왼쪽 · 오른쪽 · 파일 목록) 마다 같은 GlobalKey: 창 크기 비율이 바뀌어 두 창이 가로 ↔ 세로로 바뀌어도 목록을 새로 만들지 않는다 (스크롤이 맨 위로 가던 것)
- 읽는 중 막대는 목록 위에 겹쳐 그린다 (끼어들어 목록이 밀리지 않게)
- 폴더 + 파일 목록: 다시 읽는 동안 앞의 목록을 그대로 (처음 읽을 때만 빙글이)
- 복사 · 이동이 끝나면 표시만 지우고 선택 모드는 그대로. Esc 로 선택 모드 · 표시 풀기 (뒤로 키는 전과 같이)
- 보던 폴더로 스크롤: 줄이 막 늘어난 때의 낡은 끝 값으로 자르지 않는다
- 183: [새로 고침] 은 두 창 모두, 목록을 비우지 않고 새로 읽은 것으로 바꾼다
- 시험: explorer_steady_test (매 프레임 자리 · 스크롤, 배치 전환, 선택 모드 · Esc, 두 창 새로 고침). 37-2 는 고정 횟수 대신 될 때까지 기다림

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 18:49:04 +09:00
RyuJongJin 5e5182178b 저장 줄 · 복사 창 안내 · Android SMB 안내 (176 · 178 보충, 179)
- [보기] 로 비교 후 저장하면 작업 현황 줄이 "저장했습니다: 경로" + [열기] (저장하지 않으면 "…: 저장하지 않았습니다")
- 복사 창: 설정 옵션의 원본 지우기 옵션 (/MOV · --remove-source-files 등) 은 복사에서 쓰지 않는다고 알림 (이동은 [이동])
- 179: Android 경로 입력에 smb:// · \서버 를 넣으면 "네트워크 공유 (SMB) 는 아직 지원하지 않습니다. WebDAV 탭을 쓰세요" + [WebDAV 서버 추가]
- 시험: 저장 줄 · 복사 창 안내 · SMB 안내

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 18:49:04 +09:00
RyuJongJin d6f3de130c Rsync 확인 창: 1280×720 에서 체크 · 경고가 버튼에 가리지 않게
- 미리 보기 높이를 화면 높이의 28% (140 이상) 로
- [원본 파일 지우기] 체크 · 경고를 미리 보기 위로
- 시험: 1280×720 에서 체크 · 경고가 버튼보다 위

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 18:49:03 +09:00
RyuJongJin 4f10cf167f 파일 탐색기 창마다 뒤로 · 앞으로 (75)
- 창마다 가 본 폴더 내역 (50개). 머리 줄 [←] [→], Alt+← / Alt+→, 마우스 4 · 5번 버튼
- 두 창일 때 마우스 4 · 5번은 마우스가 올라간 창에 적용하고 그 창을 활성으로 (창 밖이면 활성 창)
- 갈 폴더가 지워졌거나 열 수 없으면 그 항목은 버리고 지금 폴더는 그대로, 이유를 알림
- 시험: 버튼 · 단축키 · 마우스, 두 창 + 마우스 버튼, 지워진 폴더로 앞으로

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 18:49:03 +09:00