1
0
mirror of https://github.com/funamitech/mastodon synced 2024-11-27 22:38:42 +09:00

Merge commit '496c10542bd39ca86a85d4de81778c134ea4383c' into glitch-soc/merge-upstream

This commit is contained in:
Claire 2024-06-07 20:30:51 +02:00
commit 7277d2f130
73 changed files with 194 additions and 123 deletions

View File

@ -5,7 +5,7 @@ FROM mcr.microsoft.com/devcontainers/ruby:1-3.3-bookworm
# RUN gem install rails webdrivers
ARG NODE_VERSION="20"
RUN su vscode -c "source /usr/local/share/nvm/nvm.sh && nvm install ${NODE_VERSION} 2>&1"
RUN . /usr/local/share/nvm/nvm.sh && nvm install ${NODE_VERSION} 2>&1
# [Optional] Uncomment this section to install additional OS packages.
RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \
@ -15,6 +15,6 @@ RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \
RUN gem install foreman
# [Optional] Uncomment this line to install global node packages.
RUN su vscode -c "source /usr/local/share/nvm/nvm.sh && corepack enable" 2>&1
RUN . /usr/local/share/nvm/nvm.sh && corepack enable 2>&1
COPY welcome-message.txt /usr/local/etc/vscode-dev-containers/first-run-notice.txt

View File

@ -23,6 +23,8 @@
}
},
"remoteUser": "root",
"otherPortsAttributes": {
"onAutoForward": "silent"
},

View File

@ -5,7 +5,7 @@ services:
context: .
dockerfile: Dockerfile
volumes:
- ../..:/workspaces:cached
- ..:/workspaces/mastodon:cached
environment:
RAILS_ENV: development
NODE_ENV: development

View File

@ -1,8 +1,7 @@
👋 Welcome to "Mastodon" in GitHub Codespaces!
👋 Welcome to your Mastodon Dev Container!
🛠️ Your environment is fully setup with all the required software.
🛠️ Your environment is fully setup with all the required software.
🔍 To explore VS Code to its fullest, search using the Command Palette (Cmd/Ctrl + Shift + P or F1).
📝 Edit away, run your app as usual, and we'll automatically make it available for you to access.
💥 Run `bin/dev` to start the application processes.
🥼 Run `RAILS_ENV=test bin/rails assets:precompile && RAILS_ENV=test bin/rspec` to run the test suite.

View File

@ -107,7 +107,7 @@ gem 'private_address_check', '~> 0.5'
gem 'opentelemetry-api', '~> 1.2.5'
group :opentelemetry do
gem 'opentelemetry-exporter-otlp', '~> 0.26.3', require: false
gem 'opentelemetry-exporter-otlp', '~> 0.27.0', require: false
gem 'opentelemetry-instrumentation-active_job', '~> 0.7.1', require: false
gem 'opentelemetry-instrumentation-active_model_serializers', '~> 0.20.1', require: false
gem 'opentelemetry-instrumentation-concurrent_ruby', '~> 0.21.2', require: false

View File

@ -100,17 +100,17 @@ GEM
attr_required (1.0.2)
awrence (1.2.1)
aws-eventstream (1.3.0)
aws-partitions (1.929.0)
aws-sdk-core (3.196.1)
aws-partitions (1.940.0)
aws-sdk-core (3.197.0)
aws-eventstream (~> 1, >= 1.3.0)
aws-partitions (~> 1, >= 1.651.0)
aws-sigv4 (~> 1.8)
jmespath (~> 1, >= 1.6.1)
aws-sdk-kms (1.81.0)
aws-sdk-core (~> 3, >= 3.193.0)
aws-sdk-kms (1.83.0)
aws-sdk-core (~> 3, >= 3.197.0)
aws-sigv4 (~> 1.1)
aws-sdk-s3 (1.151.0)
aws-sdk-core (~> 3, >= 3.194.0)
aws-sdk-s3 (1.152.0)
aws-sdk-core (~> 3, >= 3.197.0)
aws-sdk-kms (~> 1)
aws-sigv4 (~> 1.8)
aws-sigv4 (1.8.0)
@ -489,7 +489,7 @@ GEM
opentelemetry-api (1.2.5)
opentelemetry-common (0.20.1)
opentelemetry-api (~> 1.0)
opentelemetry-exporter-otlp (0.26.3)
opentelemetry-exporter-otlp (0.27.0)
google-protobuf (~> 3.14)
googleapis-common-protos-types (~> 1.3)
opentelemetry-api (~> 1.1)
@ -751,7 +751,7 @@ GEM
rack (>= 1.1)
rubocop (>= 1.33.0, < 2.0)
rubocop-ast (>= 1.31.1, < 2.0)
rubocop-rspec (2.30.0)
rubocop-rspec (2.31.0)
rubocop (~> 1.40)
rubocop-capybara (~> 2.17)
rubocop-factory_bot (~> 2.22)
@ -978,7 +978,7 @@ DEPENDENCIES
omniauth-saml (~> 2.0)
omniauth_openid_connect (~> 0.6.1)
opentelemetry-api (~> 1.2.5)
opentelemetry-exporter-otlp (~> 0.26.3)
opentelemetry-exporter-otlp (~> 0.27.0)
opentelemetry-instrumentation-active_job (~> 0.7.1)
opentelemetry-instrumentation-active_model_serializers (~> 0.20.1)
opentelemetry-instrumentation-concurrent_ruby (~> 0.21.2)

View File

@ -32,6 +32,7 @@
"compose_form.direct_message_warning_learn_more": "Discere plura",
"compose_form.encryption_warning": "Posts on Mastodon are not end-to-end encrypted. Do not share any dangerous information over Mastodon.",
"compose_form.hashtag_warning": "This post won't be listed under any hashtag as it is unlisted. Only public posts can be searched by hashtag.",
"compose_form.lock_disclaimer": "Tua ratio non est {clausa}. Quisquis te sequi potest ut visum accipiat nuntios tuos tantum pro sectatoribus.",
"compose_form.lock_disclaimer.lock": "clausum",
"compose_form.placeholder": "What is on your mind?",
"compose_form.publish_form": "Barrire",
@ -91,6 +92,7 @@
"lightbox.next": "Secundum",
"navigation_bar.domain_blocks": "Hidden domains",
"not_signed_in_indicator.not_signed_in": "You need to sign in to access this resource.",
"notification.moderation_warning.action_none": "Tua ratiō monitum moderātiōnis accēpit.",
"notification.reblog": "{name} boosted your status",
"notifications.filter.all": "Omnia",
"notifications.filter.polls": "Eventus electionis",
@ -107,6 +109,8 @@
"onboarding.steps.setup_profile.title": "Customize your profile",
"onboarding.steps.share_profile.body": "Let your friends know how to find you on Mastodon!",
"onboarding.steps.share_profile.title": "Share your profile",
"onboarding.tips.accounts_from_other_servers": "<strong>Scisne?</strong> Quoniam Mastodon dēcentālis est, nōnnulla profīlia quae invenīs in servīs aliīs quam tuōrum erunt hospitāta. Tamen cum eīs sine impedīmentō interāgere potes! Servus eōrum in alterā parte nōminis eōrum est!",
"onboarding.tips.migration": "<strong>Scisne?</strong> Sī sentīs {domain} tibi in futūrō nōn esse optimam servī ēlēctiōnem, ad alium servum Mastodon sine amittendō sectātōribus tuīs migrāre potes. Etiam tuum servum hospitārī potes!",
"poll.closed": "Clausum",
"poll.vote": "Eligere",
"poll.voted": "Elegisti hoc responsum",

View File

@ -41,8 +41,8 @@ class VideoMetadataExtractor
@colorspace = video_stream[:pix_fmt]
@width = video_stream[:width]
@height = video_stream[:height]
@frame_rate = video_stream[:avg_frame_rate] == '0/0' ? nil : Rational(video_stream[:avg_frame_rate])
@r_frame_rate = video_stream[:r_frame_rate] == '0/0' ? nil : Rational(video_stream[:r_frame_rate])
@frame_rate = parse_framerate(video_stream[:avg_frame_rate])
@r_frame_rate = parse_framerate(video_stream[:r_frame_rate])
# For some video streams the frame_rate reported by `ffprobe` will be 0/0, but for these streams we
# should use `r_frame_rate` instead. Video screencast generated by Gnome Screencast have this issue.
@frame_rate ||= @r_frame_rate
@ -55,4 +55,10 @@ class VideoMetadataExtractor
@invalid = true if @metadata.key?(:error)
end
def parse_framerate(raw)
Rational(raw)
rescue ZeroDivisionError
nil
end
end

View File

@ -40,7 +40,7 @@ class CustomEmoji < ApplicationRecord
has_one :local_counterpart, -> { where(domain: nil) }, class_name: 'CustomEmoji', primary_key: :shortcode, foreign_key: :shortcode, inverse_of: false, dependent: nil
has_attached_file :image, styles: { static: { format: 'png', convert_options: '-coalesce +profile "!icc,*" +set date:modify +set date:create +set date:timestamp' } }, validate_media_type: false
has_attached_file :image, styles: { static: { format: 'png', convert_options: '-coalesce +profile "!icc,*" +set date:modify +set date:create +set date:timestamp', file_geometry_parser: FastGeometryParser } }, validate_media_type: false, processors: [:lazy_thumbnail]
normalizes :domain, with: ->(domain) { domain.downcase }

View File

@ -5,10 +5,10 @@
# Table name: mentions
#
# id :bigint(8) not null, primary key
# status_id :bigint(8)
# status_id :bigint(8) not null
# created_at :datetime not null
# updated_at :datetime not null
# account_id :bigint(8)
# account_id :bigint(8) not null
# silent :boolean default(FALSE), not null
#

View File

@ -11,6 +11,7 @@ class REST::NotificationGroupSerializer < ActiveModel::Serializer
belongs_to :target_status, key: :status, if: :status_type?, serializer: REST::StatusSerializer
belongs_to :report, if: :report_type?, serializer: REST::ReportSerializer
belongs_to :account_relationship_severance_event, key: :event, if: :relationship_severance_event?, serializer: REST::AccountRelationshipSeveranceEventSerializer
belongs_to :account_warning, key: :moderation_warning, if: :moderation_warning_event?, serializer: REST::AccountWarningSerializer
def status_type?
[:favourite, :reblog, :status, :mention, :poll, :update].include?(object.type)
@ -24,6 +25,10 @@ class REST::NotificationGroupSerializer < ActiveModel::Serializer
object.type == :severed_relationships
end
def moderation_warning_event?
object.type == :moderation_warning
end
def page_min_id
range = instance_options[:group_metadata][object.group_key]
range.present? ? range[:min_id].to_s : object.notification.id.to_s

View File

@ -5,7 +5,7 @@ require "fileutils"
APP_ROOT = File.expand_path('..', __dir__)
def system!(*args)
system(*args) || abort("\n== Command #{args} failed ==")
system(*args, exception: true)
end
FileUtils.chdir APP_ROOT do
@ -13,17 +13,13 @@ FileUtils.chdir APP_ROOT do
# This script is idempotent, so that you can run it at any time and get an expectable outcome.
# Add necessary setup steps to this file.
puts '== Installing dependencies =='
puts "\n== Installing Ruby dependencies =="
system! 'gem install bundler --conservative'
system('bundle check') || system!('bundle install')
# Install JavaScript dependencies
system! 'bin/yarn'
# puts "\n== Copying sample files =="
# unless File.exist?('config/database.yml')
# FileUtils.cp 'config/database.yml.sample', 'config/database.yml'
# end
puts "\n== Installing JS dependencies =="
system! 'corepack prepare'
system! 'bin/yarn install --immutable'
puts "\n== Preparing database =="
system! 'bin/rails db:prepare'

View File

@ -8,7 +8,7 @@ Rails.application.configure do
# In the development environment your application's code is reloaded any time
# it changes. This slows down response time but is perfect for development
# since you don't have to restart the web server when you make code changes.
config.cache_classes = false
config.enable_reloading = true
# Do not eager load code on boot.
config.eager_load = false

View File

@ -61,12 +61,6 @@ Rails.application.configure do
config.i18n.default_locale = :en
config.i18n.fallbacks = true
config.to_prepare do
# Force Status to always be SHAPE_TOO_COMPLEX
# Ref: https://github.com/mastodon/mastodon/issues/23644
10.times { |i| Status.allocate.instance_variable_set(:"@ivar_#{i}", nil) }
end
# Tell Active Support which deprecation messages to disallow.
config.active_support.disallowed_deprecation_warnings = []

View File

@ -3,6 +3,8 @@
Paperclip::DataUriAdapter.register
Paperclip::ResponseWithLimitAdapter.register
PATH = ':prefix_url:class/:attachment/:id_partition/:style/:filename'
Paperclip.interpolates :filename do |attachment, style|
if style == :original
attachment.original_filename
@ -29,7 +31,7 @@ end
Paperclip::Attachment.default_options.merge!(
use_timestamp: false,
path: ':prefix_url:class/:attachment/:id_partition/:style/:filename',
path: PATH,
storage: :fog
)
@ -40,6 +42,8 @@ if ENV['S3_ENABLED'] == 'true'
s3_protocol = ENV.fetch('S3_PROTOCOL') { 'https' }
s3_hostname = ENV.fetch('S3_HOSTNAME') { "s3-#{s3_region}.amazonaws.com" }
Paperclip::Attachment.default_options[:path] = ENV.fetch('S3_KEY_PREFIX') + "/#{PATH}" if ENV.has_key?('S3_KEY_PREFIX')
Paperclip::Attachment.default_options.merge!(
storage: :s3,
s3_protocol: s3_protocol,
@ -64,7 +68,7 @@ if ENV['S3_ENABLED'] == 'true'
http_open_timeout: ENV.fetch('S3_OPEN_TIMEOUT') { '5' }.to_i,
http_read_timeout: ENV.fetch('S3_READ_TIMEOUT') { '5' }.to_i,
http_idle_timeout: 5,
retry_limit: 0,
retry_limit: ENV.fetch('S3_RETRY_LIMIT') { '0' }.to_i,
}
)
@ -159,7 +163,7 @@ else
Paperclip::Attachment.default_options.merge!(
storage: :filesystem,
path: File.join(ENV.fetch('PAPERCLIP_ROOT_PATH', File.join(':rails_root', 'public', 'system')), ':prefix_path:class', ':attachment', ':id_partition', ':style', ':filename'),
url: "#{ENV.fetch('PAPERCLIP_ROOT_URL', '/system')}/:prefix_url:class/:attachment/:id_partition/:style/:filename"
url: ENV.fetch('PAPERCLIP_ROOT_URL', '/system') + "/#{PATH}"
)
end

View File

@ -174,7 +174,6 @@ be:
read:filters: бачыць свае фільтры
read:follows: бачыць свае падпіскі
read:lists: бачыць свае спісы
read:me: чытайце толькі базавую інфармацыю аб сваім уліковым запісе
read:mutes: бачыць свае ігнараванні
read:notifications: бачыць свае абвесткі
read:reports: бачыць свае скаргі

View File

@ -135,6 +135,7 @@ bg:
media: Прикачена мултимедия
mutes: Заглушения
notifications: Известия
profile: Вашият профил в Mastodon
push: Изскачащи известия
reports: Доклади
search: Търсене
@ -165,6 +166,7 @@ bg:
admin:write:reports: извършване на действия за модериране на докладвания
crypto: употреба на цялостно шифроване
follow: промяна на взаимоотношенията на акаунта
profile: само за четене на сведенията ви за профила на акаунта
push: получаване на вашите изскачащи известия
read: четене на всички данни от акаунта ви
read:accounts: преглед на информация за акаунти
@ -174,7 +176,6 @@ bg:
read:filters: преглед на вашите филтри
read:follows: преглед на вашите последвания
read:lists: преглед на вашите списъци
read:me: четене само на основните сведения за акаунта ви
read:mutes: преглед на вашите заглушавания
read:notifications: преглед на вашите известия
read:reports: преглед на вашите докладвания

View File

@ -104,6 +104,7 @@ br:
lists: Listennoù
media: Restroù media stag
mutes: Kuzhet
profile: Ho profil Mastodon
search: Klask
statuses: Toudoù
layouts:

View File

@ -135,6 +135,7 @@ ca:
media: Adjunts multimèdia
mutes: Silenciats
notifications: Notificacions
profile: El vostre perfil de Mastodon
push: Notificacions push
reports: Informes
search: Cerca
@ -165,6 +166,7 @@ ca:
admin:write:reports: fer l'acció de moderació en els informes
crypto: usa xifrat d'extrem a extrem
follow: modifica les relacions del compte
profile: només llegir la informació del perfil del vostre compte
push: rebre notificacions push del teu compte
read: llegir les dades del teu compte
read:accounts: mira informació dels comptes
@ -174,7 +176,6 @@ ca:
read:filters: mira els teus filtres
read:follows: mira els teus seguiments
read:lists: mira les teves llistes
read:me: llegir només la informació bàsica del vostre compte
read:mutes: mira els teus silenciats
read:notifications: mira les teves notificacions
read:reports: mira els teus informes

View File

@ -174,7 +174,6 @@ cs:
read:filters: vidět vaše filtry
read:follows: vidět vaše sledování
read:lists: vidět vaše seznamy
read:me: číst pouze základní informace vašeho účtu
read:mutes: vidět vaše skrytí
read:notifications: vidět vaše oznámení
read:reports: vidět vaše hlášení

View File

@ -174,7 +174,6 @@ cy:
read:filters: gweld eich hidlwyr
read:follows: gweld eich dilynwyr
read:lists: gweld eich rhestrau
read:me: darllen dim ond manylion elfennol eich cyfrif
read:mutes: gweld eich anwybyddiadau
read:notifications: gweld eich hysbysiadau
read:reports: gweld eich adroddiadau

View File

@ -135,6 +135,7 @@ da:
media: Medievedhæftninger
mutes: Tavsgørelser
notifications: Notifikationer
profile: Din Mastodon-profil
push: Push-notifikationer
reports: Anmeldelser
search: Søgning
@ -165,6 +166,7 @@ da:
admin:write:reports: udfør modereringshandlinger på anmeldelser
crypto: benyt ende-til-ende kryptering
follow: ændre kontorelationer
profile: læs kun kontoprofiloplysningerne
push: modtag dine push-notifikationer
read: læs alle dine kontodata
read:accounts: se kontooplysninger
@ -174,7 +176,6 @@ da:
read:filters: se dine filtre
read:follows: se dine følger
read:lists: se dine lister
read:me: læs kun kontoens basisoplysninger
read:mutes: se dine tavsgørelser
read:notifications: se dine notifikationer
read:reports: se dine anmeldelser

View File

@ -135,6 +135,7 @@ de:
media: Medienanhänge
mutes: Stummschaltungen
notifications: Benachrichtigungen
profile: Dein Mastodon-Profil
push: Push-Benachrichtigungen
reports: Meldungen
search: Suche
@ -165,6 +166,7 @@ de:
admin:write:reports: Moderationsaktionen auf Meldungen ausführen
crypto: Ende-zu-Ende-Verschlüsselung verwenden
follow: Kontenbeziehungen verändern
profile: nur die Profilinformationen deines Kontos lesen
push: deine Push-Benachrichtigungen erhalten
read: all deine Daten lesen
read:accounts: deine Kontoinformationen einsehen
@ -174,7 +176,6 @@ de:
read:filters: deine Filter einsehen
read:follows: sehen, wem du folgst
read:lists: deine Listen sehen
read:me: nur deine grundlegenden Kontoinformationen lesen
read:mutes: deine Stummschaltungen einsehen
read:notifications: deine Benachrichtigungen sehen
read:reports: deine Meldungen sehen

View File

@ -174,7 +174,6 @@ en-GB:
read:filters: see your filters
read:follows: see your follows
read:lists: see your lists
read:me: read only your account's basic information
read:mutes: see your mutes
read:notifications: see your notifications
read:reports: see your reports

View File

@ -135,6 +135,7 @@ es-AR:
media: Adjuntos de medios
mutes: Silenciados
notifications: Notificaciones
profile: Tu perfil de Mastodon
push: Notificaciones push
reports: Denuncias
search: Buscar
@ -165,6 +166,7 @@ es-AR:
admin:write:reports: ejecutar acciones de moderación en denuncias
crypto: usar cifrado de extremo a extremo
follow: modificar relaciones de cuenta
profile: leer solo la información del perfil de tu cuenta
push: recibir tus notificaciones push
read: leer todos los datos de tu cuenta
read:accounts: ver información de cuentas
@ -174,7 +176,6 @@ es-AR:
read:filters: ver tus filtros
read:follows: ver qué cuentas seguís
read:lists: ver tus listas
read:me: leer solo la información básica de tu cuenta
read:mutes: ver qué cuentas silenciaste
read:notifications: ver tus notificaciones
read:reports: ver tus denuncias

View File

@ -135,6 +135,7 @@ es-MX:
media: Archivos adjuntos
mutes: Silenciados
notifications: Notificaciones
profile: Tu perfil de Mastodon
push: Notificaciones push
reports: Reportes
search: Busqueda
@ -165,6 +166,7 @@ es-MX:
admin:write:reports: realizar acciones de moderación en informes
crypto: usar cifrado de extremo a extremo
follow: seguir, bloquear, desbloquear y dejar de seguir cuentas
profile: leer sólo la información del perfil de tu cuenta
push: recibir tus notificaciones push
read: leer los datos de tu cuenta
read:accounts: ver información de cuentas
@ -174,7 +176,6 @@ es-MX:
read:filters: ver tus filtros
read:follows: ver a quién sigues
read:lists: ver tus listas
read:me: leer solo la información básica de tu cuenta
read:mutes: ver a quién has silenciado
read:notifications: ver tus notificaciones
read:reports: ver tus informes

View File

@ -135,6 +135,7 @@ es:
media: Adjuntos multimedia
mutes: Silenciados
notifications: Notificaciones
profile: Tu perfil de Mastodon
push: Notificaciones push
reports: Informes
search: Buscar
@ -165,6 +166,7 @@ es:
admin:write:reports: realizar acciones de moderación en informes
crypto: usar cifrado de extremo a extremo
follow: seguir, bloquear, desbloquear y dejar de seguir cuentas
profile: leer sólo la información del perfil de tu cuenta
push: recibir tus notificaciones push
read: leer los datos de tu cuenta
read:accounts: ver información de cuentas
@ -174,7 +176,6 @@ es:
read:filters: ver tus filtros
read:follows: ver a quién sigues
read:lists: ver tus listas
read:me: leer solo la información básica de tu cuenta
read:mutes: ver a quién has silenciado
read:notifications: ver tus notificaciones
read:reports: ver tus informes

View File

@ -174,7 +174,6 @@ eu:
read:filters: ikusi zure iragazkiak
read:follows: ikusi zuk jarraitutakoak
read:lists: ikusi zure zerrendak
read:me: irakurri soilik zure kontuaren oinarrizko informazioa
read:mutes: ikusi zuk mutututakoak
read:notifications: ikusi zure jakinarazpenak
read:reports: ikusi zure salaketak

View File

@ -135,6 +135,7 @@ fi:
media: Medialiitteet
mutes: Mykistykset
notifications: Ilmoitukset
profile: Mastodon-profiilisi
push: Puskuilmoitukset
reports: Raportit
search: Hae
@ -165,6 +166,7 @@ fi:
admin:write:reports: suorita valvontatoimia raporteille
crypto: käytä päästä päähän -salausta
follow: muokkaa tilin suhteita
profile: lue vain tilisi profiilitietoja
push: vastaanota puskuilmoituksiasi
read: lue kaikkia tilin tietoja
read:accounts: katso tilien tietoja
@ -174,7 +176,6 @@ fi:
read:filters: katso suodattimiasi
read:follows: katso seurattujasi
read:lists: katso listojasi
read:me: lue tilisi perustietoja
read:mutes: katso mykistyksiäsi
read:notifications: katso ilmoituksiasi
read:reports: katso raporttejasi

View File

@ -135,6 +135,7 @@ fo:
media: Viðfestir miðlar
mutes: Doyvir
notifications: Fráboðanir
profile: Tín Mastodon vangi
push: Skumpifráboðanir
reports: Meldingar
search: Leita
@ -165,6 +166,7 @@ fo:
admin:write:reports: útinna kjakleiðsluatgerðir á meldingum
crypto: brúka enda-til-enda bronglan
follow: broyta viðurskifti millum kontur
profile: les bara vangaupplýsingar av tíni kontu
push: móttaka tínar skumpifráboðanir
read: lesa allar dátur í tíni kontu
read:accounts: vís kontuupplýsingar
@ -174,7 +176,6 @@ fo:
read:filters: síggja tíni filtur
read:follows: síggja hvørji tú fylgir
read:lists: síggja tínar listar
read:me: les bara grundleggjandi upplýsingar av tínari kontu
read:mutes: síggja tínar doyvingar
read:notifications: síggja tínar fráboðanir
read:reports: síggja tínar meldingar

View File

@ -174,7 +174,6 @@ fy:
read:filters: jo filters besjen
read:follows: de accounts dytsto folgest besjen
read:lists: jo listen besjen
read:me: allinnich de basisgegevens fan jo account lêze
read:mutes: jo negearre brûkers besjen
read:notifications: jo meldingen besjen
read:reports: jo rapportearre berjochten besjen

View File

@ -135,6 +135,7 @@ gl:
media: Anexos multimedia
mutes: Acaladas
notifications: Notificacións
profile: O teu perfil en Mastodon
push: Notificacións Push
reports: Denuncias
search: Busca
@ -165,6 +166,7 @@ gl:
admin:write:reports: executar accións de moderación nas denuncias
crypto: usar cifrado de extremo-a-extremo
follow: modificar as relacións da conta
profile: ler só a información de perfil da túa conta
push: recibir notificacións push
read: ler todos os datos da tua conta
read:accounts: ver información das contas
@ -174,7 +176,6 @@ gl:
read:filters: ver os filtros
read:follows: ver a quen segues
read:lists: ver as tuas listaxes
read:me: ler só a información básica da túa conta
read:mutes: ver a quen tes acalado
read:notifications: ver as notificacións
read:reports: ver as túas denuncias

View File

@ -135,6 +135,7 @@ he:
media: קבצי מדיה מצורפים
mutes: השתקות
notifications: התראות
profile: פרופיל המסטודון שלך
push: התראות בדחיפה
reports: דיווחים
search: חיפוש
@ -165,6 +166,7 @@ he:
admin:write:reports: ביצוע פעולות הנהלה על חשבונות
crypto: שימוש בהצפנה מקצה לקצה
follow: לעקוב, לחסום, להסיר חסימה ולהפסיק לעקוב אחרי חשבונות
profile: קריאה של פרטי הפרופיל שלך בלבד
push: קבלת התראות בדחיפה
read: לקרוא את המידע שבחשבונך
read:accounts: צפיה במידע על חשבונות
@ -174,7 +176,6 @@ he:
read:filters: צפייה במסננים
read:follows: צפייה בנעקבים
read:lists: צפיה ברשימותיך
read:me: לקריאה בלבד של פרטי חשבונך הבסיסיים
read:mutes: צפיה במושתקיך
read:notifications: צפיה בהתראותיך
read:reports: צפיה בדוחותיך

View File

@ -135,6 +135,7 @@ hu:
media: Médiamellékletek
mutes: Némítások
notifications: Értesítések
profile: Saját Mastodon-profil
push: Push értesítések
reports: Bejelentések
search: Keresés
@ -165,6 +166,7 @@ hu:
admin:write:reports: moderációs műveletek végzése bejelentéseken
crypto: végpontok közti titkosítás használata
follow: fiókkapcsolatok módosítása
profile: csak a saját profil alapvető adatainak olvasása
push: push értesítések fogadása
read: saját fiók adatainak olvasása
read:accounts: fiók adatainak megtekintése
@ -174,7 +176,6 @@ hu:
read:filters: szűrök megtekintése
read:follows: követések megtekintése
read:lists: listák megtekintése
read:me: csak a fiókod alapvető adatainak elolvasása
read:mutes: némítások megtekintése
read:notifications: értesítések megtekintése
read:reports: bejelentések megtekintése

View File

@ -174,7 +174,6 @@ ia:
read:filters: vider tu filtros
read:follows: vider qui tu seque
read:lists: vider tu listas
read:me: leger solmente le information basic de tu conto
read:mutes: vider qui tu silentia
read:notifications: vider tu notificationes
read:reports: vider tu reportos

View File

@ -174,7 +174,6 @@ ie:
read:filters: vider tui filtres
read:follows: vider tui sequitores
read:lists: vider tui listes
read:me: leer solmen li basic information de tui conto
read:mutes: vider tui silentias
read:notifications: vider tui notificationes
read:reports: vider tui raportes

View File

@ -135,6 +135,7 @@ is:
media: Myndefnisviðhengi
mutes: Þagganir
notifications: Tilkynningar
profile: Mastodon notandasniðið þitt
push: Ýti-tilkynningar
reports: Kærur
search: Leita
@ -165,6 +166,7 @@ is:
admin:write:reports: framkvæma umsjónaraðgerðir á kærur
crypto: nota enda-í-enda dulritun
follow: breyta venslum aðgangs
profile: lesa einungis upplýsingar úr notandasniðinu þínu
push: taka á móti ýti-tilkynningum til þín
read: lesa öll gögn á notandaaðgangnum þínum
read:accounts: sjá upplýsingar í notendaaðgöngum
@ -174,7 +176,6 @@ is:
read:filters: skoða síurnar þínar
read:follows: sjá hverjum þú fylgist með
read:lists: skoða listana þína
read:me: lesa einungis grunnupplýsingar aðgangsins þíns
read:mutes: skoða hverja þú þaggar
read:notifications: sjá tilkynningarnar þínar
read:reports: skoða skýrslurnar þína

View File

@ -135,6 +135,7 @@ it:
media: Allegati multimediali
mutes: Silenziati
notifications: Notifiche
profile: Il tuo profilo Mastodon
push: Notifiche push
reports: Segnalazioni
search: Cerca
@ -165,6 +166,7 @@ it:
admin:write:reports: eseguire azioni di moderazione sulle segnalazioni
crypto: utilizzare la crittografia end-to-end
follow: modifica le relazioni tra profili
profile: leggi solo le informazioni sul profilo del tuo account
push: ricevere le tue notifiche push
read: leggere tutti i dati del tuo profilo
read:accounts: visualizzare le informazioni sui profili
@ -174,7 +176,6 @@ it:
read:filters: visualizzare i tuoi filtri
read:follows: visualizzare i tuoi seguiti
read:lists: visualizzare i tuoi elenchi
read:me: leggi solo le informazioni di base del tuo account
read:mutes: visualizzare i tuoi silenziamenti
read:notifications: visualizzare le tue notifiche
read:reports: visualizzare le tue segnalazioni

View File

@ -174,7 +174,6 @@ ja:
read:filters: フィルターの読み取り
read:follows: フォローの読み取り
read:lists: リストの読み取り
read:me: 自分のアカウントの基本的な情報の読み取りのみ
read:mutes: ミュートの読み取り
read:notifications: 通知の読み取り
read:reports: 通報の読み取り

View File

@ -135,6 +135,7 @@ ko:
media: 첨부된 미디어
mutes: 뮤트
notifications: 알림
profile: 내 마스토돈 프로필
push: 푸시 알림
reports: 신고
search: 검색
@ -165,6 +166,7 @@ ko:
admin:write:reports: 신고에 모더레이션 조치 취하기
crypto: 종단간 암호화 사용
follow: 계정 관계 수정
profile: 내 계정의 프로필 정보만을 읽습니다
push: 푸시 알림 받기
read: 계정의 모든 데이터 읽기
read:accounts: 계정 정보 보기
@ -174,7 +176,6 @@ ko:
read:filters: 필터 보기
read:follows: 팔로우 보기
read:lists: 리스트 보기
read:me: 내 계정의 기본 정보만을 읽습니다
read:mutes: 뮤트 보기
read:notifications: 알림 보기
read:reports: 신고 보기

View File

@ -174,7 +174,6 @@ lt:
read:filters: matyti tavo filtrus
read:follows: matyti tavo sekimus
read:lists: matyti tavo sąrašus
read:me: skaityti tik pagrindinę paskyros informaciją
read:mutes: matyti tavo nutildymus
read:notifications: matyti tavo pranešimus
read:reports: matyti tavo ataskaitas

View File

@ -174,7 +174,6 @@ lv:
read:filters: apskatīt savus filtrus
read:follows: apskatīt savus sekotājus
read:lists: apskatīt savus sarakstus
read:me: lasīt tikai Tava konta pamatinformāciju
read:mutes: apskatīt savus apklusinātos
read:notifications: apskatīt savus paziņojumus
read:reports: apskatīt savus pārskatus

View File

@ -135,6 +135,7 @@ nl:
media: Mediabijlagen
mutes: Negeren
notifications: Meldingen
profile: Jouw Mastodonprofiel
push: Pushmeldingen
reports: Rapportages
search: Zoeken
@ -165,6 +166,7 @@ nl:
admin:write:reports: moderatieacties op rapportages uitvoeren
crypto: end-to-end-encryptie gebruiken
follow: volgrelaties tussen accounts bewerken
profile: alleen de profielgegevens van jouw account lezen
push: jouw pushmeldingen ontvangen
read: alle gegevens van jouw account lezen
read:accounts: informatie accounts bekijken
@ -174,7 +176,6 @@ nl:
read:filters: jouw filters bekijken
read:follows: de accounts die jij volgt bekijken
read:lists: jouw lijsten bekijken
read:me: alleen de basisgegevens van jouw account lezen
read:mutes: jouw genegeerde gebruikers bekijken
read:notifications: jouw meldingen bekijken
read:reports: jouw gerapporteerde berichten bekijken

View File

@ -174,7 +174,6 @@ nn:
read:filters: sjå filtera dine
read:follows: sjå fylgjarane dine
read:lists: sjå listene dine
read:me: les berre kontoen din sin grunnleggjande informasjon
read:mutes: sjå kven du har målbunde
read:notifications: sjå varsla dine
read:reports: sjå rapportane dine

View File

@ -135,6 +135,7 @@ pl:
media: Załączniki multimedialne
mutes: Wyciszenia
notifications: Powiadomienia
profile: Twój profil
push: Powiadomienia push
reports: Zgłoszenia
search: Szukaj
@ -165,6 +166,7 @@ pl:
admin:write:reports: wykonaj działania moderacyjne na zgłoszeniach
crypto: użyj szyfrowania end-to-end
follow: możliwość zarządzania relacjami kont
profile: odczytaj tylko informacje o profilu
push: otrzymywanie powiadomień push dla Twojego konta
read: możliwość odczytu wszystkich danych konta
read:accounts: dostęp do informacji o koncie
@ -174,7 +176,6 @@ pl:
read:filters: dostęp do filtrów
read:follows: dostęp do listy obserwowanych
read:lists: dostęp do Twoich list
read:me: odczytaj tylko podstawowe informacje o koncie
read:mutes: dostęp do listy wyciszonych
read:notifications: możliwość odczytu powiadomień
read:reports: dostęp do Twoich zgłoszeń

View File

@ -174,7 +174,6 @@ pt-BR:
read:filters: ver seus filtros
read:follows: ver quem você segue
read:lists: ver suas listas
read:me: ler só as informações básicas da sua conta
read:mutes: ver seus silenciados
read:notifications: ver suas notificações
read:reports: ver suas denúncias

View File

@ -135,6 +135,7 @@ pt-PT:
media: Anexos de media
mutes: Silenciados
notifications: Notificações
profile: O seu perfil Mastodon
push: Notificações push
reports: Denúncias
search: Pesquisa
@ -165,6 +166,7 @@ pt-PT:
admin:write:reports: executar ações de moderação em denúncias
crypto: usa encriptação ponta-a-ponta
follow: siga, bloqueie, desbloqueie, e deixa de seguir contas
profile: apenas ler as informações do perfil da sua conta
push: receber as suas notificações push
read: tenha acesso aos dados da tua conta
read:accounts: ver as informações da conta
@ -174,7 +176,6 @@ pt-PT:
read:filters: ver os seus filtros
read:follows: ver quem você segue
read:lists: ver as suas listas
read:me: ler apenas as informações básicas da sua conta
read:mutes: ver os utilizadores que silenciou
read:notifications: ver as suas notificações
read:reports: ver as suas denúncias

View File

@ -174,7 +174,6 @@ sl:
read:filters: oglejte si svoje filtre
read:follows: oglejte si svoje sledilce
read:lists: oglejte si svoje sezname
read:me: preberi le osnovne podatke računa
read:mutes: oglejte si svoje utišane
read:notifications: oglejte si svoja obvestila
read:reports: oglejte si svoje prijave

View File

@ -135,6 +135,7 @@ sq:
media: Bashkëngjitje media
mutes: Heshtime
notifications: Njoftime
profile: Profili juaj Mastodon
push: Njoftime Push
reports: Raportime
search: Kërkim
@ -165,6 +166,7 @@ sq:
admin:write:reports: të kryejë veprime moderimi në raportime
crypto: përdor fshehtëzim skaj-më-skaj
follow: të ndryshojë marrëdhënie llogarish
profile: të lexojë vetëm hollësi profili llogarie tuaj
push: të marrë njoftime push për ju
read: të lexojë krejt të dhënat e llogarisë tuaj
read:accounts: të shohë hollësi llogarish
@ -174,7 +176,6 @@ sq:
read:filters: të shohë filtrat tuaj
read:follows: të shohë ndjekësit tuaj
read:lists: të shohë listat tuaja
read:me: të shohë vetëm hollësi elementare të llogarisë tuaj
read:mutes: të shohë çkeni heshtuar
read:notifications: të shohë njoftimet tuaja
read:reports: të shohë raportimet tuaja

View File

@ -135,6 +135,7 @@ sr-Latn:
media: Multimedijalni prilozi
mutes: Ignorisani
notifications: Obaveštenja
profile: Vaš Mastodon profil
push: Prosleđena obaveštenja
reports: Prijave
search: Pretraga
@ -165,6 +166,7 @@ sr-Latn:
admin:write:reports: vršenje moderatorskih aktivnosti nad izveštajima
crypto: korišćenje end-to-end enkripcije
follow: menja odnose naloga
profile: čita samo informacije o profilu vašeg naloga
push: primanje prosleđenih obaveštenja
read: čita podatke Vašeg naloga
read:accounts: pogledaj informacije o nalozima
@ -174,7 +176,6 @@ sr-Latn:
read:filters: pogledaj svoje filtere
read:follows: pogledaj koga pratiš
read:lists: pogledaj svoje liste
read:me: čita samo osnovne informacije o vašem nalogu
read:mutes: pogledaj ignorisanja
read:notifications: pogledaj svoja obaveštenja
read:reports: pogledaj svoje prijave

View File

@ -135,6 +135,7 @@ sr:
media: Мултимедијални прилози
mutes: Игнорисани
notifications: Обавештења
profile: Ваш Mastodon профил
push: Прослеђена обавештења
reports: Пријаве
search: Претрага
@ -165,6 +166,7 @@ sr:
admin:write:reports: вршење модераторских активности над извештајима
crypto: коришћење end-to-end енкрипције
follow: мења односе налога
profile: чита само информације о профилу вашег налога
push: примање прослеђених обавештења
read: чита податке Вашег налога
read:accounts: погледај информације о налозима
@ -174,7 +176,6 @@ sr:
read:filters: погледај своје филтере
read:follows: погледај кога пратиш
read:lists: погледај своје листе
read:me: чита само основне информације о вашем налогу
read:mutes: погледај игнорисања
read:notifications: погледај своја обавештења
read:reports: погледај своје пријаве

View File

@ -174,7 +174,6 @@ sv:
read:filters: se dina filter
read:follows: se vem du följer
read:lists: se dina listor
read:me: läs endast den grundläggande informationen för ditt konto
read:mutes: se dina tystningar
read:notifications: se dina notiser
read:reports: se dina rapporter

View File

@ -174,7 +174,6 @@ th:
read:filters: ดูตัวกรองของคุณ
read:follows: ดูการติดตามของคุณ
read:lists: ดูรายการของคุณ
read:me: อ่านเฉพาะข้อมูลพื้นฐานของบัญชีของคุณเท่านั้น
read:mutes: ดูการซ่อนของคุณ
read:notifications: ดูการแจ้งเตือนของคุณ
read:reports: ดูรายงานของคุณ

View File

@ -135,6 +135,7 @@ tr:
media: Medya ekleri
mutes: Sessize alınanlar
notifications: Bildirimler
profile: Mastodon profiliniz
push: Anlık bildirimler
reports: Şikayetler
search: Arama
@ -165,6 +166,7 @@ tr:
admin:write:reports: raporlarda denetleme eylemleri gerçekleştirin
crypto: uçtan uca şifreleme kullan
follow: hesap ilişkilerini değiştirin
profile: hesabınızın sadece profil bilgilerini okuma
push: anlık bildirimlerizi alın
read: hesabınızın tüm verilerini okuyun
read:accounts: hesap bilgilerini görün
@ -174,7 +176,6 @@ tr:
read:filters: süzgeçlerinizi görün
read:follows: takip ettiklerinizi görün
read:lists: listelerinizi görün
read:me: hesabınızın sadece temel bilgilerini okuma
read:mutes: sessize aldıklarınızı görün
read:notifications: bildirimlerinizi görün
read:reports: raporlarınızı görün

View File

@ -135,6 +135,7 @@ uk:
media: Мультимедійні вкладення
mutes: Нехтувані
notifications: Сповіщення
profile: Ваш профіль Mastodon
push: Push-сповіщення
reports: Скарги
search: Пошук
@ -171,6 +172,7 @@ uk:
admin:write:reports: модерувати скарги
crypto: використовувати наскрізне шифрування
follow: змінювати стосунки облікового запису
profile: читати лише інформацію профілю вашого облікового запису
push: отримувати Ваші Push-повідомлення
read: читати усі дані вашого облікового запису
read:accounts: бачити інформацію про облікові записи
@ -180,7 +182,6 @@ uk:
read:filters: бачити Ваші фільтри
read:follows: бачити Ваші підписки
read:lists: бачити Ваші списки
read:me: читайте лише основну інформацію вашого облікового запису
read:mutes: бачити ваші нехтування
read:notifications: бачити Ваші сповіщення
read:reports: бачити Ваші скарги

View File

@ -174,7 +174,6 @@ vi:
read:filters: xem bộ lọc
read:follows: xem những người theo dõi
read:lists: xem danh sách
read:me: chỉ đọc thông tin cơ bản tài khoản
read:mutes: xem những người đã ẩn
read:notifications: xem thông báo
read:reports: xem báo cáo của bạn

View File

@ -135,6 +135,7 @@ zh-CN:
media: 媒体文件
mutes: 已被隐藏的
notifications: 通知
profile: 你的 Mastodon 个人资料
push: 推送通知
reports: 举报
search: 搜索
@ -165,6 +166,7 @@ zh-CN:
admin:write:reports: 对举报执行管理操作
crypto: 使用端到端加密
follow: 关注或屏蔽用户
profile: 仅读取你账户中的个人资料信息
push: 接收你的账户的推送通知
read: 读取你的账户数据
read:accounts: 查看账号信息
@ -174,7 +176,6 @@ zh-CN:
read:filters: 查看你的过滤器
read:follows: 查看你的关注
read:lists: 查看你的列表
read:me: 只读取你账户的基本信息
read:mutes: 查看你的隐藏列表
read:notifications: 查看你的通知
read:reports: 查看你的举报

View File

@ -174,7 +174,6 @@ zh-HK:
read:filters: 檢視你的過濾條件
read:follows: 檢視你關注的人
read:lists: 檢視你的清單
read:me: 僅讀取帳號的基本資訊
read:mutes: 檢視被你靜音的人
read:notifications: 檢視你的通知
read:reports: 檢視你的檢舉

View File

@ -135,6 +135,7 @@ zh-TW:
media: 多媒體附加檔案
mutes: 靜音
notifications: 通知
profile: 您 Mastodon 個人檔案
push: 推播通知
reports: 檢舉報告
search: 搜尋
@ -165,6 +166,7 @@ zh-TW:
admin:write:reports: 對報告進行管理動作
crypto: 使用端到端加密
follow: 修改帳號關係
profile: 僅讀取您的帳號個人檔案資訊
push: 接收帳號的推播通知
read: 讀取您所有的帳號資料
read:accounts: 檢視帳號資訊
@ -174,7 +176,6 @@ zh-TW:
read:filters: 檢視您的過濾條件
read:follows: 檢視您跟隨之使用者
read:lists: 檢視您的列表
read:me: 僅讀取您的帳號基本資訊
read:mutes: 檢視您靜音的人
read:notifications: 檢視您的通知
read:reports: 檢視您的檢舉

View File

@ -0,0 +1,7 @@
# frozen_string_literal: true
class ChangeMentionStatusIdNonNullable < ActiveRecord::Migration[7.1]
def change
add_check_constraint :mentions, 'status_id IS NOT NULL', name: 'mentions_status_id_null', validate: false
end
end

View File

@ -0,0 +1,14 @@
# frozen_string_literal: true
class ValidateChangeMentionStatusIdNonNullable < ActiveRecord::Migration[7.1]
def up
validate_check_constraint :mentions, name: 'mentions_status_id_null'
change_column_null :mentions, :status_id, false
remove_check_constraint :mentions, name: 'mentions_status_id_null'
end
def down
add_check_constraint :mentions, 'status_id IS NOT NULL', name: 'mentions_status_id_null', validate: false
change_column_null :mentions, :status_id, true
end
end

View File

@ -0,0 +1,7 @@
# frozen_string_literal: true
class ChangeMentionAccountIdNonNullable < ActiveRecord::Migration[7.1]
def change
add_check_constraint :mentions, 'account_id IS NOT NULL', name: 'mentions_account_id_null', validate: false
end
end

View File

@ -0,0 +1,14 @@
# frozen_string_literal: true
class ValidateChangeMentionAccountIdNonNullable < ActiveRecord::Migration[7.1]
def up
validate_check_constraint :mentions, name: 'mentions_account_id_null'
change_column_null :mentions, :account_id, false
remove_check_constraint :mentions, name: 'mentions_account_id_null'
end
def down
add_check_constraint :mentions, 'account_id IS NOT NULL', name: 'mentions_account_id_null', validate: false
change_column_null :mentions, :account_id, true
end
end

View File

@ -10,7 +10,7 @@
#
# It's strongly recommended that you check this file into your version control system.
ActiveRecord::Schema[7.1].define(version: 2024_06_03_195202) do
ActiveRecord::Schema[7.1].define(version: 2024_06_07_094856) do
# These are extensions that must be enabled in order to support this database
enable_extension "plpgsql"
@ -661,10 +661,10 @@ ActiveRecord::Schema[7.1].define(version: 2024_06_03_195202) do
end
create_table "mentions", force: :cascade do |t|
t.bigint "status_id"
t.bigint "status_id", null: false
t.datetime "created_at", precision: nil, null: false
t.datetime "updated_at", precision: nil, null: false
t.bigint "account_id"
t.bigint "account_id", null: false
t.boolean "silent", default: false, null: false
t.index ["account_id", "status_id"], name: "index_mentions_on_account_id_and_status_id", unique: true
t.index ["status_id"], name: "index_mentions_on_status_id"

View File

@ -13,6 +13,7 @@ module Mastodon::CLI
option :remove_headers, type: :boolean, default: false
option :include_follows, type: :boolean, default: false
option :concurrency, type: :numeric, default: 5, aliases: [:c]
option :verbose, type: :boolean, default: false, aliases: [:v]
option :dry_run, type: :boolean, default: false
desc 'remove', 'Remove remote media files, headers or avatars'
long_desc <<-DESC

View File

@ -12,6 +12,8 @@ module Paperclip
attachment.instance.blurhash = Blurhash.encode(width, height, data, **(options[:blurhash] || {}))
@file
rescue Vips::Error => e
raise Paperclip::Error, "Error while generating blurhash for #{@basename}: #{e}"
end
private

View File

@ -69,6 +69,8 @@ module Paperclip
attachment.instance.file.instance_write(:meta, (attachment.instance.file.instance_read(:meta) || {}).merge(meta))
@file
rescue Vips::Error => e
raise Paperclip::Error, "Error while extracting colors for #{@basename}: #{e}"
end
private

View File

@ -68,7 +68,7 @@ module Paperclip
end
dst
rescue Terrapin::ExitStatusError => e
rescue Vips::Error, Terrapin::ExitStatusError => e
raise Paperclip::Error, "Error while optimizing #{@basename}: #{e}"
rescue Terrapin::CommandNotFoundError
raise Paperclip::Errors::CommandNotFoundError, 'Could not run the `ffmpeg` command. Please install ffmpeg.'

View File

@ -69,20 +69,22 @@ RSpec.describe Admin::AccountAction do
end
end
it 'sends notification, log the action, and closes other reports', :aggregate_failures do
other_report = Fabricate(:report, target_account: target_account)
emails = []
expect do
emails = capture_emails { subject }
end.to (change(Admin::ActionLog.where(action: type), :count).by 1)
.and(change { other_report.reload.action_taken? }.from(false).to(true))
it 'sends email to target account user', :sidekiq_inline do
emails = capture_emails { subject }
expect(emails).to contain_exactly(
have_attributes(
to: contain_exactly(target_account.user.email)
)
)
end
it 'sends notification, log the action, and closes other reports', :aggregate_failures do
other_report = Fabricate(:report, target_account: target_account)
expect { subject }
.to (change(Admin::ActionLog.where(action: type), :count).by 1)
.and(change { other_report.reload.action_taken? }.from(false).to(true))
expect(LocalNotificationWorker).to have_enqueued_sidekiq_job(target_account.id, anything, 'AccountWarning', 'moderation_warning')
end

View File

@ -2,7 +2,7 @@
require 'rails_helper'
RSpec.describe CustomEmoji do
RSpec.describe CustomEmoji, :paperclip_processing do
describe '#search' do
subject { described_class.search(search_term) }

View File

@ -10,10 +10,16 @@ RSpec.describe 'Account actions' do
let(:headers) { { 'Authorization' => "Bearer #{token.token}" } }
shared_examples 'a successful notification delivery' do
it 'notifies the user about the action taken' do
expect { subject }
.to have_enqueued_job(ActionMailer::MailDeliveryJob)
.with('UserMailer', 'warning', 'deliver_now!', args: [User, AccountWarning])
it 'notifies the user about the action taken', :sidekiq_inline do
emails = capture_emails { subject }
expect(emails.size)
.to eq(1)
expect(emails.first)
.to have_attributes(
to: contain_exactly(target_account.user.email)
)
end
end

View File

@ -33,30 +33,28 @@ RSpec.describe 'Reports' do
it_behaves_like 'forbidden for wrong scope', 'read read:reports'
it 'creates a report', :aggregate_failures do
perform_enqueued_jobs do
emails = capture_emails { subject }
it 'creates a report', :aggregate_failures, :sidekiq_inline do
emails = capture_emails { subject }
expect(response).to have_http_status(200)
expect(body_as_json).to match(
a_hash_including(
status_ids: [status.id.to_s],
category: category,
comment: 'reasons'
)
expect(response).to have_http_status(200)
expect(body_as_json).to match(
a_hash_including(
status_ids: [status.id.to_s],
category: category,
comment: 'reasons'
)
)
expect(target_account.targeted_reports).to_not be_empty
expect(target_account.targeted_reports.first.comment).to eq 'reasons'
expect(target_account.targeted_reports).to_not be_empty
expect(target_account.targeted_reports.first.comment).to eq 'reasons'
expect(emails.size)
.to eq(1)
expect(emails.first)
.to have_attributes(
to: contain_exactly(admin.email),
subject: eq(I18n.t('admin_mailer.new_report.subject', instance: Rails.configuration.x.local_domain, id: target_account.targeted_reports.first.id))
)
end
expect(emails.size)
.to eq(1)
expect(emails.first)
.to have_attributes(
to: contain_exactly(admin.email),
subject: eq(I18n.t('admin_mailer.new_report.subject', instance: Rails.configuration.x.local_domain, id: target_account.targeted_reports.first.id))
)
end
context 'when a status does not belong to the reported account' do

View File

@ -2,7 +2,7 @@
require 'rails_helper'
RSpec.describe AppealService do
RSpec.describe AppealService, :sidekiq_inline do
describe '#call' do
let!(:admin) { Fabricate(:user, role: UserRole.find_by(name: 'Admin')) }