text: [params[:title], params[:text], params[:url]].compact.join(' '),
}
+ permit_visibilities = %w(public unlisted private direct)
+ default_privacy = current_account&.user&.setting_default_privacy
+ permit_visibilities.shift(permit_visibilities.index(default_privacy) + 1) if default_privacy.present?
+ state_params[:visibility] = params[:visibility] if permit_visibilities.include? params[:visibility]
+
if user_signed_in?
state_params[:settings] = state_params[:settings].merge(Web::Setting.find_by(user: current_user)&.data || {})
state_params[:push_subscription] = current_account.user.web_push_subscription(current_session)
class InitialStatePresenter < ActiveModelSerializers::Model
attributes :settings, :push_subscription, :token,
- :current_account, :admin, :text
+ :current_account, :admin, :text, :visibility
end
if object.current_account
store[:me] = object.current_account.id.to_s
- store[:default_privacy] = object.current_account.user.setting_default_privacy
+ store[:default_privacy] = object.visibility || object.current_account.user.setting_default_privacy
store[:default_sensitive] = object.current_account.user.setting_default_sensitive
end