From 084b9504017e519e33007f7aa8cdff7d571f954a Mon Sep 17 00:00:00 2001 From: multiple creatures Date: Sun, 21 Jul 2019 20:50:30 -0500 Subject: split `hide public profile` & `hide public ap outbox` into separate user options, make original `Account.hidden` prop federation-affecting `invisible mode` --- app/controllers/accounts_controller.rb | 2 +- app/controllers/activitypub/outboxes_controller.rb | 2 +- app/controllers/settings/preferences_controller.rb | 1 + 3 files changed, 3 insertions(+), 2 deletions(-) (limited to 'app/controllers') diff --git a/app/controllers/accounts_controller.rb b/app/controllers/accounts_controller.rb index 4736b3596..22993934a 100644 --- a/app/controllers/accounts_controller.rb +++ b/app/controllers/accounts_controller.rb @@ -17,7 +17,7 @@ class AccountsController < ApplicationController @pinned_statuses = [] @endorsed_accounts = @account.endorsed_accounts.to_a.sample(4) - if current_account && @account.blocking?(current_account) + if @account.hidden || (@account&.user && @account.user.hides_public_profile?) || (current_account && @account.blocking?(current_account)) @statuses = [] return end diff --git a/app/controllers/activitypub/outboxes_controller.rb b/app/controllers/activitypub/outboxes_controller.rb index 3e617b10e..00d050dc3 100644 --- a/app/controllers/activitypub/outboxes_controller.rb +++ b/app/controllers/activitypub/outboxes_controller.rb @@ -55,7 +55,7 @@ class ActivityPub::OutboxesController < Api::BaseController def set_statuses return unless page_requested? - if @account&.user && @account.user.hides_public_outbox? + if @account.hidden || @account&.user && @account.user.hides_public_outbox? @statuses = Status.none else @statuses = @account.statuses.permitted_for(@account, signed_request_account) diff --git a/app/controllers/settings/preferences_controller.rb b/app/controllers/settings/preferences_controller.rb index 031075fcd..b9f3a803d 100644 --- a/app/controllers/settings/preferences_controller.rb +++ b/app/controllers/settings/preferences_controller.rb @@ -50,6 +50,7 @@ class Settings::PreferencesController < Settings::BaseController :setting_user_is_kobold, :setting_hide_mascot, :setting_hide_interactions, + :setting_hide_public_profile, :setting_hide_public_outbox, :setting_max_public_history, -- cgit