Merge remote-tracking branch 'parent/releases/v4.2.1' into kb_lts
This commit is contained in:
commit
846b8c5e06
114 changed files with 1458 additions and 991 deletions
|
@ -70,8 +70,12 @@ class AccountStatusesFilter
|
|||
.where(reblog_of_id: nil)
|
||||
.or(
|
||||
scope
|
||||
# This is basically `Status.not_domain_blocked_by_account(current_account)`
|
||||
# and `Status.not_excluded_by_account(current_account)` but on the
|
||||
# `reblog` association. Unfortunately, there seem to be no clean way
|
||||
# to re-use those scopes in our case.
|
||||
.where(reblog: { accounts: { domain: nil } }).or(scope.where.not(reblog: { accounts: { domain: current_account.excluded_from_timeline_domains } }))
|
||||
.where.not(reblog: { account_id: current_account.excluded_from_timeline_account_ids })
|
||||
.where.not(reblog: { accounts: { domain: current_account.excluded_from_timeline_domains } })
|
||||
)
|
||||
end
|
||||
|
||||
|
|
|
@ -41,13 +41,13 @@ class Admin::SystemCheck::ElasticsearchCheck < Admin::SystemCheck::BaseCheck
|
|||
elsif cluster_health['status'] == 'red'
|
||||
Admin::SystemCheck::Message.new(:elasticsearch_health_red)
|
||||
elsif cluster_health['number_of_nodes'] < 2 && es_preset != 'single_node_cluster'
|
||||
Admin::SystemCheck::Message.new(:elasticsearch_preset_single_node, nil, 'https://docs.joinmastodon.org/admin/optional/elasticsearch/#scaling')
|
||||
Admin::SystemCheck::Message.new(:elasticsearch_preset_single_node, nil, 'https://docs.joinmastodon.org/admin/elasticsearch/#scaling')
|
||||
elsif Chewy.client.indices.get_settings[Chewy::Stash::Specification.index_name]&.dig('settings', 'index', 'number_of_replicas')&.to_i&.positive? && es_preset == 'single_node_cluster'
|
||||
Admin::SystemCheck::Message.new(:elasticsearch_reset_chewy)
|
||||
elsif cluster_health['status'] == 'yellow'
|
||||
Admin::SystemCheck::Message.new(:elasticsearch_health_yellow)
|
||||
else
|
||||
Admin::SystemCheck::Message.new(:elasticsearch_preset, nil, 'https://docs.joinmastodon.org/admin/optional/elasticsearch/#scaling')
|
||||
Admin::SystemCheck::Message.new(:elasticsearch_preset, nil, 'https://docs.joinmastodon.org/admin/elasticsearch/#scaling')
|
||||
end
|
||||
rescue Faraday::ConnectionFailed, Elasticsearch::Transport::Transport::Error
|
||||
Admin::SystemCheck::Message.new(:elasticsearch_running_check)
|
||||
|
|
|
@ -37,7 +37,9 @@ class Importer::BaseImporter
|
|||
# Estimate the amount of documents that would be indexed. Not exact!
|
||||
# @returns [Integer]
|
||||
def estimate!
|
||||
ActiveRecord::Base.connection_pool.with_connection { |connection| connection.select_one("SELECT reltuples AS estimate FROM pg_class WHERE relname = '#{index.adapter.target.table_name}'")['estimate'].to_i }
|
||||
reltuples = ActiveRecord::Base.connection_pool.with_connection { |connection| connection.select_one("SELECT reltuples FROM pg_class WHERE relname = '#{index.adapter.target.table_name}'")['reltuples'].to_i }
|
||||
# If the table has never yet been vacuumed or analyzed, reltuples contains -1
|
||||
[reltuples, 0].max
|
||||
end
|
||||
|
||||
# Import data from the database into the index
|
||||
|
|
|
@ -14,6 +14,8 @@ class PermalinkRedirector
|
|||
find_account_url_by_name(first_segment)
|
||||
elsif accounts_request? && record_integer_id_request?
|
||||
find_account_url_by_id(second_segment)
|
||||
elsif @path.start_with?('/deck')
|
||||
@path.delete_prefix('/deck')
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -52,7 +54,7 @@ class PermalinkRedirector
|
|||
end
|
||||
|
||||
def path_segments
|
||||
@path_segments ||= @path.delete_prefix('/').split('/')
|
||||
@path_segments ||= @path.delete_prefix('/deck').delete_prefix('/').split('/')
|
||||
end
|
||||
|
||||
def find_status_url_by_id(id)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue