fix(extension): Retry auto-approve 흐름 복구 + Observer 형제 탐색 + thinking 필터링 (v0.5.79)
- WS response 파일에 _from_ws 마커 추가하여 processResponseFile 삭제 방지 - extractContextFromNearby에 sibling 탐색 추가 (AG Native DOM 구조 대응) - thinking 블록 (max-h-[200px]) 필터링으로 내부 사고 릴레이 차단 - DOM 탐색 depth 5→10 확대 + pre.font-mono 우선 탐색 - 사용자 메시지 셀렉터 (.select-text.rounded-lg) 추가
This commit is contained in:
5
docs/devlog/2026-04-18.md
Normal file
5
docs/devlog/2026-04-18.md
Normal file
@@ -0,0 +1,5 @@
|
||||
# Devlog — 2026-04-18
|
||||
|
||||
| # | 시간 | 작업 설명 | 커밋 | 상태 |
|
||||
|---|------|----------|------|------|
|
||||
| 001 | 09:20~23:50 | Retry auto-approve 흐름 복구 — WS response 파일 보존 (`_from_ws`), Observer 형제 탐색(sibling), thinking 블록 필터링 | `pending` | ✅ |
|
||||
31
docs/devlog/entries/20260418-001.md
Normal file
31
docs/devlog/entries/20260418-001.md
Normal file
@@ -0,0 +1,31 @@
|
||||
# Retry Auto-Approve 흐름 복구 및 Observer 고도화
|
||||
|
||||
- **시간**: 2026-04-18 09:20~23:50
|
||||
- **Commit**: `pending`
|
||||
- **Vikunja**: 신규 생성 예정
|
||||
|
||||
## 결정 사항
|
||||
|
||||
### 1. `_from_ws` 마커 기반 response 파일 보존
|
||||
- **문제**: WS 응답 핸들러가 response 파일 작성 → processResponseFile이 300ms 후 삭제 → Observer pollResponseGroup 실패
|
||||
- **선택**: response 파일에 `_from_ws: true` 마커 추가, processResponseFile에서 스킵
|
||||
- **이유**: pending 파일 생성을 추가하는 것보다 단순하고, WS 핸들러에서 이미 tryApprovalStrategies를 실행하므로 중복 실행 방지도 함께 해결
|
||||
|
||||
### 2. 형제(sibling) DOM 탐색
|
||||
- **문제**: "Always run" 버튼의 조상(parentElement) 탐색으로는 `pre.font-mono` 도달 불가 (footer.parentElement가 null)
|
||||
- **선택**: 각 depth에서 `node.parentElement.children`을 순회하여 형제 요소의 code 블록 탐색
|
||||
- **이유**: AG Native DOM 구조에서 명령어는 footer의 형제 요소에 있으므로 조상 탐색만으로는 구조적으로 불가
|
||||
|
||||
### 3. Thinking 블록 필터링
|
||||
- **문제**: AI의 내부 사고 과정이 Discord에 릴레이됨
|
||||
- **선택**: `max-h-[200px]` 조상 확인으로 thinking 블록 식별
|
||||
- **이유**: thinking 블록은 접힌 상태에서 max-height가 200px로 제한되는 특징이 있음
|
||||
|
||||
## 시행착오
|
||||
1. depth 5→10 증가만으로 해결 시도 → 실패 (조상이 아닌 형제에 명령어가 있었음)
|
||||
2. Observer HTML 변경 후 Reload Window만 실행 → 실패 (AG 2번 재시작 필요)
|
||||
3. response 파일이 삭제되는 원인을 clickTrigger 타이밍으로 오인 → 실제는 processResponseFile의 isDomObserver 판별 실패
|
||||
|
||||
## 미완료
|
||||
- [ ] 명령어 컨텍스트 추출 타이밍 이슈 (DOM 렌더링 전 scan 시 추출 실패)
|
||||
- [ ] Observer pollResponseGroup이 시작되지 않는 케이스 (POST /pending 이전에 trigger-click 소비)
|
||||
Reference in New Issue
Block a user