From e53cc673e717e913e2538a560d02d31c7c02496a Mon Sep 17 00:00:00 2001 From: ThibG Date: Fri, 26 Oct 2018 22:48:35 +0200 Subject: [PATCH 1/4] Ignore invalid hashtags on remote statuses instead of rejecting them (#9118) Fixes #9115 --- app/lib/activitypub/activity/create.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/lib/activitypub/activity/create.rb b/app/lib/activitypub/activity/create.rb index ea9017b82..f1b38b18a 100644 --- a/app/lib/activitypub/activity/create.rb +++ b/app/lib/activitypub/activity/create.rb @@ -129,7 +129,7 @@ class ActivityPub::Activity::Create < ActivityPub::Activity return if tag['name'].blank? hashtag = tag['name'].gsub(/\A#/, '').mb_chars.downcase - hashtag = Tag.where(name: hashtag).first_or_create(name: hashtag) + hashtag = Tag.where(name: hashtag).first_or_create!(name: hashtag) return if @tags.include?(hashtag) From 215e6493911e92e385a51b7a2a88d472b1592d32 Mon Sep 17 00:00:00 2001 From: ThibG Date: Fri, 26 Oct 2018 22:49:17 +0200 Subject: [PATCH 2/4] Fix styling in /auth/edit (#9117) --- app/controllers/auth/registrations_controller.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/controllers/auth/registrations_controller.rb b/app/controllers/auth/registrations_controller.rb index a19f4e62e..088832be3 100644 --- a/app/controllers/auth/registrations_controller.rb +++ b/app/controllers/auth/registrations_controller.rb @@ -8,7 +8,7 @@ class Auth::RegistrationsController < Devise::RegistrationsController before_action :configure_sign_up_params, only: [:create] before_action :set_sessions, only: [:edit, :update] before_action :set_instance_presenter, only: [:new, :create, :update] - before_action :set_body_classes, only: [:new, :create] + before_action :set_body_classes, only: [:new, :create, :edit, :update] def destroy not_found @@ -81,7 +81,7 @@ class Auth::RegistrationsController < Devise::RegistrationsController end def set_body_classes - @body_classes = 'lighter' + @body_classes = %w(edit update).include?(action_name) ? 'admin' : 'lighter' end def set_invite From 6e1a4f85ad96b25087d98fed1e70044c0f45a132 Mon Sep 17 00:00:00 2001 From: Masoud Abkenar Date: Fri, 26 Oct 2018 22:49:39 +0200 Subject: [PATCH 3/4] RTL: fix column-back-button__icon margins/content (#9112) * RTL: fix column-back-button__icon margins/content * Update rtl.scss * Update rtl.scss --- app/javascript/styles/mastodon/rtl.scss | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/app/javascript/styles/mastodon/rtl.scss b/app/javascript/styles/mastodon/rtl.scss index ccb53a090..176fb5ce0 100644 --- a/app/javascript/styles/mastodon/rtl.scss +++ b/app/javascript/styles/mastodon/rtl.scss @@ -352,4 +352,22 @@ body.rtl { margin-right: 15px; text-align: right; } + + .fa-chevron-left::before { + content: "\F054"; + } + + .fa-chevron-right::before { + content: "\F053"; + } + + .column-back-button__icon { + margin-right: 0; + margin-left: 5px; + } + + .column-header__setting-arrows .column-header__setting-btn:last-child { + padding-left: 0; + padding-right: 10px; + } } From eef8d9a5f7d07bf785c6a7184e01374e211c6d7f Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Fri, 26 Oct 2018 23:08:34 +0200 Subject: [PATCH 4/4] Add locality check to ActivityPub::FetchRemoteAccountService (#9109) * Add locality check to ActivityPub::FetchRemoteAccountService Fix #8643 Because there are a few places where it is called, it is difficult to confirm if they all previously checked it for locality. It's better to make sure within the service. * Remove faux-remote duplicates of local accounts --- .../activitypub/fetch_remote_account_service.rb | 3 ++- ...4033_remove_faux_remote_account_duplicates.rb | 16 ++++++++++++++++ db/schema.rb | 2 +- 3 files changed, 19 insertions(+), 2 deletions(-) create mode 100644 db/migrate/20181026034033_remove_faux_remote_account_duplicates.rb diff --git a/app/services/activitypub/fetch_remote_account_service.rb b/app/services/activitypub/fetch_remote_account_service.rb index 1ec9ee5dd..8430d12d5 100644 --- a/app/services/activitypub/fetch_remote_account_service.rb +++ b/app/services/activitypub/fetch_remote_account_service.rb @@ -5,9 +5,10 @@ class ActivityPub::FetchRemoteAccountService < BaseService SUPPORTED_TYPES = %w(Application Group Organization Person Service).freeze - # Should be called when uri has already been checked for locality # Does a WebFinger roundtrip on each call def call(uri, id: true, prefetched_body: nil, break_on_redirect: false) + return ActivityPub::TagManager.instance.uri_to_resource(uri, Account) if ActivityPub::TagManager.instance.local_uri?(uri) + @json = if prefetched_body.nil? fetch_resource(uri, id) else diff --git a/db/migrate/20181026034033_remove_faux_remote_account_duplicates.rb b/db/migrate/20181026034033_remove_faux_remote_account_duplicates.rb new file mode 100644 index 000000000..bd4f4c2a3 --- /dev/null +++ b/db/migrate/20181026034033_remove_faux_remote_account_duplicates.rb @@ -0,0 +1,16 @@ +class RemoveFauxRemoteAccountDuplicates < ActiveRecord::Migration[5.2] + disable_ddl_transaction! + + def up + local_domain = Rails.configuration.x.local_domain + + # Just a safety measure to ensure that under no circumstance + # we will query `domain IS NULL` because that would return + # actually local accounts, the originals + return if local_domain.nil? + + Account.where(domain: local_domain).in_batches.destroy_all + end + + def down; end +end diff --git a/db/schema.rb b/db/schema.rb index 3c4f41648..731a84521 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -10,7 +10,7 @@ # # It's strongly recommended that you check this file into your version control system. -ActiveRecord::Schema.define(version: 2018_10_24_224956) do +ActiveRecord::Schema.define(version: 2018_10_26_034033) do # These are extensions that must be enabled in order to support this database enable_extension "plpgsql"