diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile
index 9d8fa2702d..a0dc24ee84 100644
--- a/.devcontainer/Dockerfile
+++ b/.devcontainer/Dockerfile
@@ -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
diff --git a/.devcontainer/codespaces/devcontainer.json b/.devcontainer/codespaces/devcontainer.json
index 6736734e60..c14d2c529a 100644
--- a/.devcontainer/codespaces/devcontainer.json
+++ b/.devcontainer/codespaces/devcontainer.json
@@ -23,6 +23,8 @@
}
},
+ "remoteUser": "root",
+
"otherPortsAttributes": {
"onAutoForward": "silent"
},
diff --git a/.devcontainer/docker-compose.yml b/.devcontainer/docker-compose.yml
index 85f9eb22cc..4d6eb3c487 100644
--- a/.devcontainer/docker-compose.yml
+++ b/.devcontainer/docker-compose.yml
@@ -5,7 +5,7 @@ services:
context: .
dockerfile: Dockerfile
volumes:
- - ../..:/workspaces:cached
+ - ..:/workspaces/mastodon:cached
environment:
RAILS_ENV: development
NODE_ENV: development
diff --git a/.devcontainer/welcome-message.txt b/.devcontainer/welcome-message.txt
index 488cf92857..dbc19c910c 100644
--- a/.devcontainer/welcome-message.txt
+++ b/.devcontainer/welcome-message.txt
@@ -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.
diff --git a/Gemfile b/Gemfile
index ca32d0cca1..136d074d33 100644
--- a/Gemfile
+++ b/Gemfile
@@ -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
diff --git a/Gemfile.lock b/Gemfile.lock
index bf5340a5b0..8ff990260b 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -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)
diff --git a/app/javascript/mastodon/locales/la.json b/app/javascript/mastodon/locales/la.json
index 48b2334008..a49ec94d72 100644
--- a/app/javascript/mastodon/locales/la.json
+++ b/app/javascript/mastodon/locales/la.json
@@ -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": "Scisne? 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": "Scisne? 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",
diff --git a/app/lib/video_metadata_extractor.rb b/app/lib/video_metadata_extractor.rb
index df5409375f..2155766251 100644
--- a/app/lib/video_metadata_extractor.rb
+++ b/app/lib/video_metadata_extractor.rb
@@ -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
diff --git a/app/models/custom_emoji.rb b/app/models/custom_emoji.rb
index bd641a8579..7ea50e85d8 100644
--- a/app/models/custom_emoji.rb
+++ b/app/models/custom_emoji.rb
@@ -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 }
diff --git a/app/models/mention.rb b/app/models/mention.rb
index 2348b2905c..af9bb7378b 100644
--- a/app/models/mention.rb
+++ b/app/models/mention.rb
@@ -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
#
diff --git a/app/serializers/rest/notification_group_serializer.rb b/app/serializers/rest/notification_group_serializer.rb
index 6c1d2465d2..05b51b07a5 100644
--- a/app/serializers/rest/notification_group_serializer.rb
+++ b/app/serializers/rest/notification_group_serializer.rb
@@ -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
diff --git a/bin/setup b/bin/setup
index 90700ac4f9..93c6981d0b 100755
--- a/bin/setup
+++ b/bin/setup
@@ -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'
diff --git a/config/environments/development.rb b/config/environments/development.rb
index a3254125c0..cc601bde3f 100644
--- a/config/environments/development.rb
+++ b/config/environments/development.rb
@@ -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
diff --git a/config/environments/test.rb b/config/environments/test.rb
index 49b0c1f303..716bf8d31f 100644
--- a/config/environments/test.rb
+++ b/config/environments/test.rb
@@ -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 = []
diff --git a/config/initializers/paperclip.rb b/config/initializers/paperclip.rb
index 5b9365a530..070d250bf3 100644
--- a/config/initializers/paperclip.rb
+++ b/config/initializers/paperclip.rb
@@ -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
diff --git a/config/locales/doorkeeper.be.yml b/config/locales/doorkeeper.be.yml
index 5f0536c8da..748cbeafa1 100644
--- a/config/locales/doorkeeper.be.yml
+++ b/config/locales/doorkeeper.be.yml
@@ -174,7 +174,6 @@ be:
read:filters: бачыць свае фільтры
read:follows: бачыць свае падпіскі
read:lists: бачыць свае спісы
- read:me: чытайце толькі базавую інфармацыю аб сваім уліковым запісе
read:mutes: бачыць свае ігнараванні
read:notifications: бачыць свае абвесткі
read:reports: бачыць свае скаргі
diff --git a/config/locales/doorkeeper.bg.yml b/config/locales/doorkeeper.bg.yml
index 7633156d78..dd53661827 100644
--- a/config/locales/doorkeeper.bg.yml
+++ b/config/locales/doorkeeper.bg.yml
@@ -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: преглед на вашите докладвания
diff --git a/config/locales/doorkeeper.br.yml b/config/locales/doorkeeper.br.yml
index 7b7f4155bd..119d8681f0 100644
--- a/config/locales/doorkeeper.br.yml
+++ b/config/locales/doorkeeper.br.yml
@@ -104,6 +104,7 @@ br:
lists: Listennoù
media: Restroù media stag
mutes: Kuzhet
+ profile: Ho profil Mastodon
search: Klask
statuses: Toudoù
layouts:
diff --git a/config/locales/doorkeeper.ca.yml b/config/locales/doorkeeper.ca.yml
index 80827a87da..0323656dab 100644
--- a/config/locales/doorkeeper.ca.yml
+++ b/config/locales/doorkeeper.ca.yml
@@ -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
diff --git a/config/locales/doorkeeper.cs.yml b/config/locales/doorkeeper.cs.yml
index 9719a9a246..be2a4d971a 100644
--- a/config/locales/doorkeeper.cs.yml
+++ b/config/locales/doorkeeper.cs.yml
@@ -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í
diff --git a/config/locales/doorkeeper.cy.yml b/config/locales/doorkeeper.cy.yml
index 88cd2b9d53..e79aa0359f 100644
--- a/config/locales/doorkeeper.cy.yml
+++ b/config/locales/doorkeeper.cy.yml
@@ -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
diff --git a/config/locales/doorkeeper.da.yml b/config/locales/doorkeeper.da.yml
index ed10e14e24..d462f43d3b 100644
--- a/config/locales/doorkeeper.da.yml
+++ b/config/locales/doorkeeper.da.yml
@@ -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
diff --git a/config/locales/doorkeeper.de.yml b/config/locales/doorkeeper.de.yml
index 80d612255b..f303aa23a2 100644
--- a/config/locales/doorkeeper.de.yml
+++ b/config/locales/doorkeeper.de.yml
@@ -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
diff --git a/config/locales/doorkeeper.en-GB.yml b/config/locales/doorkeeper.en-GB.yml
index 2e537c5301..b3ceffb13f 100644
--- a/config/locales/doorkeeper.en-GB.yml
+++ b/config/locales/doorkeeper.en-GB.yml
@@ -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
diff --git a/config/locales/doorkeeper.es-AR.yml b/config/locales/doorkeeper.es-AR.yml
index 47cfc451aa..0b04696b6a 100644
--- a/config/locales/doorkeeper.es-AR.yml
+++ b/config/locales/doorkeeper.es-AR.yml
@@ -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
diff --git a/config/locales/doorkeeper.es-MX.yml b/config/locales/doorkeeper.es-MX.yml
index e56e0df3ba..54386c4c33 100644
--- a/config/locales/doorkeeper.es-MX.yml
+++ b/config/locales/doorkeeper.es-MX.yml
@@ -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
diff --git a/config/locales/doorkeeper.es.yml b/config/locales/doorkeeper.es.yml
index 44e165a215..9be036a1d4 100644
--- a/config/locales/doorkeeper.es.yml
+++ b/config/locales/doorkeeper.es.yml
@@ -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
diff --git a/config/locales/doorkeeper.eu.yml b/config/locales/doorkeeper.eu.yml
index 88a63f698b..e7963672fa 100644
--- a/config/locales/doorkeeper.eu.yml
+++ b/config/locales/doorkeeper.eu.yml
@@ -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
diff --git a/config/locales/doorkeeper.fi.yml b/config/locales/doorkeeper.fi.yml
index ae8963c76f..b028c10a82 100644
--- a/config/locales/doorkeeper.fi.yml
+++ b/config/locales/doorkeeper.fi.yml
@@ -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
diff --git a/config/locales/doorkeeper.fo.yml b/config/locales/doorkeeper.fo.yml
index 4f5cc5a645..bd9457b620 100644
--- a/config/locales/doorkeeper.fo.yml
+++ b/config/locales/doorkeeper.fo.yml
@@ -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
diff --git a/config/locales/doorkeeper.fy.yml b/config/locales/doorkeeper.fy.yml
index 51f0055ff6..a43defc427 100644
--- a/config/locales/doorkeeper.fy.yml
+++ b/config/locales/doorkeeper.fy.yml
@@ -174,7 +174,6 @@ fy:
read:filters: jo filters besjen
read:follows: de accounts dy’tsto 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
diff --git a/config/locales/doorkeeper.gl.yml b/config/locales/doorkeeper.gl.yml
index d34c58decc..e86babd64c 100644
--- a/config/locales/doorkeeper.gl.yml
+++ b/config/locales/doorkeeper.gl.yml
@@ -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
diff --git a/config/locales/doorkeeper.he.yml b/config/locales/doorkeeper.he.yml
index a6376fa4c1..7a664c486e 100644
--- a/config/locales/doorkeeper.he.yml
+++ b/config/locales/doorkeeper.he.yml
@@ -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: צפיה בדוחותיך
diff --git a/config/locales/doorkeeper.hu.yml b/config/locales/doorkeeper.hu.yml
index 28ce283ffa..b2e51a47c1 100644
--- a/config/locales/doorkeeper.hu.yml
+++ b/config/locales/doorkeeper.hu.yml
@@ -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
diff --git a/config/locales/doorkeeper.ia.yml b/config/locales/doorkeeper.ia.yml
index 40109a311c..5b99abb7b4 100644
--- a/config/locales/doorkeeper.ia.yml
+++ b/config/locales/doorkeeper.ia.yml
@@ -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
diff --git a/config/locales/doorkeeper.ie.yml b/config/locales/doorkeeper.ie.yml
index fc8132c926..0119f3573f 100644
--- a/config/locales/doorkeeper.ie.yml
+++ b/config/locales/doorkeeper.ie.yml
@@ -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
diff --git a/config/locales/doorkeeper.is.yml b/config/locales/doorkeeper.is.yml
index 995d507f5b..84a4d38954 100644
--- a/config/locales/doorkeeper.is.yml
+++ b/config/locales/doorkeeper.is.yml
@@ -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
diff --git a/config/locales/doorkeeper.it.yml b/config/locales/doorkeeper.it.yml
index f39f784665..f5df14deac 100644
--- a/config/locales/doorkeeper.it.yml
+++ b/config/locales/doorkeeper.it.yml
@@ -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
diff --git a/config/locales/doorkeeper.ja.yml b/config/locales/doorkeeper.ja.yml
index af61dbdcb7..62f2a3eb0a 100644
--- a/config/locales/doorkeeper.ja.yml
+++ b/config/locales/doorkeeper.ja.yml
@@ -174,7 +174,6 @@ ja:
read:filters: フィルターの読み取り
read:follows: フォローの読み取り
read:lists: リストの読み取り
- read:me: 自分のアカウントの基本的な情報の読み取りのみ
read:mutes: ミュートの読み取り
read:notifications: 通知の読み取り
read:reports: 通報の読み取り
diff --git a/config/locales/doorkeeper.ko.yml b/config/locales/doorkeeper.ko.yml
index 12674cc125..3ab0698d51 100644
--- a/config/locales/doorkeeper.ko.yml
+++ b/config/locales/doorkeeper.ko.yml
@@ -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: 신고 보기
diff --git a/config/locales/doorkeeper.lt.yml b/config/locales/doorkeeper.lt.yml
index 82695d8ba6..5c2e4fd4e0 100644
--- a/config/locales/doorkeeper.lt.yml
+++ b/config/locales/doorkeeper.lt.yml
@@ -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
diff --git a/config/locales/doorkeeper.lv.yml b/config/locales/doorkeeper.lv.yml
index 2005ce3c79..5aa5daef3f 100644
--- a/config/locales/doorkeeper.lv.yml
+++ b/config/locales/doorkeeper.lv.yml
@@ -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
diff --git a/config/locales/doorkeeper.nl.yml b/config/locales/doorkeeper.nl.yml
index 9554c0ee6f..4115e0a17e 100644
--- a/config/locales/doorkeeper.nl.yml
+++ b/config/locales/doorkeeper.nl.yml
@@ -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
diff --git a/config/locales/doorkeeper.nn.yml b/config/locales/doorkeeper.nn.yml
index ab0380c6fa..0e5d1ca455 100644
--- a/config/locales/doorkeeper.nn.yml
+++ b/config/locales/doorkeeper.nn.yml
@@ -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
diff --git a/config/locales/doorkeeper.pl.yml b/config/locales/doorkeeper.pl.yml
index eefca2de65..a18a86e979 100644
--- a/config/locales/doorkeeper.pl.yml
+++ b/config/locales/doorkeeper.pl.yml
@@ -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ń
diff --git a/config/locales/doorkeeper.pt-BR.yml b/config/locales/doorkeeper.pt-BR.yml
index 150b4339e4..d7e9353b59 100644
--- a/config/locales/doorkeeper.pt-BR.yml
+++ b/config/locales/doorkeeper.pt-BR.yml
@@ -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
diff --git a/config/locales/doorkeeper.pt-PT.yml b/config/locales/doorkeeper.pt-PT.yml
index 0457190cda..f03cee6b3a 100644
--- a/config/locales/doorkeeper.pt-PT.yml
+++ b/config/locales/doorkeeper.pt-PT.yml
@@ -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
diff --git a/config/locales/doorkeeper.sl.yml b/config/locales/doorkeeper.sl.yml
index 55e00ff96d..a613308b28 100644
--- a/config/locales/doorkeeper.sl.yml
+++ b/config/locales/doorkeeper.sl.yml
@@ -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
diff --git a/config/locales/doorkeeper.sq.yml b/config/locales/doorkeeper.sq.yml
index 793819c597..de34154067 100644
--- a/config/locales/doorkeeper.sq.yml
+++ b/config/locales/doorkeeper.sq.yml
@@ -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
diff --git a/config/locales/doorkeeper.sr-Latn.yml b/config/locales/doorkeeper.sr-Latn.yml
index 58ed5e8b68..6445353c1a 100644
--- a/config/locales/doorkeeper.sr-Latn.yml
+++ b/config/locales/doorkeeper.sr-Latn.yml
@@ -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
diff --git a/config/locales/doorkeeper.sr.yml b/config/locales/doorkeeper.sr.yml
index f40a05e90d..feb0fec3e5 100644
--- a/config/locales/doorkeeper.sr.yml
+++ b/config/locales/doorkeeper.sr.yml
@@ -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: погледај своје пријаве
diff --git a/config/locales/doorkeeper.sv.yml b/config/locales/doorkeeper.sv.yml
index d336f08c56..f2c8bd34b8 100644
--- a/config/locales/doorkeeper.sv.yml
+++ b/config/locales/doorkeeper.sv.yml
@@ -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
diff --git a/config/locales/doorkeeper.th.yml b/config/locales/doorkeeper.th.yml
index 8a28566a0d..067e065588 100644
--- a/config/locales/doorkeeper.th.yml
+++ b/config/locales/doorkeeper.th.yml
@@ -174,7 +174,6 @@ th:
read:filters: ดูตัวกรองของคุณ
read:follows: ดูการติดตามของคุณ
read:lists: ดูรายการของคุณ
- read:me: อ่านเฉพาะข้อมูลพื้นฐานของบัญชีของคุณเท่านั้น
read:mutes: ดูการซ่อนของคุณ
read:notifications: ดูการแจ้งเตือนของคุณ
read:reports: ดูรายงานของคุณ
diff --git a/config/locales/doorkeeper.tr.yml b/config/locales/doorkeeper.tr.yml
index f5ebbc5fd8..330449b1b5 100644
--- a/config/locales/doorkeeper.tr.yml
+++ b/config/locales/doorkeeper.tr.yml
@@ -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
diff --git a/config/locales/doorkeeper.uk.yml b/config/locales/doorkeeper.uk.yml
index ac7fbbe15d..ca54fcb65a 100644
--- a/config/locales/doorkeeper.uk.yml
+++ b/config/locales/doorkeeper.uk.yml
@@ -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: бачити Ваші скарги
diff --git a/config/locales/doorkeeper.vi.yml b/config/locales/doorkeeper.vi.yml
index 624db9aff7..7f1c5430ed 100644
--- a/config/locales/doorkeeper.vi.yml
+++ b/config/locales/doorkeeper.vi.yml
@@ -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
diff --git a/config/locales/doorkeeper.zh-CN.yml b/config/locales/doorkeeper.zh-CN.yml
index 73f1f9725c..18477bc845 100644
--- a/config/locales/doorkeeper.zh-CN.yml
+++ b/config/locales/doorkeeper.zh-CN.yml
@@ -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: 查看你的举报
diff --git a/config/locales/doorkeeper.zh-HK.yml b/config/locales/doorkeeper.zh-HK.yml
index 76d13a74a5..79629b12fe 100644
--- a/config/locales/doorkeeper.zh-HK.yml
+++ b/config/locales/doorkeeper.zh-HK.yml
@@ -174,7 +174,6 @@ zh-HK:
read:filters: 檢視你的過濾條件
read:follows: 檢視你關注的人
read:lists: 檢視你的清單
- read:me: 僅讀取帳號的基本資訊
read:mutes: 檢視被你靜音的人
read:notifications: 檢視你的通知
read:reports: 檢視你的檢舉
diff --git a/config/locales/doorkeeper.zh-TW.yml b/config/locales/doorkeeper.zh-TW.yml
index 86827a7122..d12651a648 100644
--- a/config/locales/doorkeeper.zh-TW.yml
+++ b/config/locales/doorkeeper.zh-TW.yml
@@ -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: 檢視您的檢舉
diff --git a/db/migrate/20240607093446_change_mention_status_id_non_nullable.rb b/db/migrate/20240607093446_change_mention_status_id_non_nullable.rb
new file mode 100644
index 0000000000..b6ee4d318f
--- /dev/null
+++ b/db/migrate/20240607093446_change_mention_status_id_non_nullable.rb
@@ -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
diff --git a/db/migrate/20240607093954_validate_change_mention_status_id_non_nullable.rb b/db/migrate/20240607093954_validate_change_mention_status_id_non_nullable.rb
new file mode 100644
index 0000000000..bd3d9a33a6
--- /dev/null
+++ b/db/migrate/20240607093954_validate_change_mention_status_id_non_nullable.rb
@@ -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
diff --git a/db/migrate/20240607094603_change_mention_account_id_non_nullable.rb b/db/migrate/20240607094603_change_mention_account_id_non_nullable.rb
new file mode 100644
index 0000000000..72d7bf2447
--- /dev/null
+++ b/db/migrate/20240607094603_change_mention_account_id_non_nullable.rb
@@ -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
diff --git a/db/migrate/20240607094856_validate_change_mention_account_id_non_nullable.rb b/db/migrate/20240607094856_validate_change_mention_account_id_non_nullable.rb
new file mode 100644
index 0000000000..1125dffb39
--- /dev/null
+++ b/db/migrate/20240607094856_validate_change_mention_account_id_non_nullable.rb
@@ -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
diff --git a/db/schema.rb b/db/schema.rb
index 8e45142bac..a3c4f0408a 100644
--- a/db/schema.rb
+++ b/db/schema.rb
@@ -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"
diff --git a/lib/mastodon/cli/media.rb b/lib/mastodon/cli/media.rb
index 509d11a819..123973d195 100644
--- a/lib/mastodon/cli/media.rb
+++ b/lib/mastodon/cli/media.rb
@@ -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
diff --git a/lib/paperclip/blurhash_transcoder.rb b/lib/paperclip/blurhash_transcoder.rb
index e9cecef50c..150275bc9e 100644
--- a/lib/paperclip/blurhash_transcoder.rb
+++ b/lib/paperclip/blurhash_transcoder.rb
@@ -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
diff --git a/lib/paperclip/color_extractor.rb b/lib/paperclip/color_extractor.rb
index b5992f90bc..0f168d233b 100644
--- a/lib/paperclip/color_extractor.rb
+++ b/lib/paperclip/color_extractor.rb
@@ -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
diff --git a/lib/paperclip/vips_lazy_thumbnail.rb b/lib/paperclip/vips_lazy_thumbnail.rb
index 06d99bf79d..4764b04af8 100644
--- a/lib/paperclip/vips_lazy_thumbnail.rb
+++ b/lib/paperclip/vips_lazy_thumbnail.rb
@@ -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.'
diff --git a/spec/models/admin/account_action_spec.rb b/spec/models/admin/account_action_spec.rb
index a9dcf352dc..e55db2f814 100644
--- a/spec/models/admin/account_action_spec.rb
+++ b/spec/models/admin/account_action_spec.rb
@@ -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
diff --git a/spec/models/custom_emoji_spec.rb b/spec/models/custom_emoji_spec.rb
index a0903e5978..038d1d0c6c 100644
--- a/spec/models/custom_emoji_spec.rb
+++ b/spec/models/custom_emoji_spec.rb
@@ -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) }
diff --git a/spec/requests/api/v1/admin/account_actions_spec.rb b/spec/requests/api/v1/admin/account_actions_spec.rb
index 4167911a13..778658508e 100644
--- a/spec/requests/api/v1/admin/account_actions_spec.rb
+++ b/spec/requests/api/v1/admin/account_actions_spec.rb
@@ -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
diff --git a/spec/requests/api/v1/reports_spec.rb b/spec/requests/api/v1/reports_spec.rb
index 94baf8cb98..9e8954a4c6 100644
--- a/spec/requests/api/v1/reports_spec.rb
+++ b/spec/requests/api/v1/reports_spec.rb
@@ -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
diff --git a/spec/services/appeal_service_spec.rb b/spec/services/appeal_service_spec.rb
index 10c0f148dc..3fad74db9d 100644
--- a/spec/services/appeal_service_spec.rb
+++ b/spec/services/appeal_service_spec.rb
@@ -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')) }