diff --git a/app/lib/activitypub/activity/like.rb b/app/lib/activitypub/activity/like.rb index e403217ea4..9249e522d9 100644 --- a/app/lib/activitypub/activity/like.rb +++ b/app/lib/activitypub/activity/like.rb @@ -156,7 +156,7 @@ class ActivityPub::Activity::Like < ActivityPub::Activity emoji_group = @original_status.emoji_reactions_grouped_by_name(nil, force: true) .find { |reaction_group| reaction_group['name'] == emoji_reaction.name && (!reaction_group.key?(:domain) || reaction_group['domain'] == emoji_reaction.custom_emoji&.domain) } emoji_group['status_id'] = @original_status.id.to_s - DeliveryEmojiReactionWorker.perform_async(render_emoji_reaction(emoji_group), @original_status.id, emoji_reaction.account_id) if @original_status.local? || Setting.streaming_other_servers_emoji_reaction + DeliveryEmojiReactionWorker.perform_async(render_emoji_reaction(emoji_group), @original_status.id, emoji_reaction.account_id) if Setting.streaming_emoji_reaction && (@original_status.local? || Setting.streaming_other_servers_emoji_reaction) end def render_emoji_reaction(emoji_group) diff --git a/app/lib/activitypub/activity/undo.rb b/app/lib/activitypub/activity/undo.rb index 3ba655c91d..b7c716079d 100644 --- a/app/lib/activitypub/activity/undo.rb +++ b/app/lib/activitypub/activity/undo.rb @@ -163,7 +163,7 @@ class ActivityPub::Activity::Undo < ActivityPub::Activity emoji_group = { 'name' => emoji_reaction.name, 'count' => 0, 'account_ids' => [], 'status_id' => @original_status.id.to_s } emoji_group['domain'] = emoji_reaction.custom_emoji.domain if emoji_reaction.custom_emoji end - DeliveryEmojiReactionWorker.perform_async(render_emoji_reaction(emoji_group), @original_status.id, emoji_reaction.account_id) if @original_status.local? || Setting.streaming_other_servers_emoji_reaction + DeliveryEmojiReactionWorker.perform_async(render_emoji_reaction(emoji_group), @original_status.id, emoji_reaction.account_id) if Setting.streaming_emoji_reaction && (@original_status.local? || Setting.streaming_other_servers_emoji_reaction) end def render_emoji_reaction(emoji_group) diff --git a/app/models/form/admin_settings.rb b/app/models/form/admin_settings.rb index 55730a9361..f4db9a0325 100644 --- a/app/models/form/admin_settings.rb +++ b/app/models/form/admin_settings.rb @@ -47,6 +47,7 @@ class Form::AdminSettings authorized_fetch receive_other_servers_emoji_reaction streaming_other_servers_emoji_reaction + streaming_emoji_reaction enable_emoji_reaction check_lts_version_only enable_public_unlisted_visibility @@ -78,6 +79,7 @@ class Form::AdminSettings authorized_fetch receive_other_servers_emoji_reaction streaming_other_servers_emoji_reaction + streaming_emoji_reaction enable_emoji_reaction check_lts_version_only enable_public_unlisted_visibility diff --git a/app/services/emoji_react_service.rb b/app/services/emoji_react_service.rb index 8fe412fba8..ba56cff623 100644 --- a/app/services/emoji_react_service.rb +++ b/app/services/emoji_react_service.rb @@ -37,7 +37,7 @@ class EmojiReactService < BaseService create_notification notify_to_followers increment_statistics - write_stream! + write_stream! if Setting.streaming_emoji_reaction @emoji_reaction end diff --git a/app/services/un_emoji_react_service.rb b/app/services/un_emoji_react_service.rb index 9dadfad68b..0d283644a3 100644 --- a/app/services/un_emoji_react_service.rb +++ b/app/services/un_emoji_react_service.rb @@ -15,7 +15,7 @@ class UnEmojiReactService < BaseService create_notification(emoji_reaction) if !@status.account.local? && @status.account.activitypub? notify_to_followers(emoji_reaction) - write_stream(emoji_reaction) + write_stream(emoji_reaction) if Setting.streaming_emoji_reaction relay_for_undo_emoji_reaction!(emoji_reaction) relay_friend_for_undo_emoji_reaction!(emoji_reaction) diff --git a/app/views/admin/settings/discovery/show.html.haml b/app/views/admin/settings/discovery/show.html.haml index 08c34f190d..ab1319e791 100644 --- a/app/views/admin/settings/discovery/show.html.haml +++ b/app/views/admin/settings/discovery/show.html.haml @@ -34,6 +34,9 @@ .fields-group = f.input :enable_emoji_reaction, as: :boolean, wrapper: :with_label, kmyblue: true, hint: false + .fields-group + = f.input :streaming_emoji_reaction, as: :boolean, wrapper: :with_label, kmyblue: true + .fields-group = f.input :receive_other_servers_emoji_reaction, as: :boolean, wrapper: :with_label, kmyblue: true diff --git a/config/locales/simple_form.en.yml b/config/locales/simple_form.en.yml index 8bfa340492..92c3f6557e 100644 --- a/config/locales/simple_form.en.yml +++ b/config/locales/simple_form.en.yml @@ -113,7 +113,8 @@ en: site_terms: Use your own privacy policy or leave blank to use the default. Can be structured with Markdown syntax. site_title: How people may refer to your server besides its domain name. status_page_url: URL of a page where people can see the status of this server during an outage - streaming_other_servers_emoji_reaction: Check your server network capacity. A lot of data streaming. + streaming_emoji_reaction: If the server load is high, try unchecking the box temporarily. + streaming_other_servers_emoji_reaction: Check network lines and server load as large amounts of data are delivered. theme: Theme that logged out visitors and new users see. thumbnail: A roughly 2:1 image displayed alongside your server information. timeline_preview: Logged out visitors will be able to browse the most recent public posts available on the server. @@ -361,6 +362,7 @@ en: site_terms: Privacy Policy site_title: Server name status_page_url: Status page URL + streaming_emoji_reaction: Enable stamp streaming streaming_other_servers_emoji_reaction: Streaming stamp between other server users theme: Default theme thumbnail: Server thumbnail diff --git a/config/locales/simple_form.ja.yml b/config/locales/simple_form.ja.yml index fec46e5ab0..c3b9c08323 100644 --- a/config/locales/simple_form.ja.yml +++ b/config/locales/simple_form.ja.yml @@ -125,7 +125,8 @@ ja: site_terms: 独自のプライバシーポリシーを使用するか空白にしてデフォルトのプライバシーポリシーを使用します。Markdownが使えます。 site_title: ドメイン名以外でサーバーを参照する方法 status_page_url: 障害発生時などにユーザーがサーバーの状態を確認できるページのURL - streaming_other_servers_emoji_reaction: ストリーミングサーバーの通信許容量、および各ユーザーの通信容量を必ず確認してください。大量のデータが配信されます。 + streaming_emoji_reaction: サーバーの負荷が高い場合は一時的にチェックを外してみてください。 + streaming_other_servers_emoji_reaction: 大量のデータが配信されるため、ネットワークの回線やサーバーの負荷をチェックしてください。 theme: ログインしていない人と新規ユーザーに表示されるテーマ。 thumbnail: サーバー情報と共に表示される、アスペクト比が約 2:1 の画像。 timeline_preview: ログインしていないユーザーがサーバー上の最新の公開投稿を閲覧できるようにします。 @@ -371,6 +372,7 @@ ja: site_terms: プライバシーポリシー site_title: サーバーの名前 status_page_url: サーバーの状態ページのURL + streaming_emoji_reaction: スタンプのストリーミングを有効にする streaming_other_servers_emoji_reaction: 他のサーバーのユーザーが他のサーバーの投稿につけたスタンプをストリーミングする theme: デフォルトテーマ thumbnail: サーバーのサムネイル diff --git a/config/settings.yml b/config/settings.yml index 20bb622c52..3997e3d354 100644 --- a/config/settings.yml +++ b/config/settings.yml @@ -40,6 +40,7 @@ defaults: &defaults captcha_enabled: false receive_other_servers_emoji_reaction: false streaming_other_servers_emoji_reaction: false + streaming_emoji_reaction: true enable_emoji_reaction: true check_lts_version_only: true enable_public_unlisted_visibility: true