Commit Graph

197 Commits (60d4db75833b245e4c97d830849638044ecfb205)

Author SHA1 Message Date
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 e39068cc9f WIP MKV 화면 ②③ 보충 (15 확인 · 관리자 판단): [›] 뒤 바탕 · 폰 세로 빈 작업 기록은 한 줄 높이 (검토 대기)
② [›] · [‹] 를 짧은 흐림 (20) + 바탕색 칸 + 단추 바탕 (panelHigh) 위에 - 폭 412 에서 잘린 세 번째 버튼 글자가
   [›] 뒤로 비쳐 보였다 (관리자 지시).
③ 관리자 1차 판단: 폰 세로 (좁은 화면) 에서 작업 기록이 비었으면 칸을 안내 한 줄 높이 (40) 로,
   기록이 생기면 예전 높이 (140 까지). 정보는 숨기지 않고 빈 자리만 없앤다. 넓은 화면 · 인코딩 줄은 그대로.
- 시험: 비었을 때 40 → 기록이 생기면 140, 넓은 화면은 140.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-17 10:50:01 +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 e658de6691 WIP MKV 화면 ① 보충: 넓은 화면에서 목록이 비었으면 [동영상 추가] 안내 그대로 (검토 대기)
- 8833c93 에서 넓은 화면은 고른 것이 없으면 늘 "고른 동영상이 없습니다" 를 보여, 빈 목록일 때도
  [동영상 추가] 안내가 사라졌다 (ui_test "동영상 추가 후 화면 표시" 가 잡음). 좁은 화면과 같게 나눈다.
- 시험: 빈 목록 안내를 412 · 1280 둘 다.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-17 10:33:54 +09:00
RyuJongJin 8833c93bf8 WIP MKV 화면 (15 지적 ①②③): 고른 것 없음 안내 · 폰 세로 버튼 줄 [›] · 목록은 내용만큼 + 설정 "폰 세로 목록 크기" (검토 대기)
① 동영상이 있는데 고른 것이 없으면 빈 목록 안내 ("동영상 추가로 파일을 선택하세요") 대신
   "고른 동영상이 없습니다 · 목록에서 동영상을 누르면 여기에 자세히 보입니다" (넓은 · 좁은 화면 모두).
   첫 줄 자동 고르기는 하지 않음 (관리자 판단).
② 폰 세로 (폭 412) 위 버튼 줄이 화면보다 길면 끝에 흐림 · [›] (밀었으면 [‹]), 누르면 한 화면쯤 민다
   (새 위젯 ScrollMore). 예전에는 세 번째 버튼이 잘린 채 더 있다는 표시가 없었다 (버그).
③ 폰 세로 목록 높이: 화면 32% 고정 → 관리자 판단대로 목록은 내용만큼, 자세히 칸 최소 높이를 남기고
   남는 공간은 목록에. 설정 "폰 세로 목록 크기" 자동 (처음 값) / 작게 (25%) / 크게 (55%), 모르는 값은 자동.
   - 내 판단: 자동의 자세히 칸 최소 = 고른 동영상이 있으면 62% (261 · 266 의 자막 버튼 보호, 예전 68% 와 비슷),
     없으면 안내 자리 120.
   - 내 판단: 작업 기록 칸이 비었으면 "작업 기록이 아직 없습니다 …" 를 적는다 (✕ 만 있는 빈 칸으로 보였다, 높이는 그대로).
- 시험 mkv_compact_list_test (412 · 1280, 작게 < 크게 < 자동, [›] 누르기, 빈 기록 안내), 번역 en · ja · zh-Hans.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-17 10:24:00 +09:00
RyuJongJin a2cb535f1e WIP 263 다운로드: DNS 서버에 닿지 않아 실패하면 줄에 이유 · [시스템 DNS 로 바꾸기] (검토 대기)
- 관리자 지시 (42 가 찾던 것): DNS 강제 프록시를 거친 yt-dlp · aria2 는 "Tunnel connection failed" 만 남겨
  줄에는 "연결할 수 없습니다" 뿐이라 이유 · 할 일을 몰랐다.
- 실패한 그때 DNS 강제 + "닿지 않음" 상태이고 오류가 연결 · 프록시 실패이면 줄에 "DNS 서버 (…) 에 닿지 않아 받지 못했습니다".
  404 · 로그인 같은 다른 실패는 DNS 탓으로 보지 않는다.
- 아직 DNS 강제면 [시스템 DNS 로 바꾸기] (설정에 저장, 버튼은 사라짐). 다시 받기는 [다시 시도] 로 사용자가 (내 판단: 몰래 다시 받지 않음).
- 번역 en · ja · zh-Hans, 시험 download_error_test (판단 · 줄 · 버튼).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-17 09:55:14 +09:00
RyuJongJin f596ef7253 WIP 266 폰 세로 MKV 화면: DNS 닿지 않음 줄을 한 줄로 (글 줄임 · 길게 누르면 전체 · 버튼 같은 줄) - 세부 정보의 자막 버튼이 밀려나지 않게 (검토 대기)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-17 09:49:36 +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 92919aae93 WIP 262 MKV 끝나는 순간 줄 ■: 같은 자리에 오는 ⟳ 는 묶음이 끝날 때까지 안 눌림, 집계는 끝났을 때의 결과로 · 시작 못 한 것만 취소됨 (검토 대기)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-17 09:49:32 +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 f9d3596bae WIP 261 폰 세로 MKV 세부 정보: 자막 버튼을 칩 바로 아래로 - 감지한 언어 줄 · 이동 버튼이 [AI 자막 만들기] 를 밀어내지 않게 (검토 대기)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-17 09:49:28 +09:00
RyuJongJin 8937c17617 WIP 260 환경 설정 > 자막: 받은 AI 자막 모델 (Whisper · NLLB) 크기 · [지우기], 작업 중에는 못 지움 (검토 대기)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-17 09:49:27 +09:00
RyuJongJin 99d446cea6 WIP 259 번역 모델 (NLLB 912MB) 은 번역이 실제로 필요할 때만 받기 - 자동 감지 + 한 언어면 감지한 원어가 다를 때 (검토 대기)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-17 09:49:26 +09:00
RyuJongJin a5017965cb WIP 256 폰 가로 MKV 화면: 인코딩 줄은 한 줄 (설명 · 경고 앞), 작업 기록은 작게 - 목록이 한 줄만 보이던 것 (검토 대기)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-17 09:49:20 +09:00
RyuJongJin cab577ec8a WIP 255 세로 폰 환경 설정: 묶음 바로가기를 한 줄로 (옆으로 밀기) (검토 대기)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-17 09:49:19 +09:00
RyuJongJin ed5a1407c1 WIP 다운로드 줄이 자동 추가로 빠질 때 이유 알림 · [보기] (931 관리자 판단) (검토 대기)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-17 09:49:18 +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 1be9f58248 폰 세로 MKV 위 막대 진행: "2/3 · 37%" 짧은 꼴 · 폭을 미리 잡아 [+ 동영상 추가] 를 가리지 않게
a4 의 934 기기 확인 · 관리자 지시 (10/12): 폰 세로에서 진행이 "37%" 만 보여 몇 번째인지 몰랐고, 동영상 추가 [+] 를
반쯤 가렸다. 위 막대는 작업이 시작될 때 재는데 그때는 진행률이 없어 글이 없다가, 나중에 글이 생기며 잰 폭보다 넓어졌다.
- 아이콘만 보이는 좁은 꼴에서 여러 개면 "n/전체 · %" · 폭은 늘 같게 (여러 개 72 · 하나 36).
- 여러 개를 만드는지가 바뀌면 위 막대를 다시 잰다.
- 시험: 폰 세로 411×800, 3개 만드는 중 진행률이 생긴 뒤에도 "n/3 · 37%" · [+] 의 보이는 부분과 겹치지 않음.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 08:15:38 +09:00
RyuJongJin 031e8d3f84 폰 세로 모니터링 버튼 줄 넘침 (257) · 지운 쌍의 "동기화 멈춤" 알림이 남던 것 (258)
a4 의 934 기기 확인 · 관리자 지시 (10/12, 버그 수정):
- 257: 폰 세로 모니터링 > lsync 카드의 버튼 줄이 화면 밖으로 넘쳐 [고치기] · [지우기] 를 누를 수 없었다 → Wrap 으로 줄 바꿈
  (복사 카드 버튼 줄도). 같은 폭 (411) 시험에서 함께 넘치던 곳도 고침: lsync 탭 위 "다시 켤 때 동기화" 줄,
  카드 머리의 방식 칩 (남는 폭만큼 · … · 전체는 마우스), 일정 글.
- 258: 멈춘 lsync 쌍을 지워도 작업 알림 "⚠ 동기화 멈춤 1개" 가 앱을 다시 켤 때까지 남았다 → 쌍 목록이 바뀌면
  지켜보지 않는 쌍 (지움 · 끔 · 멈춤) 의 멈춤 기록을 지운다.
- 시험: 411 폭에서 넘침 없음 · 버튼이 화면 안 (고치기 전에는 실패) · 지우면 멈춤 기록이 바로 사라짐.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 08:15:38 +09:00
RyuJongJin 4ad66dd5a1 통합: fix_mkv (c41954b: P0 MKV 다시 만들기 · 묶음 집계, 229 폴더 덮어쓰기) 를 합침
관리자 지시 (10/12, 마지막 후보). 겹친 곳 없이 자동으로 합쳐짐 (번역 json 3개만 양쪽이 고침 - 정렬 · 모양 그대로 확인).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 07:56:17 +09:00
RyuJongJin c350499b79 248 다듬기: 아래 DNS 알림은 상태가 풀리면 닫고, 같은 안내를 보이는 화면 (브라우저 덮개 · 설정 DNS 칸) 에서는 띄우지 않음
a4 의 933 기기 확인 · 관리자 지시 (10/12, 이번 릴리스 전에):
- DNS 를 고친 뒤 (정한 서버가 다시 답함 · 설정을 바꿈) 에도 옛 문구 "DNS 서버 (192.0.2.1) 에 닿지 않아…" 가 남아
  설정의 DNS 칸을 가렸다 → 알림 내용 위젯 (DnsFailureNotice) 이 상태를 듣다가 풀리면 스스로 닫는다
  (Flutter 의 알림 닫기는 "지금 보이는 알림" 에만 해야 해서, 보이는 동안 그려지는 내용이 닫는다).
- 브라우저 덮개와 함께 떠 [시스템 DNS 로 바꾸기] 가 두 개 보였다 → 덮개 · 환경 설정의 DNS 칸이 열려 있는 동안은
  띄우지 않고, 떠 있다가 그런 화면이 열리면 닫는다 (NetGuard.noticeBlockers). 상태는 설정 · 작업 기록 줄 (249) 에 그대로.
- 버튼이 있는 알림이 저절로 사라지지 않는 것 (248 처음 지시) 은 그대로.
- 시험: 상태 풀림 → 닫힘 · 막는 화면이 있으면 안 뜸 · 뜬 뒤 열리면 닫힘 · 설정 DNS 칸 · 덮개가 막는 수를 올리고 내림.
  실제 Edge 통합 시험 다시 통과.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 07:47:50 +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 bf4b27a5f6 MKV 다시 만들기: 임시 이름에 만들고 다 됐을 때만 바꿔 넣음 · 이미 있으면 묻기 · 묶음 집계 · 끝난 뒤 취소 무시 (P0, 931)
- 데이터 (버그, 기기 확인 · 10.10 에도 있음): FFmpeg -y 가 처음부터 결과 MKV 에 써서, 다시 만들다 취소 · 실패하면 예전 완성본이 사라졌다
  → 이름.mkv.jjpart 에 만들고 다 된 뒤에만 storage.replaceFile, 취소 · 실패면 임시 파일만 지움
- 결과가 이미 있으면 시작 전에 묻기 (덮어쓰기 · 건너뛰기 · 다른 이름) + 환경 설정 '만들 MKV 가 이미 있으면' (처음 값 묻기)
- 240 집계: 이번 묶음의 이전 상태를 비우고, 시작 못 한 것은 취소로 셈
- 끝난 (코드 0) 뒤에 온 취소는 무시 - 성공으로 (Windows · Android)
- 폰 세로 작업 중 [취소] · 진행을 늘 보이는 자리에, 진행 글 'MKV 3개 중 2번째 · 36%'
- 시험: 가짜 FFmpeg 가 출력을 만들게 (queue_test), 모든 파일이 '있는' 가짜 저장소에서는 덮어쓰기 (ui_test)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 07:31:41 +09:00
RyuJongJin f7d73da301 250 고침 2: Android 에서 덮개가 뜨자마자 걷히던 것 - 덮개는 사용자가 옮길 때만 걷음 · 기록의 예외 이름 빼기
a4 의 932 기기 확인 (노트 10+): 작업 기록에 "웹 페이지를 열지 못함 (…): net::ERR_TUNNEL_CONNECTION_FAILED" 는 남는데
덮개가 보이지 않았다 (버그 수정).
- 원인: Android 는 본문 오류 (onReceivedError) 뒤에 엔진의 오류 페이지를 또 읽어 진행률이 0 → 100 으로 한 번 더 돈다.
  "새로 읽기 시작 (진행률이 1 아래로)" 에서 덮개를 걷어, 뜨자마자 걷혔다. Windows (Edge) 는 이 단계가 없어 통과했다.
- 덮개는 사용자가 옮길 때만 걷는다: 주소 · 뒤로 · 앞으로 · 새로고침 · [다시 시도] (WebNav 를 감싸 알림 - _NavWatch).
  덮개가 웹 뷰를 덮고 있어 그 밖의 길로는 옮겨지지 않는다.
- 덮개를 띄우면 작업 기록에 "DNS 안내 덮개를 띄움 (…)" - 기기에서 "띄웠는데 안 보임" 과 "띄우지 않음" 을 가리게.
- DNS 실패 글에 예외 이름 ("TimeoutException:") 을 빼고 이유만 (a4 932).
- 시험: Android 순서 (본문 오류 → 오류 페이지 진행률 0 → 100) 뒤에도 덮개가 남음. 실제 Edge 통합 시험 다시 통과.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 07:25:27 +09:00
RyuJongJin 0b0f2617ae 250 고침: 덮개를 띄우면 웹 뷰가 새로 만들어져 덮개가 바로 걷히던 것 · 엔진의 본문 오류로도 판단
a4 의 931 기기 확인 (노트 10+): DNS 192.0.2.1 에서 브라우저에 덮개가 보이지 않고 ERR_TUNNEL_CONNECTION_FAILED 만 (버그 수정).
- 원인: 덮개가 없을 때는 웹 뷰를, 있을 때는 Stack 안의 웹 뷰를 돌려 트리 모양이 바뀌었다 → 웹 뷰가 새로 만들어져
  페이지를 다시 읽고, 다시 읽기 시작에서 덮개가 걷혔다. Windows 실제 Edge 통합 시험에서 재현
  ("WindowsInAppWebViewController was used after being disposed"). 늘 같은 Stack 모양으로.
- 엔진이 알려 주는 본문 오류 (onReceivedError, Edge · Android) 도 받아 판단한다: 그 이름의 실패 기록이 있거나,
  DNS 서버에 지금 닿지 않는 중에 프록시 터널 실패 (TUNNEL · PROXY) 면 덮개. 오류 뒤에 오는 읽기 끝이 덮개를 지우지 않는다.
  DNS 강제 중의 본문 오류는 작업 기록에 남긴다 (기기에서 원인을 볼 수 있게).
- 시험: 덮개를 띄워도 웹 뷰를 다시 만들지 않음 · 본문 오류 경로 · DNS 와 상관없는 오류는 엔진 화면 그대로.
  실제 Edge: integration_test/dns_block_real_test.dart (덮개 → [다시 시도] → 다시 덮개) 통과.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 06:59:07 +09:00
RyuJongJin 614584c78c 193 dnsForced 알림: 8.8.8.8 이 막힌 회사 · 학교망에서는 [시스템 DNS 로 바꾸기] 를 누르라고 한 줄 더
관리자 지시 (10/12, 이번 판에). 버튼 이름은 각 언어의 실제 버튼 글과 같게.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 06:29:25 +09:00
RyuJongJin 120d20fb86 통합: 묶음5 의 마지막 끝 (433f5b1: 192 · 193 · 194 · 196~198) 을 합침 · 194 · 193 을 Tor · DNS 에도
관리자 지시 (10/12, 이번 판에 넣을 마지막 끝). 풀었던 곳:
- 번역 json: 세 판으로 열쇠마다 합침 (서로 다르게 바뀐 열쇠 0).
- browser_page import: key_hint (194) 와 cef_setup · settings_page · tor_page (tor_dns) 를 모두.
양쪽을 맞춘 것 (작업 세션 판단):
- 194 (단축키 안내는 PC 에서만): Tor 화면의 이전 · 다음 페이지 · 새로고침도 keyHint.
- 193 (그 설정이 없던 예전 판에서 올라오면 바뀐 동작을 한 번 알림): DNS 강제 (처음 값 직접 지정 8.8.8.8 · 8.8.4.4) 가
  없던 판 (10.10 까지) 에서 올라오면 이름을 묻는 서버가 바뀐다 → 'dnsForced' 알림 (되돌리는 곳과 함께). 이미 고른 사람은 알리지 않음.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 06:19:59 +09:00
RyuJongJin 433f5b187a 감지한 언어 알림은 닫을 때까지 · MKV 세부 정보에도 [다른 언어로 다시] (198 보충)
- 관리자 지시: 248 과 같게 버튼이 있는 안내는 닫을 때까지, 알림을 놓쳐도 세부 정보에서 다시 할 수 있게

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 06:01:45 +09:00
RyuJongJin 36bbee615d 원어를 자동 감지했으면 끝난 뒤 감지한 언어 · [다른 언어로 다시] (198)
- 사용자 편의 (기기 확인): 영어 음성을 한국어로 감지해 영어 발음을 한글로 적은 자막 - 막지는 못하므로 알리고 고른 원어로 다시 만들 수 있게

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 06:01:45 +09:00
RyuJongJin 65c049d043 작업 기록의 경로는 기기 구분자로 · AI 예상 시간 '약 1~1분' 고침 (196 · 197)
- 196 (버그): Android 에서도 'jj_mkv\이름' - p.join
- 197 (버그): 짧은 동영상의 '약 1~1분' → '1분 안', 같은 수면 하나

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 06:01:45 +09:00
RyuJongJin 6cb2dde089 그 설정이 없던 예전 판에서 올라오면 탐색기 한 번 누르기 · 화면 방향 · 좌우 밀기 · 백그라운드를 한 번 알림 (193)
- 사용자 편의 (기기 확인, P11 10.03 → 10.10): 한 번 눌렀는데 바로 열려 놀람 - 예전 판에는 키가 없어 알림 조건에 걸리지 않았다. 처음 설치는 알리지 않음

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 06:01:44 +09:00
RyuJongJin 624076f787 예전 판에서 올라오면 바뀐 동작을 한 번 알림: 받는 쪽이 더 새것이면 건너뜀 · robocopy 링크 (193)
- 사용자 편의 (관리자 지시): 기존 사용자에게 동작이 바뀐 것을 '이번 업데이트로 바뀐 기본 설정' 창에

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 06:01:44 +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 69b8ab52ad 해상도 올리기 메모리: 이 기기에서 같은 값이면 같다고 알림 (192)
- 사용자 편의 (기기 확인, P11): 메모리가 작은 기기는 적게 · 보통 · 많이가 모두 가장 작은 타일이라 같은 값이 세 번 보였다

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 06:01:42 +09:00
RyuJongJin 55f5676cf5 통합: 묶음5 의 새 끝 (e81fa6e: 243~246 · 233 · 242 · 241 · 251 · 252 · 시험 흔들림 calm) 을 합침
관리자 지시 (10/12). 겹친 곳 없이 자동으로 합쳐짐 (번역 json · app_actions · home_page · settings_page).
번역 json 은 정렬 · 모양 그대로 확인, 빠진 번역 0, analyze 0, 전체 시험 646 통과.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 05:49:18 +09:00
RyuJongJin 6c61b8b82d 250 웹 브라우저: DNS 서버에 닿지 않아 못 연 페이지는 이유 · [시스템 DNS 로 바꾸기] [다시 시도]
관리자 지시 (10/12, a4 자유 점검): 엔진 기본 오류 "net::ERR_TUNNEL_CONNECTION_FAILED" 만 보여 안내를 닫은 뒤에는
이유를 알 수 없었다. 앱 안 프록시가 기록한 실패 (NetGuard.dnsUnreachableFor: 이 페이지를 읽기 시작한 뒤 그 이름이
DNS 서버에 닿지 않음 · 아직 다시 답하지 않음) 로 판단해, 읽기가 끝나면 웹 뷰 위에 앱이 그린다.
Edge · Chrome 엔진 · Android 모두 같은 길 (엔진마다 다른 오류 콜백에 기대지 않음). 새로 읽기 시작하면 걷힌다.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 05:49:18 +09:00
RyuJongJin f0fad6c0e4 249 보충: MKV 화면 작업 기록 위에도 "DNS 서버 (…) 에 닿지 않음 · [시스템 DNS 로 바꾸기]"
a4 의 918 기기 확인 (노트 10+): 작업 현황 (MKV 화면 아래 작업 기록) 에는 줄이 없었다 - WorkPanel 은 브라우저의
오른쪽 작업 현황이고, MKV 화면 아래는 작업 기록 (_LogPanel) 이었다. 작업 기록을 열거나 숨겨도 그 위에 보인다.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 05:49:18 +09:00
RyuJongJin e81fa6e5ba 다운로드 화면 시험을 언어 · 폭별로 · 설정 맨 위 글 · 영어 탐색기 배치 이름 (246 · 251 · 252)
- 246 시험: ko · en · ja × 폭 800 · 1200 (P11 확인에서 영어 · 일본어는 체크가 안 보였음)
- 251 (기기 확인): 영어 설정 맨 위 글이 잘림 - 두 줄까지 · 'Saved automatically'
- 252 (기기 확인): 영어 'Side ⇆' 뜻이 잘 오지 않음 - 'Side by side ⇆' · 'Side by side ⇆ / Stacked ⇅'

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 02:06:46 +09:00
RyuJongJin 8bfcb7ceda MKV 위 막대: 어림으로 두 줄을 정하던 것을 빼고 실제로 잰 것만 (242 보충)
- 버그: 900 에서 한 줄에 들어가는데 어림이 두 줄로 바꿨다 (scale_menu_test)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 02:06:46 +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 2239e70013 다운로드 화면 버튼 줄: 좁으면 다음 줄로 · '완료 시 자동 동영상 추가' 띄어쓰기 (246)
- 버그 (기기 확인): 옆으로 미는 줄이라 앞쪽 글이 잘려 '전체 선택' 과 겹쳤다 (영어 · 일본어는 아예 안 보임) - Wrap

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 02:06:45 +09:00
RyuJongJin c2c523a260 MKV 위 막대: 오른쪽 묶음을 실제로 재어 모자라면 두 줄 · 넘쳐도 화면 크기 칸을 덮지 않게 (242)
- 버그 (기기 확인, 노트 10+ 가로): 작업 중 폴더 버튼이 화면 크기 '100%' 를 덮었다 - 어림한 폭이 실제보다 작았음
- AppTopBar trailing (CustomMultiChildLayout 으로 실제 폭) · minMiddleWidth 로 두 줄

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 02:06:45 +09:00
RyuJongJin 5a0bc0ec50 이동 카드 저장 창은 '이 이동을' · '받는 쪽이 더 새것이면 건너뛰기' 를 Rsync 탭에도 (233)
- 233 (버그): 이동 카드인데 '이 복사를' 로 묻던 것
- 관리자 지시: 229 설정이 Rsync 화면 · 모니터링에서도 쓰이므로 Rsync 설정 탭에서도 같은 스위치

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 02:06:44 +09:00
RyuJongJin 58bc8fa35b lsync 로 옮길 때 원본을 지우지 않음 안내 · 대상에만 있는 것을 사실대로 (243 · 244)
- 243 (사용자 편의, 기기 확인): 이동 카드를 lsync 로 옮기면 원본이 남아 헷갈렸다 (107: 실시간 동기화는 복사로 맞춤) - 확인 창에 알리고 쌍에 '복사로 맞춤'
- 244 (버그, 기기 확인): 대상에만 있는 파일이 있는데 '같습니다' - 대상에만 있는 수를 세어 사실대로

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 02:06:43 +09:00
RyuJongJin cdfcf360c4 통합: tor_dns (Tor 브라우저 · DNS 강제 · 228 · 247~249) 를 묶음5 (aa7a1af) 에 합침
관리자 지시 (10/12, 다음 릴리스 준비). 겹친 곳은 양쪽 뜻을 살려 풀었다:
- 번역 json (en · ja · zh): 세 판 (공통 · 양쪽) 으로 열쇠마다 합침 (서로 다른 값으로 바뀐 열쇠 0개).
- 225 (모르는 컴포넌트 · 화면 순서 남기기, 양쪽에 따로 들어감) 를 하나로:
  settings.fromJson 은 tor_dns 쪽 (문자열만 남김), 순서 바꾸기는 묶음5 의 AppComponent.reorder (모르는 화면은 그 자리에)
  + tor_dns 의 fullOrder (Tor 는 웹 브라우저 바로 뒤, 켜지 않은 Tor 는 순서에 넣지 않음).
  시험은 둘 다 남기고, 이제 tor 를 아는 판이라 "모르는 화면" 은 future_screen 으로.
- build.gradle.kts: Tor jniLibs 폴더 + 195 의 third_party_libs.txt 거르기에 tor 폴더 포함, 목록에 libtor.so 추가.
  check_apk.ps1 도 tor 폴더를 본다.
- 201 (브라우저 위 막대 두 줄) 을 Tor 화면에도 (minMiddleWidth 380).
- live_sync · sync_tools · explorer_page · 흔들림 시험 (165 등) 은 tor_dns 가 건드리지 않아 묶음5 그대로.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 01:53:32 +09:00
RyuJongJin 6470368c2e 닿지 않는 DNS: 새 버전 확인 실패를 사용자 글로 · 안내는 닫을 때까지 · 상태를 설정 · 작업 현황에 (247 · 248 · 249)
테스터 a4 의 914 기기 확인 · 관리자 지시 (10/12, 버그 수정 · 편의):
- 247: 새 버전 확인 실패가 영어 원문 (HttpException: Proxy failed to establish tunnel (502 ...)) 이던 것.
  DNS 강제 프록시에서 실패했으면 "DNS 서버 (…) 에 닿지 않아 새 버전을 확인하지 못했습니다" (원문은 작업 기록).
- 248: [시스템 DNS 로 바꾸기] 가 붙은 안내가 12초 만에 사라지던 것 → 사용자가 닫거나 누를 때까지.
- 249: 안내가 1분마다 다시 뜨던 것 → 처음 실패 때 한 번. 상태는 서버가 다시 답하거나 DNS 설정을 바꿀 때까지
  환경 설정 > 네트워크 · DNS 와 작업 현황에 "DNS 서버 (…) 에 닿지 않음 (시각부터) · [시스템 DNS 로 바꾸기]".

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 01:27:00 +09:00