From: Thibaut Girka Date: Sun, 31 May 2020 14:11:02 +0000 (+0200) Subject: Hide local-only pinned toots from public profiles X-Git-Url: https://git.xn--scling-oua.cat.family/?a=commitdiff_plain;h=18f2c390748a112ac72bf9203f1513d295b13b3d;p=mastodon.git Hide local-only pinned toots from public profiles Fixes #1336 This also fixes federating pinned toots when some of them are local-only. Public profiles will not show public toots, whether you are logged in or not (this is consistent with local-only toots that are not pinned). --- diff --git a/app/controllers/accounts_controller.rb b/app/controllers/accounts_controller.rb index e3d8c1061..76703ed05 100644 --- a/app/controllers/accounts_controller.rb +++ b/app/controllers/accounts_controller.rb @@ -27,7 +27,7 @@ class AccountsController < ApplicationController return end - @pinned_statuses = cache_collection(@account.pinned_statuses, Status) if show_pinned_statuses? + @pinned_statuses = cache_collection(@account.pinned_statuses.not_local_only, Status) if show_pinned_statuses? @statuses = filtered_status_page @statuses = cache_collection(@statuses, Status) @rss_url = rss_url diff --git a/app/controllers/activitypub/collections_controller.rb b/app/controllers/activitypub/collections_controller.rb index c1e7aa550..9ca216e4f 100644 --- a/app/controllers/activitypub/collections_controller.rb +++ b/app/controllers/activitypub/collections_controller.rb @@ -24,7 +24,7 @@ class ActivityPub::CollectionsController < ActivityPub::BaseController def set_size case params[:id] when 'featured' - @size = @account.pinned_statuses.count + @size = @account.pinned_statuses.not_local_only.count else not_found end @@ -39,7 +39,7 @@ class ActivityPub::CollectionsController < ActivityPub::BaseController if authorized_fetch_mode? && !signed_request_account.nil? && (@account.blocking?(signed_request_account) || (!signed_request_account.domain.nil? && @account.domain_blocking?(signed_request_account.domain))) Status.none else - @account.pinned_statuses + @account.pinned_statuses.not_local_only end end end