mirror of
https://github.com/discourse/discourse.git
synced 2026-08-06 13:08:40 +08:00
Large preloaded JSON was stored inside an HTML attribute. Because JSON contains quotation marks that could end the attribute early, Rails had to convert those characters into HTML-safe text. Processing every character made the response larger and slower to generate. This change places the preloaded JSON in a non-executable `application/json` script element and reads it from the element's text content. On a site with 11K categories, the escaping was showing up as a hotspot where we spend ~400ms escaping the massive preloaded JSON. |
||
|---|---|---|
| .. | ||
| _head.html.erb | ||
| _noscript_footer.html.erb | ||
| _noscript_header.html.erb | ||
| _plugin_js.html.erb | ||
| application.html.erb | ||
| crawler.html.erb | ||
| email_template.html.erb | ||
| embed.html.erb | ||
| finish_installation.html.erb | ||
| no_ember.html.erb | ||
| publish.html.erb | ||