Change: #70 DTL投稿で、公開範囲・検索許可を別々に設定 (#177)

* Bump version to 8.0

* Add: 他のサーバーに公開する情報に、制限設定などを追加

* Fix: `quote_of_id`のインデックス

* Fix: #172 他のサーバーからの相乗り絵文字削除が反映されない

* Test: #166 リモートから自分の絵文字を受け取った時、ライセンスが上書きされないことを確認するテスト

* Change: #70 DTL投稿で、公開範囲・検索許可を別々に設定
This commit is contained in:
KMY(雪あすか) 2023-10-26 22:06:51 +09:00 committed by GitHub
parent e32f00b275
commit ae865975d4
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
8 changed files with 93 additions and 19 deletions

View file

@ -143,8 +143,12 @@ module HasUserSettings
settings['link_preview']
end
def setting_dtl_force_with_tag
settings['dtl_force_with_tag']&.to_sym || :none
def setting_dtl_force_visibility
settings['dtl_force_visibility']&.to_sym || :unchange
end
def setting_dtl_force_searchability
settings['dtl_force_searchability']&.to_sym || :unchange
end
def setting_dtl_force_subscribable

View file

@ -38,7 +38,8 @@ class UserSettings
setting :emoji_reaction_streaming_notify_impl2, default: false
setting :emoji_reaction_policy, default: :allow, in: %w(allow outside_only followers_only following_only mutuals_only block)
setting :unsafe_limited_distribution, default: false
setting :dtl_force_with_tag, default: :none, in: %w(full searchability none)
setting :dtl_force_visibility, default: :unchange, in: %w(unchange public public_unlisted unlisted)
setting :dtl_force_searchability, default: :unchange, in: %w(unchange public public_unlisted)
setting :dtl_force_subscribable, default: false
setting :lock_follow_from_bot, default: false
setting :allow_quote, default: true

View file

@ -111,8 +111,8 @@ class PostStatusService < BaseService
return if raw_tags.exclude?(DTL_TAG)
return unless %i(public public_unlisted unlisted).include?(@visibility)
@visibility = :unlisted if @account.user&.setting_dtl_force_with_tag == :full
@searchability = :public if %i(full searchability).include?(@account.user&.setting_dtl_force_with_tag)
@visibility = @account.user&.setting_dtl_force_visibility if %i(public public_unlisted unlisted).include?(@account.user&.setting_dtl_force_visibility)
@searchability = @account.user&.setting_dtl_force_searchability if %i(public public_unlisted).include?(@account.user&.setting_dtl_force_searchability)
@dtl = true
end

View file

@ -38,7 +38,10 @@
= ff.input :'web.enable_dtl_menu', wrapper: :with_label, kmyblue: true, label: I18n.t('simple_form.labels.defaults.setting_dtl_menu')
.fields-group
= ff.input :dtl_force_with_tag, kmyblue: true, collection: %w(full searchability none), label_method: ->(item) { safe_join([t("simple_form.labels.dtl_force_with_tag.#{item}")]) }, as: :radio_buttons, collection_wrapper_tag: 'ul', item_wrapper_tag: 'li', wrapper: :with_floating_label, label: I18n.t('simple_form.labels.defaults.setting_dtl_force_with_tag'), hint: I18n.t('simple_form.hints.defaults.setting_dtl_force_with_tag', tag: @dtl_tag)
= ff.input :dtl_force_visibility, kmyblue: true, collection: %w(unchange public public_unlisted unlisted), label_method: ->(item) { safe_join([t("simple_form.labels.dtl_force_visibility.#{item}")]) }, as: :radio_buttons, collection_wrapper_tag: 'ul', item_wrapper_tag: 'li', wrapper: :with_floating_label, label: I18n.t('simple_form.labels.defaults.setting_dtl_force_visibility'), hint: I18n.t('simple_form.hints.defaults.setting_dtl_force_visibility', tag: @dtl_tag)
.fields-group
= ff.input :dtl_force_searchability, kmyblue: true, collection: %w(unchange public public_unlisted), label_method: ->(item) { safe_join([t("simple_form.labels.dtl_force_searchability.#{item}")]) }, as: :radio_buttons, collection_wrapper_tag: 'ul', item_wrapper_tag: 'li', wrapper: :with_floating_label, label: I18n.t('simple_form.labels.defaults.setting_dtl_force_searchability'), hint: I18n.t('simple_form.hints.defaults.setting_dtl_force_searchability', tag: @dtl_tag)
.fields-group
= ff.input :dtl_force_subscribable, wrapper: :with_label, kmyblue: true, label: I18n.t('simple_form.labels.defaults.setting_dtl_force_subscribable'), hint: I18n.t('simple_form.hints.defaults.setting_dtl_force_subscribable')