From 68361a3c0612b2facc81e969c000b16c92d7af25 Mon Sep 17 00:00:00 2001 From: Variet Agent Date: Thu, 19 Mar 2026 08:14:38 +0900 Subject: [PATCH] =?UTF-8?q?docs:=20=EC=84=B8=EC=85=98=20=EC=A2=85=EB=A3=8C?= =?UTF-8?q?=20=E2=80=94=20known-issues=202=EA=B1=B4=20+=20devlog=20005-006?= =?UTF-8?q?=20+=20Vikunja=20#443?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .agent/references/known-issues.md | 12 ++++++++++++ docs/devlog/2026-03-19.md | 2 ++ 2 files changed, 14 insertions(+) diff --git a/.agent/references/known-issues.md b/.agent/references/known-issues.md index b3f019e..869508f 100644 --- a/.agent/references/known-issues.md +++ b/.agent/references/known-issues.md @@ -153,3 +153,15 @@ - **원인**: `discord_bot.py:388` `timeout=60` 하드코딩 - **해결**: `timeout=120`으로 변경 - **주의**: 분류 프롬프트 복잡도에 따라 timeout 조정 필요. 기본값은 넉넉히 + +### [2026-03-19] discord_bot — chat 응답 raw JSON 출력 +- **증상**: "일렉기타 갤러리 요약" → `"mode": "chat", "response": "..."` JSON 구조가 그대로 Discord에 출력 +- **원인**: Gemini가 JSON 문자열 안에 raw newline 출력 → `json.loads(strict=True)` 파싱 실패 → fallback이 raw 텍스트 전체를 response에 넣음 +- **해결**: `json.loads(strict=False)` + chat 응답 항상 Embed 사용 + raw JSON 감지 시 response 텍스트만 추출 +- **주의**: `json.loads`는 항상 `strict=False` 사용. chat 응답은 항상 Embed + +### [2026-03-19] subtitle — discovered_ep=None 시 에피소드 체크 전면 우회 +- **증상**: `existing_sub_eps = {1..10}` 전부 있는데도 Google Drive에서 10개 ZIP 재다운로드 +- **원인**: 블로그 포스트 제목에 에피소드 번호 없음 → `discovered_ep = None` → line 761/777 스킵 조건(`is not None`) 전부 False → 무조건 다운로드. `_extract_archive`도 기존 파일 존재 체크 없이 덮어씀 +- **해결**: (1) `discovered_ep is None` + 모든 영상 에피소드에 자막 있으면 URL 페치 자체 스킵 (2) ZIP 해제 시 `out_path.exists()` 체크 +- **주의**: 에피소드 기반 스킵은 `discovered_ep`와 `sub.episode` 모두 None이면 완전 무력화. 반드시 **보충 체크** 필요 diff --git a/docs/devlog/2026-03-19.md b/docs/devlog/2026-03-19.md index 3932b9e..c6035ce 100644 --- a/docs/devlog/2026-03-19.md +++ b/docs/devlog/2026-03-19.md @@ -4,3 +4,5 @@ | 002 | 07:00 | 자막 중복 다운로드 방지 — NAS 실시간 스캔 + 파일명 비교 스킵 | `f96c28a` | ✅ | | 003 | 07:03 | subtitle_downloader Content-Disposition 2차 존재 체크 | `bb59e7c` | ✅ | | 004 | 07:08 | architecture.md 전면 개편 — 전체 실행 흐름 문서화 | `4a35c43` | ✅ | +| 005 | 07:38 | chat 응답 JSON 파싱 strict=False + Embed 렌더링 | `a893593` | ✅ | +| 006 | 08:00 | 자막 중복 다운로드 근본 수정 — ZIP 존재체크 + discovered_ep=None 스킵 | `190d2ee` | ✅ |