protected
def hydrate_status(encoded_message)
- message = ActiveSupport::JSON.decode(encoded_message)
+ message = OJ.load(encoded_message)
return [nil, message] if message['event'] == 'delete'
- status = Status.find_by(id: message['payload'])
- message['payload'] = FeedManager.instance.inline_render(current_user.account, 'api/v1/statuses/show', status)
+ status_json = OJ.load(message['payload'])
+ status = Status.find(status_json['id'])
[status, message]
end
def deliver_to_hashtags(status)
Rails.logger.debug "Delivering status #{status.id} to hashtags"
status.tags.find_each do |tag|
- FeedManager.instance.broadcast("hashtag:#{tag.name}", event: 'update', payload: status.id)
+ FeedManager.instance.broadcast("hashtag:#{tag.name}", event: 'update', payload: FeedManager.instance.inline_render(nil, 'api/v1/statuses/show', status))
end
end
def deliver_to_public(status)
Rails.logger.debug "Delivering status #{status.id} to public timeline"
- FeedManager.instance.broadcast(:public, event: 'update', payload: status.id)
+ FeedManager.instance.broadcast(:public, event: 'update', payload: FeedManager.instance.inline_render(nil, 'api/v1/statuses/show', status))
end
end