Ethsim2
(Ethan )
2
@scavin さん、報告ありがとうございます。再現手順の詳細も助かりました。
ご指摘の Markdown エンドポイントの遅延について調査を進め、MarkdownEndpoint::CookedProcessor#replace_details に問題があることを特定しました。ネストされた <details> 要素が繰り返し変換されていたため、処理が指数関数的に増加していました。
修正を含むドラフトのアップストリーム PR を作成しました:
ネストが8階層の場合、この修正により再帰的な変換が255回から8回に減少し、ローカルベンチマークでは約31倍の高速化が確認できました。PRはGitHub CIの初期チェックを通過しています。
また、ご提案いただいた details_max_nesting_depth サイト設定についても、組み込みの Details プラグイン内で対応を進めています。0 を無制限のネストとして扱い、既存の動作を維持する設計です。初期実装は完了していますが、統合テストは現在進行中です。
パフォーマンス修正はサーバーサイドの Markdown 変換の問題に対処するものです。設定可能な制限は、特にブラウザサイドのパフォーマンスにおいて、追加の安全策として機能します。
ご提案の設定について、また同じ PR に含めるべきか別々に提出すべきかについて、フィードバックをお待ちしております。
「いいね!」 1