JJ_MKVMaker/lib/app/settings
RyuJongJin 39d81f1a73 M0: 안전 저장소를 못 읽으면 마스터 잠금을 '알 수 없음' 으로 - 문을 열지 않고 마스터를 덮어쓰지 않는다
사용자가 보게 될 동작: 기기 안전 저장소를 읽지 못하면 저장된 비밀번호를 쓰는 기능이 열리지 않고, 환경 설정 > 보안에
까닭과 [다시 읽기] 가 보인다. 다시 읽히면 평소대로 마스터를 묻는다.

- 예전: 읽지 못하면 빈 것으로 보아 마스터가 없는 것처럼 문 (SecretGate) 이 열렸고, 그 상태에서 마스터를 정하면 진짜 값을 덮어쓸 수 있었다
- MasterLock.storeUnreadable: load 가 예외 대신 표시 (앱은 켜짐). ensure 는 한 번 다시 읽고 못 읽으면 false.
  setMaster · setSuper · clearMaster · clearSuper · setAsk 는 MasterStoreUnreadable. reload()
- 보안 설정: 까닭 · [다시 읽기] (정하기 · 바꾸기 · 끄기 숨김). 보관함 [마스터로도 열기] 는 까닭을 알림
- 비밀번호 다시 저장 [다시 시도] 가 되면 마스터 잠금도 다시 읽음. settings_store 의 TODO(M0) 지움
- 약속 시험 master_store_unreadable_test 4 (읽기가 실제로 실패하는 저장소를 시험 파일 안에 - lib 흉내 플래그 쓰지 않음)
- 확인: 단위 1467 ×2 · 통합 6/6 ×2 · 캡처 214장 base10 과 같음

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-23 19:26:02 +09:00
..
ai_image_settings.dart 설정 A 분야 5: AI 그림 · 해상도 올리기 (AiImageSettings) - 키 27 · aiServices 의 비밀 값 처리 (plainSecrets) 그대로 2026-10-22 23:14:56 +09:00
browser_settings.dart 설정 A 분야 8: 웹 브라우저 (BrowserSettings) - 키 10 2026-10-22 23:23:30 +09:00
copy_settings.dart 설정 A: 일반 분야 (GeneralSettings) · 남은 키 정리 - toJson · fromJson 은 분야 목록만 돈다 2026-10-23 00:15:58 +09:00
display_settings.dart 설정 A 분야 13: 화면 · 앱 모양 (DisplaySettings) - 키 13 · clampUiScale → DisplaySettings.clampScale 2026-10-23 00:06:30 +09:00
download_settings.dart 설정 A: 일반 분야 (GeneralSettings) · 남은 키 정리 - toJson · fromJson 은 분야 목록만 돈다 2026-10-23 00:15:58 +09:00
explorer_settings.dart E6 1: 탐색기 모양 처음 값을 기기마다 (Windows = Total Commander) · 예전 판이 저장한 X-plore 는 한 번만 묻기 2026-10-23 05:39:39 +09:00
explorer_tool_settings.dart 설정 A 분야 11: 탐색기 도구 (ExplorerToolSettings) - 시스템 폴더 · 루트 · Wi-Fi 공유 · ZIP 수준, 키 6 2026-10-22 23:32:25 +09:00
general_settings.dart 설정 A: 일반 분야 (GeneralSettings) · 남은 키 정리 - toJson · fromJson 은 분야 목록만 돈다 2026-10-23 00:15:58 +09:00
mkv_settings.dart 설정 A: MKV · 자막 분야 (MkvSettings) - 저장 위치 · 이동 버튼 · 인코딩 · AI 자막 · OpenSubtitles 키를 분야로 2026-10-23 00:11:13 +09:00
network_settings.dart 설정 A 분야 2: 네트워크 · DNS (NetworkSettings) - 키 4 · dnsConfig → network.config 2026-10-22 22:29:42 +09:00
playback_settings.dart 설정 A: 재생 분야 (PlaybackSettings) - 동영상 열기 · 재생 목록 · 외부 플레이어 · 자막 크기 · 기본 자막 언어 2026-10-23 00:12:48 +09:00
reader_settings.dart 설정 A: 일반 분야 (GeneralSettings) · 남은 키 정리 - toJson · fromJson 은 분야 목록만 돈다 2026-10-23 00:15:58 +09:00
records.dart 설정 A 바탕: 기록 클래스 · settings_store 옮김 · 분야 틀 (SettingsGroup) · JSON 약속 시험 2026-10-22 20:10:09 +09:00
remote_settings.dart 설정 A 분야 12: 원격 서버 (RemoteSettings) - WebDAV · SFTP · SMB · FTP 목록 · 쉬는 시간 · WebDAV 외부 열기, 키 7 2026-10-22 23:37:49 +09:00
run_settings.dart 설정 A 분야 9: 실행 · 종료 · 업데이트 (RunSettings) - 키 11 · backgroundRun 함께 2026-10-22 23:28:09 +09:00
settings_group.dart 설정 A 분야 7: 다운로드 · YouTube (DownloadSettings) - 키 12 2026-10-22 23:20:58 +09:00
settings_store.dart M0: 안전 저장소를 못 읽으면 마스터 잠금을 '알 수 없음' 으로 - 문을 열지 않고 마스터를 덮어쓰지 않는다 2026-10-23 19:26:02 +09:00
tor_settings.dart 설정 A: 일반 분야 (GeneralSettings) · 남은 키 정리 - toJson · fromJson 은 분야 목록만 돈다 2026-10-23 00:15:58 +09:00
vault_settings.dart 설정 A 분야 10: 암호 보관함 (VaultSettings) - 키 3 2026-10-22 23:30:18 +09:00