Browse Source

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

main
Claire 4 months ago
parent
commit
d01c5b0b8c
  1. 2
      Gemfile.lock
  2. 7
      app/helpers/application_helper.rb
  3. 6
      app/serializers/manifest_serializer.rb
  4. 1
      config/application.rb
  5. 20
      config/initializers/paperclip.rb
  6. 2
      config/locales/en.yml
  7. 1
      config/webpack/shared.js
  8. 21
      lib/paperclip/storage_extensions.rb

2
Gemfile.lock

@ -461,7 +461,7 @@ GEM
pry-rails (0.3.9)
pry (>= 0.10.4)
public_suffix (4.0.6)
puma (5.6.2)
puma (5.6.4)
nio4r (~> 2.0)
pundit (2.2.0)
activesupport (>= 3.0.0)

7
app/helpers/application_helper.rb

@ -19,8 +19,11 @@ module ApplicationHelper
# is looked up from the locales definition, and rails-i18n comes with
# values that don't seem to make much sense for many languages, so
# override these values with a default of 3 digits of precision.
options[:precision] = 3
options[:strip_insignificant_zeros] = true
options = options.merge(
precision: 3,
strip_insignificant_zeros: true,
significant: true
)
number_to_human(number, **options)
end

6
app/serializers/manifest_serializer.rb

@ -44,7 +44,7 @@ class ManifestSerializer < ActiveModel::Serializer
end
def start_url
'/web/timelines/home'
'/web/home'
end
def scope
@ -69,7 +69,7 @@ class ManifestSerializer < ActiveModel::Serializer
[
{
name: 'New toot',
url: '/web/statuses/new',
url: '/web/publish',
icons: [
{
src: '/shortcuts/new-status.png',
@ -91,7 +91,7 @@ class ManifestSerializer < ActiveModel::Serializer
},
{
name: 'Direct messages',
url: '/web/timelines/direct',
url: '/web/conversations',
icons: [
{
src: '/shortcuts/direct.png',

1
config/application.rb

@ -27,7 +27,6 @@ require_relative '../lib/sanitize_ext/sanitize_config'
require_relative '../lib/redis/namespace_extensions'
require_relative '../lib/paperclip/url_generator_extensions'
require_relative '../lib/paperclip/attachment_extensions'
require_relative '../lib/paperclip/storage_extensions'
require_relative '../lib/paperclip/lazy_thumbnail'
require_relative '../lib/paperclip/gif_transcoder'
require_relative '../lib/paperclip/transcoder'

20
config/initializers/paperclip.rb

@ -83,6 +83,26 @@ if ENV['S3_ENABLED'] == 'true'
s3_host_alias: ENV['S3_ALIAS_HOST'] || ENV['S3_CLOUDFRONT_HOST']
)
end
# Some S3-compatible providers might not actually be compatible with some APIs
# used by kt-paperclip, see https://github.com/mastodon/mastodon/issues/16822
if ENV['S3_FORCE_SINGLE_REQUEST'] == 'true'
module Paperclip
module Storage
module S3Extensions
def copy_to_local_file(style, local_dest_path)
log("copying #{path(style)} to local file #{local_dest_path}")
s3_object(style).download_file(local_dest_path, { mode: 'single_request' })
rescue Aws::Errors::ServiceError => e
warn("#{e} - cannot copy #{path(style)} to local file #{local_dest_path}")
false
end
end
end
end
Paperclip::Storage::S3.prepend(Paperclip::Storage::S3Extensions)
end
elsif ENV['SWIFT_ENABLED'] == 'true'
require 'fog/openstack'

2
config/locales/en.yml

@ -598,7 +598,7 @@ en:
action_taken_by: Action taken by
actions:
delete_description_html: The reported posts will be deleted and a strike will be recorded to help you escalate on future infractions by the same account.
mark_as_sensitive_description_html: The media in the reported posts will be marked as sensitive and a strike will be recorded to help you escalate on future refractions by the same account.
mark_as_sensitive_description_html: The media in the reported posts will be marked as sensitive and a strike will be recorded to help you escalate on future infractions by the same account.
other_description_html: See more options for controlling the account's behaviour and customize communication to the reported account.
resolve_description_html: No action will be taken against the reported account, no strike recorded, and the report will be closed.
silence_description_html: The profile will be visible only to those who already follow it or manually look it up, severely limiting its reach. Can always be reverted.

1
config/webpack/shared.js

@ -61,6 +61,7 @@ module.exports = {
filename: 'js/[name]-[chunkhash].js',
chunkFilename: 'js/[name]-[chunkhash].chunk.js',
hotUpdateChunkFilename: 'js/[id]-[hash].hot-update.js',
hashFunction: 'sha256',
path: output.path,
publicPath: output.publicPath,
},

21
lib/paperclip/storage_extensions.rb

@ -1,21 +0,0 @@
# frozen_string_literal: true
# Some S3-compatible providers might not actually be compatible with some APIs
# used by kt-paperclip, see https://github.com/mastodon/mastodon/issues/16822
if ENV['S3_ENABLED'] == 'true' && ENV['S3_FORCE_SINGLE_REQUEST'] == 'true'
module Paperclip
module Storage
module S3Extensions
def copy_to_local_file(style, local_dest_path)
log("copying #{path(style)} to local file #{local_dest_path}")
s3_object(style).download_file(local_dest_path, { mode: 'single_request' })
rescue Aws::Errors::ServiceError => e
warn("#{e} - cannot copy #{path(style)} to local file #{local_dest_path}")
false
end
end
end
end
Paperclip::Storage::S3.prepend(Paperclip::Storage::S3Extensions)
end
Loading…
Cancel
Save