접기 가능한 세부 정보에 최대 중첩 깊이 추가

Hi @scavin, 보고해 주시고 재현 단계를 공유해 주셔서 감사합니다.

말씀해 주신 Markdown 엔드포인트 지연 문제를 조사하던 중 MarkdownEndpoint::CookedProcessor#replace_details에서 문제를 발견했습니다. 중첩된 <details> 요소가 반복적으로 변환되어 지수적으로 처리 시간이 증가하는 문제가 있었습니다.

수정 사항을 담은 초안 PR을 업스트림에 열었습니다:

8단계 중첩 수준에서, 이 수정으로 재귀 변환 횟수가 255회에서 8회로 줄었고, 제 로컬 벤치마크에서 약 31배의 성능 향상이 확인되었습니다. 해당 PR은 GitHub CI 초기 검사를 통과했습니다.

또한, 제안해 주신 details_max_nesting_depth 사이트 설정을 내장 Details 플러그인에 구현하고 있습니다. 기존 동작을 유지하기 위해 무제한 중첩을 나타내는 값으로 0을 사용했습니다. 초기 구현은 완료되었으나, 통합 테스트는 아직 진행 중입니다.

성능 수정 사항은 서버 측 Markdown 변환 문제를 해결하며, 설정 가능한 제한은 특히 브라우저 측 성능을 위해 추가적인 안전장치 역할을 할 것입니다.

제안된 설정에 대한 피드백과, 해당 설정을 동일한 PR에 포함할지 별도로 제출할지에 대한 의견을 듣고 싶습니다.

1개의 좋아요