Skip to content

Commit 4e8c179

Browse files
Gargronhiyuki2578
authored andcommitted
Remove expensive counters from federation page in admin UI (mastodon#11139)
1 parent 89578f9 commit 4e8c179

2 files changed

Lines changed: 13 additions & 16 deletions

File tree

app/models/instance.rb

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,8 @@ def initialize(resource)
1111
@domain_block = resource.is_a?(DomainBlock) ? resource : DomainBlock.rule_for(domain)
1212
end
1313

14-
def cached_sample_accounts
15-
Rails.cache.fetch("#{cache_key}/sample_accounts", expires_in: 12.hours) { Account.where(domain: domain).searchable.joins(:account_stat).popular.limit(3) }
16-
end
17-
18-
def cached_accounts_count
19-
@accounts_count || Rails.cache.fetch("#{cache_key}/count", expires_in: 12.hours) { Account.where(domain: domain).count }
14+
def countable?
15+
@accounts_count.present?
2016
end
2117

2218
def to_param

app/views/admin/instances/index.html.haml

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -33,21 +33,22 @@
3333
%h4
3434
= instance.domain
3535
%small
36-
= t('admin.instances.known_accounts', count: instance.cached_accounts_count)
37-
3836
- if instance.domain_block
37+
- first_item = true
3938
- if !instance.domain_block.noop?
40-
•
4139
= t("admin.domain_blocks.severity.#{instance.domain_block.severity}")
40+
- first_item = false
4241
- if instance.domain_block.reject_media?
43-
•
42+
- unless first_item
43+
•
4444
= t('admin.domain_blocks.rejecting_media')
45+
- first_item = false
4546
- if instance.domain_block.reject_reports?
46-
•
47+
- unless first_item
48+
•
4749
= t('admin.domain_blocks.rejecting_reports')
48-
49-
.avatar-stack
50-
- instance.cached_sample_accounts.each do |account|
51-
= image_tag current_account&.user&.setting_auto_play_gif ? account.avatar_original_url : account.avatar_static_url, width: 48, height: 48, alt: '', class: 'account__avatar'
52-
50+
- else
51+
= t('admin.accounts.no_limits_imposed')
52+
- if instance.countable?
53+
.trends__item__current{ title: t('admin.instances.known_accounts', count: instance.accounts_count) }= number_to_human instance.accounts_count, strip_insignificant_zeros: true
5354
= paginate paginated_instances

0 commit comments

Comments
 (0)