DEV: Add logging for stack level too deep exception in HtmlToMarkdown

DEV: Add logging for stack level too deep exception in HtmlToMarkdown

diff --git a/lib/html_to_markdown.rb b/lib/html_to_markdown.rb
index d2fb51f..fc36861 100644
--- a/lib/html_to_markdown.rb
+++ b/lib/html_to_markdown.rb
@@ -6,21 +6,30 @@ require "securerandom"
 class HtmlToMarkdown
 
   def initialize(html, opts = {})
+    @html = html
     @opts = opts
 
     # we're only interested in <body>
     @doc = Nokogiri::HTML5(html).at("body")
+  end
 
+  def to_markdown
     remove_not_allowed!(@doc)
     remove_hidden!(@doc)
     hoist_line_breaks!(@doc)
     remove_whitespaces!(@doc)
-  end
 
-  def to_markdown
     traverse(@doc)
       .gsub(/\n{2,}/, "\n\n")
       .strip
+  rescue SystemStackError => e
+    Discourse.warn_exception(
+      e,
+      message: "stack level too deep in HtmlToMarkdown",
+      env: { html: @html },
+    )
+
+    raise
   end
 
   private

GitHub sha: 4a9ee25c

Revert “DEV: Add logging for stack level too deep exception in HtmlToMarkdown”