Merge branch 'main' into glitch-soc/merge-upstream

Conflicts:
- `app/javascript/packs/admin.js`:
  Conflicts due to glitch-soc's theming system.
  Upstream changes have been ported to `app/javascript/core/admin.js`
- `app/models/trends/statuses.rb`:
  Minor conflict due to glitch-soc's option to allow CWed toots in trends.
  Ported upstream changes.
This commit is contained in:
Claire
2022-05-01 16:52:27 +02:00
190 changed files with 1375 additions and 1439 deletions

View File

@@ -2,12 +2,17 @@
class RedisConfiguration
class << self
def establish_pool(new_pool_size)
@pool&.shutdown(&:close)
@pool = ConnectionPool.new(size: new_pool_size) { new.connection }
end
def with
pool.with { |redis| yield redis }
end
def pool
@pool ||= ConnectionPool.new(size: pool_size) { new.connection }
@pool ||= establish_pool(pool_size)
end
def pool_size

View File

@@ -6,8 +6,13 @@ class Webfinger
class RedirectError < StandardError; end
class Response
def initialize(body)
attr_reader :uri
def initialize(uri, body)
@uri = uri
@json = Oj.load(body, mode: :strict)
validate_response!
end
def subject
@@ -23,6 +28,10 @@ class Webfinger
def links
@links ||= @json['links'].index_by { |link| link['rel'] }
end
def validate_response!
raise Webfinger::Error, "Missing subject in response for #{@uri}" if subject.blank?
end
end
def initialize(uri)
@@ -34,7 +43,7 @@ class Webfinger
end
def perform
Response.new(body_from_webfinger)
Response.new(@uri, body_from_webfinger)
rescue Oj::ParseError
raise Webfinger::Error, "Invalid JSON in response for #{@uri}"
rescue Addressable::URI::InvalidURIError