Merge branch 'master' into glitch-soc/merge-upstream

Conflicts:
- `app/javascript/packs/public.js`:
  Upstream modified code that we split between multiple files due
  to glitch-soc's theming system.
  Ported those changes.
This commit is contained in:
Thibaut Girka
2020-04-05 18:32:06 +02:00
70 changed files with 1316 additions and 226 deletions

View File

@@ -5,15 +5,24 @@ class PublishScheduledAnnouncementWorker
include Redisable
def perform(announcement_id)
announcement = Announcement.find(announcement_id)
@announcement = Announcement.find(announcement_id)
announcement.publish! unless announcement.published?
refresh_status_ids!
payload = InlineRenderer.render(announcement, nil, :announcement)
@announcement.publish! unless @announcement.published?
payload = InlineRenderer.render(@announcement, nil, :announcement)
payload = Oj.dump(event: :announcement, payload: payload)
FeedManager.instance.with_active_accounts do |account|
redis.publish("timeline:#{account.id}", payload) if redis.exists("subscribed:timeline:#{account.id}")
end
end
private
def refresh_status_ids!
@announcement.status_ids = Status.from_text(@announcement.text).map(&:id)
@announcement.save
end
end