Adicionar profundidade máxima de aninhamento para detalhes recolhíveis

Olá @scavin, obrigado por reportar isso e por fornecer os detalhes de reprodução.

Estive investigando a lentidão no endpoint de Markdown que você descreveu e identifiquei um problema em MarkdownEndpoint::CookedProcessor#replace_details: elementos <details> aninhados estavam sendo convertidos repetidamente, resultando em um processamento exponencial.

Abri um PR de rascunho upstream com uma correção:

Com oito níveis de aninhamento, a correção reduziu as conversões recursivas de 255 para 8, com um aumento de velocidade de aproximadamente 31× no meu benchmark local. O PR passou nas verificações iniciais de CI do GitHub.

Também estou trabalhando na configuração de site details_max_nesting_depth que você propôs, dentro do plugin embutido de Detalhes, usando 0 para aninhamento ilimitado, a fim de preservar o comportamento existente. A implementação inicial está pronta, mas seus testes de integração ainda estão em andamento.

A correção de desempenho aborda o problema de conversão de Markdown no lado do servidor; o limite configurável forneceria uma salvaguarda adicional, especialmente para o desempenho no lado do navegador.

Acolheria com prazer feedback sobre a configuração proposta e se seria preferível incluí-la no mesmo PR ou enviá-la separadamente.

1 curtida