JJ_MKVMaker/lib/app
RyuJongJin 5a65dbf693 W DangerDialog: 확인 창 두 벌 (confirm.dart · confirm_dialog.dart) 을 confirmDialog 하나로 + 체크해야 켜짐 · 첫 초점 [취소] 를 공용으로
- confirm_dialog.dart 하나: confirmAction (글만 묻는 꼴) 은 confirmDialog 를 부른다 (confirm.dart 지움, 16 파일 import 바꿈).
  빨강은 테마 위험 색 (danger) 하나로 - 지우기 · 덮어쓰기 확인의 빨강이 다른 지우기 단추와 같아짐 (FF5252 → FF5C6C)
- 새 약속: cancelFirst (빨강이 아니어도 되돌리기 어려운 일은 첫 초점 [취소] - Enter 로 실행 안 됨) · canConfirm (체크 · 두 비밀번호가
  같아야 [확인] 켜짐). 시스템 폴더 · 루트 보기 켜기 (설정), 루트 탭 경고 (탐색기), 보관함 비밀번호 바꾸기가 부르기만 한다.
  창마다 글 · 단추 이름은 그대로
- confirmAction 도 같은 규칙: danger 면 첫 초점 [취소], 아니면 [확인] (관리자 결정 10/22)
- 시험: confirm_dialog_contract_test 에 cancelFirst · canConfirm · confirmAction 3개 (관리자 10/25 조건)
- 주입: LiveSync(now:) (처음 값 실제 시계 - 카드의 "마지막: HH:MM"). 시험 쪽 고정: b3 (폴더 · 시각 · CPU · 디스크) ·
  lsync_p0 (폴더 · 시각 · 대상 디스크). b3_52 의 받는 중 파일 (.jjpart) 시각은 실제 복사가 만든 때라 그대로 (흔들림 2장 남음)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-25 11:05:26 +09:00
..
controller P2 재생 화면 조절 줄 좁을 때 두 줄 · 재생 목록 모듈 (소리 파일은 소리끼리) 을 새 구조로 옮김 (82a87da, after_1020) 2026-10-25 04:31:13 +09:00
settings M0: 안전 저장소를 못 읽으면 마스터 잠금을 '알 수 없음' 으로 - 문을 열지 않고 마스터를 덮어쓰지 않는다 2026-10-23 19:26:02 +09:00
sync modular_sync F2: "같은 파일" 판단을 SameFile 하나로 - 실행 전 미리 보기 = 실제 맞추기 2026-10-24 09:27:39 +09:00
ai_jobs.dart 나누기: ai_local (827) 을 받기 저장소 · 엔진 실행 · 작업 모듈로 (→ 482 · 186 · 195) 2026-10-22 16:26:12 +09:00
ai_local.dart 설정 A 분야 5: AI 그림 · 해상도 올리기 (AiImageSettings) - 키 27 · aiServices 의 비밀 값 처리 (plainSecrets) 그대로 2026-10-22 23:14:56 +09:00
ai_local_engine.dart 나누기: ai_local (827) 을 받기 저장소 · 엔진 실행 · 작업 모듈로 (→ 482 · 186 · 195) 2026-10-22 16:26:12 +09:00
ai_upscale.dart 나누기: ai_local (827) 을 받기 저장소 · 엔진 실행 · 작업 모듈로 (→ 482 · 186 · 195) 2026-10-22 16:26:12 +09:00
app_controller.dart W JjTitleBar 2: 창 · 판 안의 제목 줄 6곳을 JjHeaderRow 로 + F11 · G1 · G2 를 새 구조로 옮김 (7247aeb · a22832d, after_1020) 2026-10-25 03:28:46 +09:00
archive_browse.dart E5c: 압축 보기 · 여는 길 · 목록에서 숨기기 · Rsync 실행을 모듈로 + 점검 통합 시험 2026-10-22 09:51:34 +09:00
bookmarks_controller.dart 화면 언어: 한국어 · English · 日本語 · 简体中文, 언어 추가 (AI 자동 번역) · 삭제, 바꾸면 화면 전체가 바로 그 언어로 2026-10-04 14:13:02 +09:00
cleanup.dart WIP 시험 · 앱이 %TEMP% 에 고정 이름을 남기지 않게 (관리자 지시 10/20): 시험의 앱 임시 폴더는 파일마다 jj_store_ (flutter_test_config) · 업데이트 시험은 시험 폴더 (GitHubUpdater.tempRoot, 기록은 스크립트 옆) · check.py 는 임시 폴더 · 앱이 켜질 때 지난 업데이트가 남긴 새 판 폴더 · .ps1 · .log 를 지움 (2분 지난 것) · 검사는 jj 로 시작하는 것 모두 실패 · 마그넷 멈춘 막대 "Stalled" 따로 열쇠 (28 지적) · explorer_test 82 부하 때 목록 기다리기 (검토 대기) 2026-10-20 13:25:15 +09:00
component_store.dart 오류 메시지 안쪽을 화면 언어로 (59) 2026-10-10 01:11:17 +09:00
components.dart 설정 A 분야 13: 화면 · 앱 모양 (DisplaySettings) - 키 13 · clampUiScale → DisplaySettings.clampScale 2026-10-23 00:06:30 +09:00
copy_center.dart 설정 A 분야 4: 복사 · 이동 · rsync · 실시간 동기화 (CopySettings) - 키 16 · 도우미 _method 함께 2026-10-22 23:10:42 +09:00
copy_error_text.dart modular_sync #6 F18: 실시간 동기화 실패 글도 복사 작업과 같은 userErrorText (copy_error_text 모듈) 2026-10-24 14:10:22 +09:00
delete_ops.dart M2-b: Windows 휴지통 주입 (전역 recycleBinForTest 없앰) 2026-10-24 00:22:23 +09:00
download_manager.dart 설정 A 분야 7: 다운로드 · YouTube (DownloadSettings) - 키 12 2026-10-22 23:20:58 +09:00
explorer_device.dart M2-b: Windows 휴지통 주입 (전역 recycleBinForTest 없앰) 2026-10-24 00:22:23 +09:00
file_opener.dart E5c: 압축 보기 · 여는 길 · 목록에서 숨기기 · Rsync 실행을 모듈로 + 점검 통합 시험 2026-10-22 09:51:34 +09:00
folder_readme.dart 보관 폴더에 README.txt (영어 · 한국어): "설정 보관" · "AI 모델 보관" 2026-10-10 01:39:32 +09:00
i18n_controller.dart 설정 A 분야 13: 화면 · 앱 모양 (DisplaySettings) - 키 13 · clampUiScale → DisplaySettings.clampScale 2026-10-23 00:06:30 +09:00
install_marker.dart 비밀번호 안전 저장 · 동기화 안전장치 · 휴지통 · 시작 메뉴 알림 · 보기 화면 (계속 보기 · 두 쪽 · 회전) · 탐색기 배치 등 2026-10-09 10:25:08 +09:00
live_sync.dart W DangerDialog: 확인 창 두 벌 (confirm.dart · confirm_dialog.dart) 을 confirmDialog 하나로 + 체크해야 켜짐 · 첫 초점 [취소] 를 공용으로 2026-10-25 11:05:26 +09:00
local_fs.dart M2-a: LocalFs (목록 · 저장 장치 · 드라이브) 주입 + 빈 목록 경합 고침 2026-10-23 21:43:25 +09:00
master_lock.dart M0: 안전 저장소를 못 읽으면 마스터 잠금을 '알 수 없음' 으로 - 문을 열지 않고 마스터를 덮어쓰지 않는다 2026-10-23 19:26:02 +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
rsync_runner.dart modular_sync F2: "같은 파일" 판단을 SameFile 하나로 - 실행 전 미리 보기 = 실제 맞추기 2026-10-24 09:27:39 +09:00
settings.dart 설정 A: 일반 분야 (GeneralSettings) · 남은 키 정리 - toJson · fromJson 은 분야 목록만 돈다 2026-10-23 00:15:58 +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 (가) 10곳: 시험이 앱 동작을 바꾸던 길을 주입 · 모듈로 (lib 의 @visibleForTesting 은 들여다보기 4곳만 남음) 2026-10-24 01:06:00 +09:00
transfer_job.dart modular_sync #6 F18: 실시간 동기화 실패 글도 복사 작업과 같은 userErrorText (copy_error_text 모듈) 2026-10-24 14:10:22 +09:00
transfer_plan.dart E5b: 지우기 · 되돌리기 · 복사 계획 · 담기를 모듈로 (explorer_page 는 확인 창 · 알림만) 2026-10-22 09:20:50 +09:00
version_snapshot.dart 보관 폴더에 README.txt (영어 · 한국어): "설정 보관" · "AI 모델 보관" 2026-10-10 01:39:32 +09:00
volumes.dart E5a: 탐색기 창 상태 · 내역 · 줄 목록 · 폴더 읽기 · 저장 장치를 모듈로 (explorer_page 는 부르기만) 2026-10-22 08:27:49 +09:00
web_proxy.dart M1-1: "Android 인 척" 스위치 · 실패 흉내 플래그를 주입으로 (PlatformInfo · WebViewProxyTarget) 2026-10-23 20:05:31 +09:00
web_view_proxy_target.dart M1-1: "Android 인 척" 스위치 · 실패 흉내 플래그를 주입으로 (PlatformInfo · WebViewProxyTarget) 2026-10-23 20:05:31 +09:00