JJ_MKVMaker/lib/app
RyuJongJin 62784039e4 WIP P0 원격 맞추기: --delete 가 없으면 받는 쪽의 같은 이름 폴더를 지우지 않음 (예전: 통째로 지우고 파일로) · 미리 보기에 보임 (검토 대기)
관리자 지시 (10/19, 15 의 원격 동기화 검토 M1 - P0): WebDAV · SFTP · SMB · FTP 가 끼면 앱이 직접 맞추는데 (file_ops._mirrorV),
원본은 파일 X, 받는 쪽에는 같은 이름의 **폴더** X 가 있으면 --delete 가 없어도 그 폴더를 통째로 지우고 파일로 바꿨다.
미리 보기에는 "바뀜" 한 줄로만 보여 사용자가 모르게 지워졌다 (10/8 WebDAV 부터 정식 판에 있던 것으로 봄).
실제 rsync 는 --delete (또는 --force) 없이는 비어 있지 않은 폴더를 지우지 않는다.
- _mirrorV: --delete 가 없으면 그 이름은 건너뛰고 FileOps.dirConflicts 에 남긴다. --delete 면 지금처럼 지우고 파일로.
- 미리 보기 (sync_preview): 지우기 없음 → "받는 쪽에 같은 이름의 폴더가 있어 건너뜀 - 폴더는 그대로" (주황, 새 PreviewAction.skipDir),
  지우기 → 지울 목록에 "폴더 · 안의 n개를 지우고 같은 이름의 파일로" (빨강, 지울 수에 들어가 72 의 보호를 받음).
- 알림: 복사 · 이동 작업 끝 "같은 이름의 폴더가 있어 건너뜀 n개: …", 실시간 동기화 (lsync, 원격 쌍) 카드 "n개 맞춤 · 같은 이름의 폴더가 있어 건너뜀 n개" (같은 규칙).
- 로컬끼리 맞추기는 원래 폴더를 지우지 않았다 (파일 이름 바꾸기가 실패) - 그대로.

시험: webdav_test · sftp_test (새 각 1, 시험 WebDAV 서버 · paramiko SFTP 서버): 지우기 없음 → 미리 보기 skipDir · 지울 것 없음 · 실제로 폴더와 안의 파일 그대로 ·
다른 파일은 맞춤 · dirConflicts 1 / 지우기 → 미리 보기 지우기 줄 (안의 n개) · 실제로 파일로. analyze 문제 없음, l10n 빠짐 0.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-19 22:15:22 +09:00
..
ai_local.dart ARMv8.0 기기용 AI 엔진 · 신호별 문구 · 받기 전 검사 · APK 네이티브 목록 (195) 2026-10-11 21:39:50 +09:00
ai_upscale.dart WIP 관리자 결정: 거절 기록은 방식 주소:포트만 · DoH 주소는 호스트만 · 시험 임시 폴더 흔적 0 + 검사 (검토 대기) 2026-10-17 16:53:56 +09:00
app_controller.dart WIP 보안 검토 6: 설정 "SMB 서명 · 암호화 필수" (처음 끔) · 서명도 암호화도 안 되는 연결은 탐색기 탭에 ⚠ (검토 대기) 2026-10-18 03:16:57 +09:00
bookmarks_controller.dart 화면 언어: 한국어 · English · 日本語 · 简体中文, 언어 추가 (AI 자동 번역) · 삭제, 바꾸면 화면 전체가 바로 그 언어로 2026-10-04 14:13:02 +09:00
cleanup.dart 환경 설정 > 저장 공간 정리: 작업 임시 파일 · 받다 만 다운로드 (.part 등) · 받다 만 AI 모델 · 업데이트 남은 파일 · 지난 기록 (진행 중인 것은 건너뜀). AI 자막 임시 폴더가 남던 것 수정 2026-10-04 18:09:31 +09:00
component_store.dart 오류 메시지 안쪽을 화면 언어로 (59) 2026-10-10 01:11:17 +09:00
components.dart 통합: tor_dns (Tor 브라우저 · DNS 강제 · 228 · 247~249) 를 묶음5 (aa7a1af) 에 합침 2026-10-12 01:53:32 +09:00
copy_center.dart WIP 85 파일 탐색기 진행 패널 숨기기 · 작은 표시 · Android 알림 진행률 · 끝나면 [폴더 열기] (검토 대기) 2026-10-17 13:36:59 +09:00
download_manager.dart WIP 263 다운로드: DNS 서버에 닿지 않아 실패하면 줄에 이유 · [시스템 DNS 로 바꾸기] (검토 대기) 2026-10-17 09:55:14 +09:00
folder_readme.dart 보관 폴더에 README.txt (영어 · 한국어): "설정 보관" · "AI 모델 보관" 2026-10-10 01:39:32 +09:00
i18n_controller.dart 비밀번호 안전 저장 · 동기화 안전장치 · 휴지통 · 시작 메뉴 알림 · 보기 화면 (계속 보기 · 두 쪽 · 회전) · 탐색기 배치 등 2026-10-09 10:25:08 +09:00
install_marker.dart 비밀번호 안전 저장 · 동기화 안전장치 · 휴지통 · 시작 메뉴 알림 · 보기 화면 (계속 보기 · 두 쪽 · 회전) · 탐색기 배치 등 2026-10-09 10:25:08 +09:00
live_sync.dart WIP P0 원격 맞추기: --delete 가 없으면 받는 쪽의 같은 이름 폴더를 지우지 않음 (예전: 통째로 지우고 파일로) · 미리 보기에 보임 (검토 대기) 2026-10-19 22:15:22 +09:00
master_lock.dart 보안 · 비밀번호 (124 · 127~132) · 쿠키 (53) · http 경고 (56) · 안내 고침 (116 · 125 · 126) · 시험 안정화 2026-10-09 12:22:47 +09:00
model_backup.dart 보관 폴더에 README.txt (영어 · 한국어): "설정 보관" · "AI 모델 보관" 2026-10-10 01:39:32 +09:00
net_guard.dart WIP 릴리스 전 점검 (지시 8): DNS 실패 기록에서 사이트 이름 뺌 · archive 고지 · 큰 글자 넘침 3곳 (검토 대기) 2026-10-17 16:18:14 +09:00
settings.dart Merge commit '63b92b6' into next974 2026-10-18 03:30:27 +09:00
subtitle_editor_controller.dart JJ_MKVMaker v1.0.0 2026-09-30 19:35:19 +09:00
tor_bundle.dart Tor 브라우저 (컴포넌트) · DNS 강제 (기본 8.8.8.8 / 8.8.4.4) 2026-10-10 21:10:17 +09:00
tor_service.dart Chrome 엔진: 관리자 권한이면 시작 안 함 (설정으로 허용) · 20초 안전망 · 인증 없는 숨긴 문 (207) · DNS 강제를 앱 시작 맨 앞에 2026-10-12 00:23:20 +09:00
transfer_job.dart WIP P0 원격 맞추기: --delete 가 없으면 받는 쪽의 같은 이름 폴더를 지우지 않음 (예전: 통째로 지우고 파일로) · 미리 보기에 보임 (검토 대기) 2026-10-19 22:15:22 +09:00
version_snapshot.dart 보관 폴더에 README.txt (영어 · 한국어): "설정 보관" · "AI 모델 보관" 2026-10-10 01:39:32 +09:00
web_proxy.dart Chrome 엔진: 관리자 권한이면 시작 안 함 (설정으로 허용) · 20초 안전망 · 인증 없는 숨긴 문 (207) · DNS 강제를 앱 시작 맨 앞에 2026-10-12 00:23:20 +09:00