From 62dd0b7f9c76aac7ea9ad144bec7416eb4fec4ee Mon Sep 17 00:00:00 2001 From: ThibG Date: Thu, 21 Mar 2019 14:24:09 +0100 Subject: Fix processing poll Updates (#10333) ActivityPub::ProcessPollService was checking the JSON-LD context although it was passed only the `Question` object embedded in the `Update` activity. --- app/services/activitypub/fetch_remote_poll_service.rb | 1 + app/services/activitypub/process_poll_service.rb | 6 +----- 2 files changed, 2 insertions(+), 5 deletions(-) (limited to 'app') diff --git a/app/services/activitypub/fetch_remote_poll_service.rb b/app/services/activitypub/fetch_remote_poll_service.rb index 44a23712c..854a32d05 100644 --- a/app/services/activitypub/fetch_remote_poll_service.rb +++ b/app/services/activitypub/fetch_remote_poll_service.rb @@ -5,6 +5,7 @@ class ActivityPub::FetchRemotePollService < BaseService def call(poll, on_behalf_of = nil) json = fetch_resource(poll.status.uri, true, on_behalf_of) + return unless supported_context?(json) ActivityPub::ProcessPollService.new.call(poll, json) end end diff --git a/app/services/activitypub/process_poll_service.rb b/app/services/activitypub/process_poll_service.rb index ee248169d..61357abd3 100644 --- a/app/services/activitypub/process_poll_service.rb +++ b/app/services/activitypub/process_poll_service.rb @@ -5,7 +5,7 @@ class ActivityPub::ProcessPollService < BaseService def call(poll, json) @json = json - return unless supported_context? && expected_type? + return unless expected_type? previous_expires_at = poll.expires_at @@ -54,10 +54,6 @@ class ActivityPub::ProcessPollService < BaseService private - def supported_context? - super(@json) - end - def expected_type? equals_or_includes_any?(@json['type'], %w(Question)) end -- cgit From 236191794412724f865b99bf5c0bb7c33a51ae67 Mon Sep 17 00:00:00 2001 From: ThibG Date: Thu, 21 Mar 2019 23:33:18 +0100 Subject: Mark the 410 gone response for suspended accounts as cachable (#10339) This will help a great deal with #9377 when a caching reverse proxy is configured. --- app/controllers/concerns/account_controller_concern.rb | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'app') diff --git a/app/controllers/concerns/account_controller_concern.rb b/app/controllers/concerns/account_controller_concern.rb index 8817fd7de..4f28941ae 100644 --- a/app/controllers/concerns/account_controller_concern.rb +++ b/app/controllers/concerns/account_controller_concern.rb @@ -69,6 +69,10 @@ module AccountControllerConcern end def check_account_suspension - gone if @account.suspended? + if @account.suspended? + skip_session! + expires_in(3.minutes, public: true) + gone + end end end -- cgit From 3411fbef19c71f3a60e9fbb175a0728a6cfc2ed8 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Thu, 21 Mar 2019 23:33:28 +0100 Subject: Improve config serializer for Keybase (#10338) - Regex must no longer be surrounded by `/` - Description must be short and cannot contain HTML tags --- app/lib/proof_provider/keybase/config_serializer.rb | 5 +++-- app/serializers/manifest_serializer.rb | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) (limited to 'app') diff --git a/app/lib/proof_provider/keybase/config_serializer.rb b/app/lib/proof_provider/keybase/config_serializer.rb index 474ea74e2..557bafe84 100644 --- a/app/lib/proof_provider/keybase/config_serializer.rb +++ b/app/lib/proof_provider/keybase/config_serializer.rb @@ -2,6 +2,7 @@ class ProofProvider::Keybase::ConfigSerializer < ActiveModel::Serializer include RoutingHelper + include ActionView::Helpers::TextHelper attributes :version, :domain, :display_name, :username, :brand_color, :logo, :description, :prefill_url, @@ -29,11 +30,11 @@ class ProofProvider::Keybase::ConfigSerializer < ActiveModel::Serializer end def description - Setting.site_short_description.presence || Setting.site_description.presence || I18n.t('about.about_mastodon_html') + strip_tags(Setting.site_short_description.presence || I18n.t('about.about_mastodon_html')) end def username - { min: 1, max: 30, re: Account::USERNAME_RE.inspect } + { min: 1, max: 30, re: '[a-z0-9_]+([a-z0-9_\.-]+[a-z0-9_]+)?' } end def prefill_url diff --git a/app/serializers/manifest_serializer.rb b/app/serializers/manifest_serializer.rb index cc8b9a4d4..28127437d 100644 --- a/app/serializers/manifest_serializer.rb +++ b/app/serializers/manifest_serializer.rb @@ -18,7 +18,7 @@ class ManifestSerializer < ActiveModel::Serializer end def description - strip_tags(object.site_description.presence || I18n.t('about.about_mastodon_html')) + strip_tags(object.site_short_description.presence || I18n.t('about.about_mastodon_html')) end def icons -- cgit