From 7bf037aa86f908a7173fe60a38e979a20bf4542b Mon Sep 17 00:00:00 2001 From: happybell80 Date: Tue, 9 Sep 2025 02:04:13 +0900 Subject: [PATCH] docs: Add 2025-01-09 skill-publish troubleshooting updates - Slack empty ephemeral response fix - Response_url 30-second expiration solution - Company_name field addition with mapping - Progress messages throughout publishing flow - Squarespace edit URL correction - Fixed news URL instead of news_id - Gemini summary length retry logic --- .../250908_skill_publish_false_success.md | 62 +++++++++++++++++-- 1 file changed, 58 insertions(+), 4 deletions(-) diff --git a/troubleshooting/250908_skill_publish_false_success.md b/troubleshooting/250908_skill_publish_false_success.md index 3077f1d..3aa8ebe 100644 --- a/troubleshooting/250908_skill_publish_false_success.md +++ b/troubleshooting/250908_skill_publish_false_success.md @@ -47,9 +47,63 @@ skill-publish가 큐에만 추가하고 200 OK 반환하는데, rb8001이 이를 2. rb8001이 큐 추가를 게시 성공으로 오해 3. 실패 시 사용자 알림 없음 4. /status/{news_id} API 있지만 rb8001이 사용 안 함 +5. skill-publish Line 136-138: failed를 다시 queued로 바꿈 (재시도 로직) ## 5. 해결 방향 -1. 메시지 변경: "게시 완료" → "게시 요청됨 (처리중)" -2. rb8001이 /status/{news_id} 사용해 상태 체크 -3. 30초마다 최대 3회 체크 (published/failed 될 때까지) -4. response_url로 Slack 메시지 업데이트, 버튼 유지 \ No newline at end of file +1. 메시지 변경: "게시 완료" → "게시 요청됨 (처리중)" ✅ +2. rb8001이 /status/{news_id} 사용해 상태 체크 ✅ +3. 30초마다 최대 3회 체크 (published/failed 될 때까지) ✅ +4. response_url로 Slack 메시지 업데이트, 버튼 유지 ✅ +5. rb8001 Line 378: error 필드 체크 추가 ✅ + +## 6. 2025-01-09 추가 수정사항 + +### 6.1 Slack 빈 ephemeral 응답 에러 +- **문제**: rb8001/app/router/slack_handler.py Line 363에서 `{"response_type": "ephemeral", "text": ""}` 반환 +- **증상**: "이 앱이 오류를 반환했습니다" 메시지 +- **해결**: 빈 JSON `{}` 반환으로 변경 +- **원인**: 0914eagle이 Sep 7에 추가한 코드 + +### 6.2 response_url 30초 만료 문제 +- **문제**: Slack response_url이 30초 후 404 에러 +- **해결**: + - 초기 메시지: "⏳ '제목' 게시 작업 진행중... (약 3분 소요)" + - 체크 간격: 10초 → 60초 (1분) + - 체크 횟수: 18회 → 3회 + - 진행 메시지 제거, 성공/실패만 알림 + +### 6.3 company_name 필드 누락 +- **문제**: skill-publish text_editor.py에서 company_name KeyError +- **해결**: NewsFormatter 모듈 추가 + - 한글→영문 회사명 매핑 딕셔너리 (10개 회사) + - 요약문에서 회사명 추출 로직 + - 조사 제거 처리 ('가', '는', '이' 등) + +### 6.4 진행 상황 메시지 추가 +- **추가 위치**: skill-publish 모든 서비스 모듈 + - squarespace_editor.py: 네비게이션 단계 + - squarespace_duplicator.py: 섹션 복제 + - image_uploader.py: 이미지 업로드 + - text_editor.py: 텍스트 편집 + - content_saver.py: 저장 작업 + +### 6.5 Squarespace 편집 URL 수정 +- **문제**: `https://www.company-x.partners/config` 접속 시 30초 타임아웃 +- **원인**: 잘못된 URL 사용 +- **해결**: + - 올바른 URL: `https://dodecahedron-hexahedron-pytp.squarespace.com/config/` + - config.py에 SQUARESPACE_EDIT_URL 추가 + - networkidle → domcontentloaded 변경 + +### 6.6 게시 완료 URL 수정 +- **변경**: news_id 기반 URL → 고정 URL +- **이전**: `https://www.company-x.partners/news/{news_id}` +- **이후**: `https://www.company-x.partners/news` (고정) + +### 6.7 Gemini 요약 길이 초과 문제 +- **문제**: 280-300자 제한 무시, 407자 요약 생성 +- **해결**: + - 3회 재시도 로직 추가 + - 2차 시도: "300자 초과시 패널티 1,000,000점" 경고 + - 3차 시도: "최종 경고" 메시지 + - 강제 자르기 제거 (내용 보존) \ No newline at end of file