From 8af51883bf8c1baceee96a1e6289b24feb41de19 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9gis=20Hanol?= Date: Thu, 15 Aug 2013 01:09:50 +0200 Subject: [PATCH] FIX: performance regression on activity streams --- app/models/user_action.rb | 8 ++++++-- app/serializers/user_action_serializer.rb | 15 ++++++++++++--- 2 files changed, 18 insertions(+), 5 deletions(-) diff --git a/app/models/user_action.rb b/app/models/user_action.rb index 14a448f9667..ff229ae59c7 100644 --- a/app/models/user_action.rb +++ b/app/models/user_action.rb @@ -90,8 +90,10 @@ SELECT a.user_id AS target_user_id, au.name AS target_name, au.username AS target_username, coalesce(p.post_number, 1) post_number, p.reply_to_post_number, - pu.email ,pu.username, pu.name, pu.id user_id, + pu.email, pu.username, pu.name, pu.id user_id, + pu.use_uploaded_avatar, pu.uploaded_avatar_template, pu.uploaded_avatar_id, u.email acting_email, u.username acting_username, u.name acting_name, u.id acting_user_id, + u.use_uploaded_avatar acting_use_uploaded_avatar, u.uploaded_avatar_template acting_uploaded_avatar_template, u.uploaded_avatar_id acting_uploaded_avatar_id, coalesce(p.cooked, p2.cooked) cooked, CASE WHEN coalesce(p.deleted_at, p2.deleted_at, t.deleted_at) IS NULL THEN false ELSE true END deleted, p.hidden, @@ -138,8 +140,10 @@ SELECT :user_id AS target_user_id, au.name AS target_name, au.username AS target_username, coalesce(p.post_number, 1) post_number, p.reply_to_post_number, - pu.email ,pu.username, pu.name, pu.id user_id, + pu.email, pu.username, pu.name, pu.id user_id, + pu.use_uploaded_avatar, pu.uploaded_avatar_template, pu.uploaded_avatar_id, pu.email acting_email, pu.username acting_username, pu.name acting_name, pu.id acting_user_id, + pu.use_uploaded_avatar acting_use_uploaded_avatar, pu.uploaded_avatar_template acting_uploaded_avatar_template, pu.uploaded_avatar_id acting_uploaded_avatar_id, p.cooked, CASE WHEN coalesce(p.deleted_at, t.deleted_at) IS NULL THEN false ELSE true END deleted, p.hidden, diff --git a/app/serializers/user_action_serializer.rb b/app/serializers/user_action_serializer.rb index a0dde1ad308..a77d2bb78db 100644 --- a/app/serializers/user_action_serializer.rb +++ b/app/serializers/user_action_serializer.rb @@ -23,17 +23,26 @@ class UserActionSerializer < ApplicationSerializer :hidden, :moderator_action - def excerpt PrettyText.excerpt(object.cooked,300) if object.cooked end def avatar_template - User.avatar_template(object.email) + user = User.new + user[:email] = object.email + user[:use_uploaded_avatar] = object.use_uploaded_avatar + user[:uploaded_avatar_template] = object.uploaded_avatar_template + user[:uploaded_avatar_id] = object.uploaded_avatar_id + user.avatar_template end def acting_avatar_template - User.avatar_template(object.acting_email) + acting_user = User.new + acting_user[:email] = object.acting_email + acting_user[:use_uploaded_avatar] = object.acting_use_uploaded_avatar + acting_user[:uploaded_avatar_template] = object.acting_uploaded_avatar_template + acting_user[:uploaded_avatar_id] = object.acting_uploaded_avatar_id + acting_user.avatar_template end def slug