diff --git a/app/models/status.rb b/app/models/status.rb index db3c130de..74deeeb50 100644 --- a/app/models/status.rb +++ b/app/models/status.rb @@ -255,7 +255,7 @@ class Status < ApplicationRecord before_validation :set_conversation before_validation :set_local - before_save :set_poll_id + after_create :set_poll_id class << self def selectable_visibilities @@ -446,7 +446,7 @@ class Status < ApplicationRecord end def set_poll_id - self.poll_id = owned_poll.id unless owned_poll.nil? + update_column(:poll_id, owned_poll.id) unless owned_poll.nil? end def set_visibility diff --git a/app/services/activitypub/fetch_remote_poll_service.rb b/app/services/activitypub/fetch_remote_poll_service.rb index 6f0ac5624..ea75e8ef9 100644 --- a/app/services/activitypub/fetch_remote_poll_service.rb +++ b/app/services/activitypub/fetch_remote_poll_service.rb @@ -46,6 +46,6 @@ class ActivityPub::FetchRemotePollService < BaseService end def expected_type? - equals_or_includes_any?(@json['type'], 'Question') + equals_or_includes_any?(@json['type'], %w(Question)) end end diff --git a/app/services/resolve_url_service.rb b/app/services/resolve_url_service.rb index ed0c56923..b98759bf6 100644 --- a/app/services/resolve_url_service.rb +++ b/app/services/resolve_url_service.rb @@ -20,7 +20,7 @@ class ResolveURLService < BaseService def process_url if equals_or_includes_any?(type, %w(Application Group Organization Person Service)) FetchRemoteAccountService.new.call(atom_url, body, protocol) - elsif equals_or_includes_any?(type, %w(Note Article Image Video Page)) + elsif equals_or_includes_any?(type, %w(Note Article Image Video Page Question)) FetchRemoteStatusService.new.call(atom_url, body, protocol) end end