fix(extension): bypass 10-item limit of GetAllCascadeTrajectories by utilizing GetDiagnostics

This commit is contained in:
Variet Worker
2026-04-10 16:52:12 +09:00
parent e745744636
commit 300338d5d3
5 changed files with 74 additions and 4 deletions

View File

@@ -224,3 +224,8 @@
- **원인**: ot.py의 chat_snapshot_scanner에서 파일을 순회 파싱할 때 내부의 .unlink() 과정에서 발생하는 예외나 discord.Embed 생성 예외 등을 루프 안에서 잡아주지 못함. 첫 에러 파일(poison pill)을 만나는 순간 루프 전체가 폭파되어 뒤쪽의 정상 파일들도 영원히 처리되지 않고 다음 폴 스케줄에서 다시 첫 파일에 막힘.
- **해결**: 루프 내부에 except Exception을 추가하여 전역 예외를 잡아 방어. 실패한 파일은 glob에서 반복 시도되지 않게 .json.failed로 우회(rename)시켜 큐를 비워줌.
- **주의**: 폴링/스캐너 or 루프 내부에서는 개별 아이템 파싱 단계에서 발생 가능한 모든 예외 상태에 대한 Defensive Catch 및 Continue(우회) 로직이 필수임.
### [2026-04-10] [Extension] GetAllCascadeTrajectories 10-Item Hard Limit Bypass (Signal Drop)
- **<2A><><EFBFBD><EFBFBD>**: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ۼ<EFBFBD><DBBC>ߴ<EFBFBD> { limit: 30 } <20>Ķ<EFBFBD><C4B6><EFBFBD><EFBFBD>Ͱ<EFBFBD> LS <20><EFBFBD><EFBFBD><E5BFA1> <20><><EFBFBD>õǾ<C3B5> <20>ֽ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 10<31><30> <20><><EFBFBD>ѿ<EFBFBD> <20>ɷ<EFBFBD> <20>߷<EFBFBD><DFB7><EFBFBD><EFBFBD><EFBFBD>. (Discord<72><64> <20>޽<EFBFBD><DEBD><EFBFBD> <20><> <20><> <20><><EFBFBD>ڵ<EFBFBD> <20><> <20>Ѿ<EFBFBD><D1BE><EFBFBD>).
- **<2A><><EFBFBD><EFBFBD>**: GetAllCascadeTrajectories<65><73> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> pagination <20>ɼ<EFBFBD><C9BC><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϰų<CFB0> <20><><EFBFBD><EFBFBD> 10 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ɸ<EFBFBD>.
- **<2A>ذ<EFBFBD>**: step-probe.ts<74><73><EFBFBD><EFBFBD> <20>⺻ GetAllCascadeTrajectories<65><73> <20><><EFBFBD>Ҿ<EFBFBD> <20><><EFBFBD><EFBFBD> Ʈ<><C6AE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E4B8AE> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD> GetDiagnostics API<50><49> <20><><EFBFBD><EFBFBD> ȣ<><C8A3><EFBFBD>ϰ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Ͽ<EFBFBD> <20>ֽ<EFBFBD> Session ID<49><44> <20><>ġ<EFBFBD><C4A1> <20>ʰ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϰ<EFBFBD> <20><>.
- **<2A><><EFBFBD><EFBFBD>**: LS Backend<6E><64><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> RPC<50><43> <20>Ѱ<EFBFBD><D1B0><EFBFBD> Argument <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ȸ<><C8B8><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD>, <20><><EFBFBD><EFBFBD> GetDiagnostics <20><> <20><EFBFBD><E9B5B5> <20><><EFBFBD><EFBFBD><EFBFBD>͸<EFBFBD> Ȱ<><C8B0><EFBFBD><EFBFBD> <20><>.