mirror of
https://github.com/discourse/discourse.git
synced 2026-08-06 04:48:33 +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. |
||
|---|---|---|
| .. | ||
| application_helper_spec.rb | ||
| email_helper_spec.rb | ||
| embed_helper_spec.rb | ||
| redis_snapshot_helper.rb | ||
| topics_helper_spec.rb | ||
| user_notifications_helper_spec.rb | ||