mirror of
https://github.com/discourse/discourse.git
synced 2025-02-25 18:55:32 -06:00
PERF: optimise serialization for topic tracking state (#20860)
This corrects two issues: 1. We were double serializing topic tracking state (as_json calls were not cached) 2. We were inefficiently serializing items by instantiating extra objects
This commit is contained in:
@@ -653,8 +653,10 @@ class ApplicationController < ActionController::Base
|
||||
report = TopicTrackingState.report(current_user)
|
||||
serializer = TopicTrackingStateSerializer.new(report, scope: guardian, root: false)
|
||||
|
||||
store_preloaded("topicTrackingStates", MultiJson.dump(serializer.as_json[:data]))
|
||||
store_preloaded("topicTrackingStateMeta", MultiJson.dump(serializer.as_json[:meta]))
|
||||
hash = serializer.as_json
|
||||
|
||||
store_preloaded("topicTrackingStates", MultiJson.dump(hash[:data]))
|
||||
store_preloaded("topicTrackingStateMeta", MultiJson.dump(hash[:meta]))
|
||||
end
|
||||
|
||||
def custom_html_json
|
||||
|
||||
Reference in New Issue
Block a user