From e74e1efe1c2e8677d525582272cd7a3d2c4689f0 Mon Sep 17 00:00:00 2001
From: ilja
Date: Thu, 26 Jan 2023 09:09:02 +0100
Subject: [PATCH 01/36] Change docs README for new way of building docs
Docs used to be a separate repo who cloned pleroma and pelroma-fe.
Now the docs are just the BE docs and completely part of the Akkoma repo.
I moved back to using venv because that's what I used and cleaner imo since it keeps everything nice in the repo.
(Iirc virtualenv stored things in the Home folder or smthng)
---
.gitignore | 1 +
docs/README.md | 46 ++++++++++++++++++++--------------------------
2 files changed, 21 insertions(+), 26 deletions(-)
diff --git a/.gitignore b/.gitignore
index 95b236af6..8821d8ce1 100644
--- a/.gitignore
+++ b/.gitignore
@@ -73,6 +73,7 @@ pleroma.iml
# Generated documentation
docs/site
+docs/venv
# docker stuff
docker-db
diff --git a/docs/README.md b/docs/README.md
index fcf043f56..a9a17a2ab 100644
--- a/docs/README.md
+++ b/docs/README.md
@@ -2,33 +2,27 @@
You don't need to build and test the docs as long as you make sure the syntax is correct. But in case you do want to build the docs, feel free to do so.
-You'll need to install mkdocs for which you can check the [mkdocs installation guide](https://www.mkdocs.org/#installation). Generally it's best to install it using `pip`. You'll also need to install the correct dependencies.
+```sh
+# Make sure you're in the same directory as this README
+# From the root of the Akkoma repo, you'll need to do
+cd docs
-### Example using a Debian based distro
+# Optionally use a virtual environment
+python3 -m venv venv
+source venv/bin/activate
-#### 1. Install pipenv and dependencies
+# Install dependencies
+pip install -r requirements.txt
-```shell
-pip install pipenv
-pipenv sync
+# Run an http server who rebuilds when files change
+# Accessable on http://127.0.0.1:8000
+mkdocs serve
+
+# Build the docs
+# The static html pages will have been created in the folder "site"
+# You can serve them from a server by pointing your server software (nginx, apache...) to this location
+mkdocs build
+
+# To get out of the virtual environment, you do
+deacivate
```
-
-#### 2. (Optional) Activate the virtual environment
-
-Since dependencies are installed in a virtual environment, you can't use them directly. To use them you should either prefix the command with `pipenv run`, or activate the virtual environment for current shell by executing `pipenv shell` once.
-
-#### 3. Build the docs using the script
-
-```shell
-[pipenv run] make all
-```
-
-#### 4. Serve the files
-
-A folder `site` containing the static html pages will have been created. You can serve them from a server by pointing your server software (nginx, apache...) to this location. During development, you can run locally with
-
-```shell
-[pipenv run] mkdocs serve
-```
-
-This handles setting up an http server and rebuilding when files change. You can then access the docs on
--
2.43.0
From 7f8932304f059a0a61f838520c213248c08169d1 Mon Sep 17 00:00:00 2001
From: ilja
Date: Thu, 2 Feb 2023 14:37:45 +0100
Subject: [PATCH 02/36] typo + remove unneeded file
---
Makefile | 7 -------
docs/README.md | 2 +-
2 files changed, 1 insertion(+), 8 deletions(-)
delete mode 100644 Makefile
diff --git a/Makefile b/Makefile
deleted file mode 100644
index bc8719e68..000000000
--- a/Makefile
+++ /dev/null
@@ -1,7 +0,0 @@
-all: install
- pipenv run mkdocs build
-
-install:
- pipenv install
-clean:
- rm -rf docs
diff --git a/docs/README.md b/docs/README.md
index a9a17a2ab..3da3d1967 100644
--- a/docs/README.md
+++ b/docs/README.md
@@ -24,5 +24,5 @@ mkdocs serve
mkdocs build
# To get out of the virtual environment, you do
-deacivate
+deactivate
```
--
2.43.0
From b4e37b03d81619bb17b9f698d7c9480be05e44b5 Mon Sep 17 00:00:00 2001
From: FloatingGhost
Date: Wed, 15 Feb 2023 22:08:55 +0000
Subject: [PATCH 03/36] use a slightly earlier alpine version
---
.woodpecker.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.woodpecker.yml b/.woodpecker.yml
index f478c13bd..99811441e 100644
--- a/.woodpecker.yml
+++ b/.woodpecker.yml
@@ -151,7 +151,7 @@ pipeline:
# Canonical amd64-musl
musl:
- image: hexpm/elixir:1.14.3-erlang-25.2.2-alpine-3.17.0
+ image: hexpm/elixir:1.14.3-erlang-25.2.2-alpine-3.15.6
<<: *on-stable
environment:
MIX_ENV: prod
--
2.43.0
From ef279ac53fecd684281b9e5df13a3e082c589aac Mon Sep 17 00:00:00 2001
From: FloatingGhost
Date: Wed, 15 Feb 2023 22:09:31 +0000
Subject: [PATCH 04/36] build musl on develop
---
.woodpecker.yml | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/.woodpecker.yml b/.woodpecker.yml
index 99811441e..49718d630 100644
--- a/.woodpecker.yml
+++ b/.woodpecker.yml
@@ -152,7 +152,7 @@ pipeline:
# Canonical amd64-musl
musl:
image: hexpm/elixir:1.14.3-erlang-25.2.2-alpine-3.15.6
- <<: *on-stable
+ <<: *on-release
environment:
MIX_ENV: prod
commands:
@@ -167,7 +167,7 @@ pipeline:
release-musl:
image: akkoma/releaser
- <<: *on-stable
+ <<: *on-release
secrets: *scw-secrets
commands:
- export SOURCE=akkoma-amd64-musl.zip
--
2.43.0
From 439ec4913793b306706b148a1a6b9d344d0bc1df Mon Sep 17 00:00:00 2001
From: flisk
Date: Sat, 18 Feb 2023 14:37:12 +0100
Subject: [PATCH 05/36] update backwards compat notice in admin_api.md
---
docs/docs/development/API/admin_api.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/docs/docs/development/API/admin_api.md b/docs/docs/development/API/admin_api.md
index 79cb573ac..958388879 100644
--- a/docs/docs/development/API/admin_api.md
+++ b/docs/docs/development/API/admin_api.md
@@ -2,7 +2,7 @@
Authentication is required and the user must be an admin.
-The `/api/v1/pleroma/admin/*` path is backwards compatible with `/api/pleroma/admin/*` (`/api/pleroma/admin/*` will be deprecated in the future).
+Backwards-compatibility for admin API endpoints without version prefixes (`/api/pleroma/admin/*`) has been removed as of Akkoma 3.6.0. Please use `/api/v1/pleroma/admin/*` instead.
## `GET /api/v1/pleroma/admin/users`
--
2.43.0
From da4c87b2263084b77ada3744c8e0e2ee50451d3e Mon Sep 17 00:00:00 2001
From: flisk
Date: Sat, 18 Feb 2023 14:39:22 +0100
Subject: [PATCH 06/36] update prometheus docs
---
docs/docs/development/API/prometheus.md | 21 +++++----------------
1 file changed, 5 insertions(+), 16 deletions(-)
diff --git a/docs/docs/development/API/prometheus.md b/docs/docs/development/API/prometheus.md
index 39ecc5d38..b990593f0 100644
--- a/docs/docs/development/API/prometheus.md
+++ b/docs/docs/development/API/prometheus.md
@@ -5,27 +5,16 @@ Akkoma includes support for exporting metrics via the [prometheus_ex](https://gi
Config example:
```
-config :prometheus, Pleroma.Web.Endpoint.MetricsExporter,
- enabled: true,
- auth: {:basic, "myusername", "mypassword"},
- ip_whitelist: ["127.0.0.1"],
- path: "/api/pleroma/app_metrics",
- format: :text
+config :pleroma, :instance,
+ export_prometheus_metrics: true
```
-* `enabled` (Akkoma extension) enables the endpoint
-* `ip_whitelist` (Akkoma extension) could be used to restrict access only to specified IPs
-* `auth` sets the authentication (`false` for no auth; configurable to HTTP Basic Auth, see [prometheus-plugs](https://github.com/deadtrickster/prometheus-plugs#exporting) documentation)
-* `format` sets the output format (`:text` or `:protobuf`)
-* `path` sets the path to app metrics page
-
-
-## `/api/pleroma/app_metrics`
+## `/api/v1/akkoma/metrics`
### Exports Prometheus application metrics
* Method: `GET`
-* Authentication: not required by default (see configuration options above)
+* Authentication: required
* Params: none
* Response: text
@@ -37,7 +26,7 @@ The following is a config example to use with [Grafana](https://grafana.com)
```
- job_name: 'beam'
- metrics_path: /api/pleroma/app_metrics
+ metrics_path: /api/v1/akkoma/metrics
scheme: https
static_configs:
- targets: ['otp.akkoma.dev']
--
2.43.0
From a18b5755b4faaee04c9597370b5bde0ffc74e1b2 Mon Sep 17 00:00:00 2001
From: flisk
Date: Sat, 18 Feb 2023 14:58:35 +0100
Subject: [PATCH 07/36] run mix gettext.extract
seems like this hasn't been run in a while. putting this in a separate
commit so the changes i'm about to make don't get drowned in all of this
stuff.
---
priv/gettext/config_descriptions.pot | 3382 +++++++++++++-------------
priv/gettext/default.pot | 174 +-
priv/gettext/errors.pot | 256 +-
priv/gettext/static_pages.pot | 249 +-
4 files changed, 2087 insertions(+), 1974 deletions(-)
diff --git a/priv/gettext/config_descriptions.pot b/priv/gettext/config_descriptions.pot
index 1a55bfe68..ba3bd90a5 100644
--- a/priv/gettext/config_descriptions.pot
+++ b/priv/gettext/config_descriptions.pot
@@ -10,6002 +10,5966 @@
msgid ""
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
-msgctxt "config description at :esshd"
-msgid "Before enabling this you must add :esshd to mix.exs as one of the extra_applications and generate host keys in your priv dir with ssh-keygen -m PEM -N \"\" -b 2048 -t rsa -f ssh_host_rsa_key"
-msgstr ""
-
#, elixir-autogen, elixir-format
-#: lib/pleroma/docs/translator.ex:5
msgctxt "config description at :logger"
msgid "Logger-related settings"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :mime"
msgid "Mime Types settings"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma"
msgid "Allows setting a token that can be used to authenticate requests with admin privileges without a normal user account token. Append the `admin_token` parameter to requests to utilize it. (Please reconsider using HTTP Basic Auth or OAuth-based authentication if possible)"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma"
msgid "Authenticator"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
-msgctxt "config description at :quack"
-msgid "Quack-related settings"
-msgstr ""
-
#, elixir-autogen, elixir-format
-#: lib/pleroma/docs/translator.ex:5
msgctxt "config label at :cors_plug"
msgid "CORS plug config"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
-msgctxt "config label at :esshd"
-msgid "ESSHD"
-msgstr ""
-
#, elixir-autogen, elixir-format
-#: lib/pleroma/docs/translator.ex:5
msgctxt "config label at :logger"
msgid "Logger"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :mime"
msgid "Mime Types"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma"
msgid "Pleroma Admin Token"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma"
msgid "Pleroma Authenticator"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
-msgctxt "config label at :quack"
-msgid "Quack Logger"
-msgstr ""
-
#, elixir-autogen, elixir-format
-#: lib/pleroma/docs/translator.ex:5
msgctxt "config description at :logger-:console"
msgid "Console logger settings"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :logger-:ex_syslogger"
msgid "ExSyslogger-related settings"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:activitypub"
msgid "ActivityPub-related settings"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:assets"
msgid "This section configures assets to be used with various frontends. Currently the only option relates to mascots on the mastodon frontend"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:auth"
msgid "Authentication / authorization settings"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
-msgctxt "config description at :pleroma-:connections_pool"
-msgid "Advanced settings for `Gun` connections pool"
-msgstr ""
-
#, elixir-autogen, elixir-format
-#: lib/pleroma/docs/translator.ex:5
msgctxt "config description at :pleroma-:email_notifications"
msgid "Email notifications settings"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:features"
msgid "Customizable features"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:feed"
msgid "Configure feed rendering"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
-msgctxt "config description at :pleroma-:frontend_configurations"
-msgid "This form can be used to configure a keyword list that keeps the configuration data for any kind of frontend. By default, settings for pleroma_fe are configured. If you want to add your own configuration your settings all fields must be complete."
-msgstr ""
-
#, elixir-autogen, elixir-format
-#: lib/pleroma/docs/translator.ex:5
msgctxt "config description at :pleroma-:frontends"
msgid "Installed frontends management"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
-msgctxt "config description at :pleroma-:gopher"
-msgid "Gopher settings"
-msgstr ""
-
#, elixir-autogen, elixir-format
-#: lib/pleroma/docs/translator.ex:5
-msgctxt "config description at :pleroma-:hackney_pools"
-msgid "Advanced settings for `Hackney` connections pools"
-msgstr ""
-
-#, elixir-autogen, elixir-format
-#: lib/pleroma/docs/translator.ex:5
msgctxt "config description at :pleroma-:http"
msgid "HTTP settings"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:http_security"
msgid "HTTP security settings"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:instance"
msgid "Instance-related settings"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:instances_favicons"
msgid "Control favicons for instances"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:ldap"
msgid "Use LDAP for user authentication. When a user logs in to the Pleroma instance, the name and password will be verified by trying to authenticate (bind) to a LDAP server. If a user exists in the LDAP directory but there is no account with the same name yet on the Pleroma instance then a new Pleroma account will be created with the same name as the LDAP user name."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:majic_pool"
msgid "Majic/libmagic configuration"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:manifest"
msgid "This section describe PWA manifest instance-specific values. Currently this option relate only for MastoFE."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:media_preview_proxy"
msgid "Media preview proxy"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:media_proxy"
msgid "Media proxy"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:modules"
msgid "Custom Runtime Modules"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:mrf"
msgid "General MRF settings"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:mrf_activity_expiration"
msgid "Adds automatic expiration to all local activities"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:mrf_follow_bot"
msgid "Automatically follows newly discovered accounts."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:mrf_hashtag"
msgid "Reject, TWKN-remove or Set-Sensitive messsages with specific hashtags (without the leading #)\n\nNote: This MRF Policy is always enabled, if you want to disable it you have to set empty lists.\n"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:mrf_hellthread"
msgid "Block messages with excessive user mentions"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:mrf_keyword"
msgid "Reject or Word-Replace messages matching a keyword or [Regex](https://hexdocs.pm/elixir/Regex.html)."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:mrf_mention"
msgid "Block messages which mention a specific user"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:mrf_normalize_markup"
msgid "MRF NormalizeMarkup settings. Scrub configured hypertext markup."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:mrf_object_age"
msgid "Rejects or delists posts based on their timestamp deviance from your server's clock."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:mrf_rejectnonpublic"
msgid "RejectNonPublic drops posts with non-public visibility settings."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:mrf_simple"
msgid "Simple ingress policies"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:mrf_steal_emoji"
msgid "Steals emojis from selected instances when it sees them."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:mrf_subchain"
msgid "This policy processes messages through an alternate pipeline when a given message matches certain criteria. All criteria are configured as a map of regular expressions to lists of policy modules."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:mrf_vocabulary"
msgid "Filter messages which belong to certain activity vocabularies"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:oauth2"
msgid "Configure OAuth 2 provider capabilities"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
-msgctxt "config description at :pleroma-:pools"
-msgid "Advanced settings for `Gun` workers pools"
-msgstr ""
-
#, elixir-autogen, elixir-format
-#: lib/pleroma/docs/translator.ex:5
msgctxt "config description at :pleroma-:populate_hashtags_table"
msgid "`populate_hashtags_table` background migration settings"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:rate_limit"
msgid "Rate limit settings. This is an advanced feature enabled only for :authentication by default."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
-msgctxt "config description at :pleroma-:restrict_unauthenticated"
-msgid "Disallow viewing timelines, user profiles and statuses for unauthenticated users."
-msgstr ""
-
#, elixir-autogen, elixir-format
-#: lib/pleroma/docs/translator.ex:5
msgctxt "config description at :pleroma-:rich_media"
msgid "If enabled the instance will parse metadata from attached links to generate link previews"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
-msgctxt "config description at :pleroma-:shout"
-msgid "Pleroma shout settings"
-msgstr ""
-
#, elixir-autogen, elixir-format
-#: lib/pleroma/docs/translator.ex:5
msgctxt "config description at :pleroma-:static_fe"
msgid "Render profiles and posts using server-generated HTML that is viewable without using JavaScript"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:streamer"
msgid "Settings for notifications streamer"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:uri_schemes"
msgid "URI schemes related settings"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:web_cache_ttl"
msgid "The expiration time for the web responses cache. Values should be in milliseconds or `nil` to disable expiration."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:welcome"
msgid "Welcome messages settings"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:workers"
msgid "Includes custom worker options not interpretable directly by `Oban`"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-ConcurrentLimiter"
msgid "Limits configuration for background tasks."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-Oban"
msgid "[Oban](https://github.com/sorentwo/oban) asynchronous job processor configuration."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-Pleroma.Captcha"
msgid "Captcha-related settings"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-Pleroma.Captcha.Kocaptcha"
msgid "Kocaptcha is a very simple captcha service with a single API endpoint, the source code is here: https://github.com/koto-bank/kocaptcha. The default endpoint (https://captcha.kotobank.ch) is hosted by the developer."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-Pleroma.Emails.Mailer"
msgid "Mailer-related settings"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-Pleroma.Emails.NewUsersDigestEmail"
msgid "New users admin email digest"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-Pleroma.Emails.UserEmail"
msgid "Email template settings"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-Pleroma.Formatter"
msgid "Configuration for Pleroma's link formatter which parses mentions, hashtags, and URLs."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-Pleroma.ScheduledActivity"
msgid "Scheduled activities settings"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-Pleroma.Upload"
msgid "Upload general settings"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-Pleroma.Upload.Filter.AnonymizeFilename"
msgid "Filter replaces the filename of the upload"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-Pleroma.Upload.Filter.Mogrify"
msgid "Uploads mogrify filter settings"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-Pleroma.Uploaders.Local"
msgid "Local uploader-related settings"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-Pleroma.Uploaders.S3"
msgid "S3 uploader-related settings"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-Pleroma.User.Backup"
msgid "Account Backup"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-Pleroma.Web.MediaProxy.Invalidation.Http"
msgid "HTTP invalidate settings"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-Pleroma.Web.MediaProxy.Invalidation.Script"
msgid "Invalidation script settings"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-Pleroma.Web.Metadata"
msgid "Metadata-related settings"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-Pleroma.Web.Plugs.RemoteIp"
msgid "`Pleroma.Web.Plugs.RemoteIp` is a shim to call [`RemoteIp`](https://git.pleroma.social/pleroma/remote_ip) but with runtime configuration.\n**If your instance is not behind at least one reverse proxy, you should not enable this plug.**\n"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-Pleroma.Web.Preload"
msgid "Preload-related settings"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-Pleroma.Workers.PurgeExpiredActivity"
msgid "Expired activities settings"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
-msgctxt "config description at :prometheus-Pleroma.Web.Endpoint.MetricsExporter"
-msgid "Prometheus app metrics endpoint configuration"
-msgstr ""
-
#, elixir-autogen, elixir-format
-#: lib/pleroma/docs/translator.ex:5
msgctxt "config description at :web_push_encryption-:vapid_details"
msgid "Web Push Notifications configuration. You can use the mix task mix web_push.gen.keypair to generate it."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :ex_aws-:s3"
msgid "S3"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :logger-:console"
msgid "Console Logger"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :logger-:ex_syslogger"
msgid "ExSyslogger"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:activitypub"
msgid "ActivityPub"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:assets"
msgid "Assets"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:auth"
msgid "Auth"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
-msgctxt "config label at :pleroma-:connections_pool"
-msgid "Connections pool"
-msgstr ""
-
#, elixir-autogen, elixir-format
-#: lib/pleroma/docs/translator.ex:5
msgctxt "config label at :pleroma-:email_notifications"
msgid "Email notifications"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:emoji"
msgid "Emoji"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:features"
msgid "Features"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:feed"
msgid "Feed"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:frontend_configurations"
msgid "Frontend configurations"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:frontends"
msgid "Frontends"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
-msgctxt "config label at :pleroma-:gopher"
-msgid "Gopher"
-msgstr ""
-
#, elixir-autogen, elixir-format
-#: lib/pleroma/docs/translator.ex:5
-msgctxt "config label at :pleroma-:hackney_pools"
-msgid "Hackney pools"
-msgstr ""
-
-#, elixir-autogen, elixir-format
-#: lib/pleroma/docs/translator.ex:5
msgctxt "config label at :pleroma-:http"
msgid "HTTP"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:http_security"
msgid "HTTP security"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:instance"
msgid "Instance"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:instances_favicons"
msgid "Instances favicons"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:ldap"
msgid "LDAP"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:majic_pool"
msgid "Majic pool"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:manifest"
msgid "Manifest"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:markup"
msgid "Markup Settings"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:media_preview_proxy"
msgid "Media preview proxy"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:media_proxy"
msgid "Media proxy"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:modules"
msgid "Modules"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:mrf"
msgid "MRF"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:mrf_activity_expiration"
msgid "MRF Activity Expiration Policy"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:mrf_follow_bot"
msgid "MRF FollowBot Policy"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:mrf_hashtag"
msgid "MRF Hashtag"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:mrf_hellthread"
msgid "MRF Hellthread"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:mrf_keyword"
msgid "MRF Keyword"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:mrf_mention"
msgid "MRF Mention"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:mrf_normalize_markup"
msgid "MRF Normalize Markup"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:mrf_object_age"
msgid "MRF Object Age"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:mrf_rejectnonpublic"
msgid "MRF Reject Non Public"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:mrf_simple"
msgid "MRF Simple"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:mrf_steal_emoji"
msgid "MRF Emojis"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:mrf_subchain"
msgid "MRF Subchain"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:mrf_vocabulary"
msgid "MRF Vocabulary"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:oauth2"
msgid "OAuth2"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
-msgctxt "config label at :pleroma-:pools"
-msgid "Pools"
-msgstr ""
-
#, elixir-autogen, elixir-format
-#: lib/pleroma/docs/translator.ex:5
msgctxt "config label at :pleroma-:populate_hashtags_table"
msgid "Populate hashtags table"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:rate_limit"
msgid "Rate limit"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:restrict_unauthenticated"
msgid "Restrict Unauthenticated"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:rich_media"
msgid "Rich media"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
-msgctxt "config label at :pleroma-:shout"
-msgid "Shout"
-msgstr ""
-
#, elixir-autogen, elixir-format
-#: lib/pleroma/docs/translator.ex:5
msgctxt "config label at :pleroma-:static_fe"
msgid "Static FE"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:streamer"
msgid "Streamer"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:uri_schemes"
msgid "URI Schemes"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:user"
msgid "User"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:web_cache_ttl"
msgid "Web cache TTL"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:welcome"
msgid "Welcome"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:workers"
msgid "Workers"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-ConcurrentLimiter"
msgid "ConcurrentLimiter"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-Oban"
msgid "Oban"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-Pleroma.Captcha"
msgid "Pleroma.Captcha"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-Pleroma.Captcha.Kocaptcha"
msgid "Pleroma.Captcha.Kocaptcha"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-Pleroma.Emails.Mailer"
msgid "Pleroma.Emails.Mailer"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-Pleroma.Emails.NewUsersDigestEmail"
msgid "Pleroma.Emails.NewUsersDigestEmail"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-Pleroma.Emails.UserEmail"
msgid "Pleroma.Emails.UserEmail"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-Pleroma.Formatter"
msgid "Linkify"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-Pleroma.ScheduledActivity"
msgid "Pleroma.ScheduledActivity"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-Pleroma.Upload"
msgid "Pleroma.Upload"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-Pleroma.Upload.Filter.AnonymizeFilename"
msgid "Pleroma.Upload.Filter.AnonymizeFilename"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-Pleroma.Upload.Filter.Mogrify"
msgid "Pleroma.Upload.Filter.Mogrify"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-Pleroma.Uploaders.Local"
msgid "Pleroma.Uploaders.Local"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-Pleroma.Uploaders.S3"
msgid "Pleroma.Uploaders.S3"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-Pleroma.User"
msgid "Pleroma.User"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-Pleroma.User.Backup"
msgid "Pleroma.User.Backup"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-Pleroma.Web.ApiSpec.CastAndValidate"
msgid "Pleroma.Web.ApiSpec.CastAndValidate"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-Pleroma.Web.MediaProxy.Invalidation.Http"
msgid "Pleroma.Web.MediaProxy.Invalidation.Http"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-Pleroma.Web.MediaProxy.Invalidation.Script"
msgid "Pleroma.Web.MediaProxy.Invalidation.Script"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-Pleroma.Web.Metadata"
msgid "Pleroma.Web.Metadata"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-Pleroma.Web.Plugs.RemoteIp"
msgid "Pleroma.Web.Plugs.RemoteIp"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-Pleroma.Web.Preload"
msgid "Pleroma.Web.Preload"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-Pleroma.Workers.PurgeExpiredActivity"
msgid "Pleroma.Workers.PurgeExpiredActivity"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
-msgctxt "config label at :prometheus-Pleroma.Web.Endpoint.MetricsExporter"
-msgid "Pleroma.Web.Endpoint.MetricsExporter"
-msgstr ""
-
#, elixir-autogen, elixir-format
-#: lib/pleroma/docs/translator.ex:5
msgctxt "config label at :web_push_encryption-:vapid_details"
msgid "Vapid Details"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
-msgctxt "config description at :esshd > :enabled"
-msgid "Enables SSH"
-msgstr ""
-
#, elixir-autogen, elixir-format
-#: lib/pleroma/docs/translator.ex:5
-msgctxt "config description at :esshd > :handler"
-msgid "Handler module"
-msgstr ""
-
-#, elixir-autogen, elixir-format
-#: lib/pleroma/docs/translator.ex:5
-msgctxt "config description at :esshd > :password_authenticator"
-msgid "Authenticator module"
-msgstr ""
-
-#, elixir-autogen, elixir-format
-#: lib/pleroma/docs/translator.ex:5
-msgctxt "config description at :esshd > :port"
-msgid "Port to connect"
-msgstr ""
-
-#, elixir-autogen, elixir-format
-#: lib/pleroma/docs/translator.ex:5
-msgctxt "config description at :esshd > :priv_dir"
-msgid "Dir with SSH keys"
-msgstr ""
-
-#, elixir-autogen, elixir-format
-#: lib/pleroma/docs/translator.ex:5
msgctxt "config description at :ex_aws-:s3 > :access_key_id"
msgid "S3 access key ID"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :ex_aws-:s3 > :host"
msgid "S3 host"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :ex_aws-:s3 > :region"
msgid "S3 region (for AWS)"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :ex_aws-:s3 > :secret_access_key"
msgid "Secret access key"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :logger > :backends"
msgid "Where logs will be sent, :console - send logs to stdout, { ExSyslogger, :ex_syslogger } - to syslog, Quack.Logger - to Slack."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :logger-:console > :format"
msgid "Default: \"$date $time [$level] $levelpad$node $metadata $message\""
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :logger-:console > :level"
msgid "Log level"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :logger-:ex_syslogger > :format"
msgid "Default: \"$date $time [$level] $levelpad$node $metadata $message\""
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :logger-:ex_syslogger > :ident"
msgid "A string that's prepended to every message, and is typically set to the app name"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :logger-:ex_syslogger > :level"
msgid "Log level"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma > :admin_token"
msgid "Admin token"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:activitypub > :blockers_visible"
msgid "Whether a user can see someone who has blocked them"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:activitypub > :follow_handshake_timeout"
msgid "Following handshake timeout"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:activitypub > :note_replies_output_limit"
msgid "The number of Note replies' URIs to be included with outgoing federation (`5` to match Mastodon hardcoded value, `0` to disable the output)"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:activitypub > :outgoing_blocks"
msgid "Whether to federate blocks to other instances"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:activitypub > :sign_object_fetches"
msgid "Sign object fetches with HTTP signatures"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:activitypub > :unfollow_blocked"
msgid "Whether blocks result in people getting unfollowed"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:assets > :default_mascot"
msgid "This will be used as the default mascot on MastoFE. Default: `:pleroma_fox_tan`"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:assets > :default_user_avatar"
msgid "URL of the default user avatar"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:assets > :mascots"
msgid "Keyword of mascots, each element must contain both an URL and a mime_type key"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:auth > :auth_template"
msgid "Authentication form template. By default it's `show.html` which corresponds to `lib/pleroma/web/templates/o_auth/o_auth/show.html.ee`."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:auth > :enforce_oauth_admin_scope_usage"
msgid "OAuth admin scope requirement toggle. If enabled, admin actions explicitly demand admin OAuth scope(s) presence in OAuth token (client app must support admin scopes). If disabled and token doesn't have admin scope(s), `is_admin` user flag grants access to admin-specific actions."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:auth > :oauth_consumer_strategies"
msgid "The list of enabled OAuth consumer strategies. By default it's set by OAUTH_CONSUMER_STRATEGIES environment variable. Each entry in this space-delimited string should be of format \"strategy\" or \"strategy:dependency\" (e.g. twitter or keycloak:ueberauth_keycloak_strategy in case dependency is named differently than ueberauth_)."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:auth > :oauth_consumer_template"
msgid "OAuth consumer mode authentication form template. By default it's `consumer.html` which corresponds to `lib/pleroma/web/templates/o_auth/o_auth/consumer.html.eex`."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
-msgctxt "config description at :pleroma-:connections_pool > :connect_timeout"
-msgid "Timeout while `gun` will wait until connection is up. Default: 5000ms."
-msgstr ""
-
#, elixir-autogen, elixir-format
-#: lib/pleroma/docs/translator.ex:5
-msgctxt "config description at :pleroma-:connections_pool > :connection_acquisition_retries"
-msgid "Number of attempts to acquire the connection from the pool if it is overloaded. Default: 5"
-msgstr ""
-
-#, elixir-autogen, elixir-format
-#: lib/pleroma/docs/translator.ex:5
-msgctxt "config description at :pleroma-:connections_pool > :connection_acquisition_wait"
-msgid "Timeout to acquire a connection from pool. The total max time is this value multiplied by the number of retries. Default: 250ms."
-msgstr ""
-
-#, elixir-autogen, elixir-format
-#: lib/pleroma/docs/translator.ex:5
-msgctxt "config description at :pleroma-:connections_pool > :max_connections"
-msgid "Maximum number of connections in the pool. Default: 250 connections."
-msgstr ""
-
-#, elixir-autogen, elixir-format
-#: lib/pleroma/docs/translator.ex:5
-msgctxt "config description at :pleroma-:connections_pool > :reclaim_multiplier"
-msgid "Multiplier for the number of idle connection to be reclaimed if the pool is full. For example if the pool maxes out at 250 connections and this setting is set to 0.3, the pool will reclaim at most 75 idle connections if it's overloaded. Default: 0.1"
-msgstr ""
-
-#, elixir-autogen, elixir-format
-#: lib/pleroma/docs/translator.ex:5
msgctxt "config description at :pleroma-:email_notifications > :digest"
msgid "emails of \"what you've missed\" for users who have been inactive for a while"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:email_notifications > :digest > :active"
msgid "Globally enable or disable digest emails"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:email_notifications > :digest > :inactivity_threshold"
msgid "Minimum user inactivity threshold"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:email_notifications > :digest > :interval"
msgid "Minimum interval between digest emails to one user"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:email_notifications > :digest > :schedule"
msgid "When to send digest email, in crontab format. \"0 0 0\" is the default, meaning \"once a week at midnight on Sunday morning\"."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:emoji > :default_manifest"
msgid "Location of the JSON-manifest. This manifest contains information about the emoji-packs you can download. Currently only one manifest can be added (no arrays)."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:emoji > :groups"
msgid "Emojis are ordered in groups (tags). This is an array of key-value pairs where the key is the group name and the value is the location or array of locations. * can be used as a wildcard."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:emoji > :pack_extensions"
msgid "A list of file extensions for emojis, when no emoji.txt for a pack is present"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:emoji > :shortcode_globs"
msgid "Location of custom emoji files. * can be used as a wildcard."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:features > :improved_hashtag_timeline"
msgid "Setting to force toggle / force disable improved hashtags timeline. `:enabled` forces hashtags to be fetched from `hashtags` table for hashtags timeline. `:disabled` forces object-embedded hashtags to be used (slower). Keep it `:auto` for automatic behaviour (it is auto-set to `:enabled` [unless overridden] when HashtagsTableMigrator completes)."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:feed > :post_title"
msgid "Configure title rendering"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:feed > :post_title > :max_length"
msgid "Maximum number of characters before truncating title"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:feed > :post_title > :omission"
msgid "Replacement which will be used after truncating string"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:frontend_configurations > :pleroma_fe"
msgid "Settings for Pleroma FE"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:frontend_configurations > :pleroma_fe > :alwaysShowSubjectInput"
msgid "When disabled, auto-hide the subject field if it's empty"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:frontend_configurations > :pleroma_fe > :background"
msgid "URL of the background, unless viewing a user profile with a background that is set"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:frontend_configurations > :pleroma_fe > :collapseMessageWithSubject"
msgid "When a message has a subject (aka Content Warning), collapse it by default"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:frontend_configurations > :pleroma_fe > :greentext"
msgid "Enables green text on lines prefixed with the > character"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:frontend_configurations > :pleroma_fe > :hideFilteredStatuses"
msgid "Hides filtered statuses from timelines"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:frontend_configurations > :pleroma_fe > :hideMutedPosts"
msgid "Hides muted statuses from timelines"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:frontend_configurations > :pleroma_fe > :hidePostStats"
msgid "Hide notices statistics (repeats, favorites, ...)"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
-msgctxt "config description at :pleroma-:frontend_configurations > :pleroma_fe > :hideSitename"
-msgid "Hides instance name from PleromaFE banner"
-msgstr ""
-
#, elixir-autogen, elixir-format
-#: lib/pleroma/docs/translator.ex:5
msgctxt "config description at :pleroma-:frontend_configurations > :pleroma_fe > :hideUserStats"
msgid "Hide profile statistics (posts, posts per day, followers, followings, ...)"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:frontend_configurations > :pleroma_fe > :logo"
msgid "URL of the logo, defaults to Pleroma's logo"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:frontend_configurations > :pleroma_fe > :logoMargin"
msgid "Allows you to adjust vertical margins between logo boundary and navbar borders. The idea is that to have logo's image without any extra margins and instead adjust them to your need in layout."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:frontend_configurations > :pleroma_fe > :logoMask"
msgid "By default it assumes logo used will be monochrome with alpha channel to be compatible with both light and dark themes. If you want a colorful logo you must disable logoMask."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
-msgctxt "config description at :pleroma-:frontend_configurations > :pleroma_fe > :minimalScopesMode"
-msgid "Limit scope selection to Direct, User default, and Scope of post replying to. Also prevents replying to a DM with a public post from PleromaFE."
-msgstr ""
-
#, elixir-autogen, elixir-format
-#: lib/pleroma/docs/translator.ex:5
msgctxt "config description at :pleroma-:frontend_configurations > :pleroma_fe > :nsfwCensorImage"
msgid "URL of the image to use for hiding NSFW media attachments in the timeline"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:frontend_configurations > :pleroma_fe > :postContentType"
msgid "Default post formatting option"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:frontend_configurations > :pleroma_fe > :redirectRootLogin"
msgid "Relative URL which indicates where to redirect when a user is logged in"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:frontend_configurations > :pleroma_fe > :redirectRootNoLogin"
msgid "Relative URL which indicates where to redirect when a user isn't logged in"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:frontend_configurations > :pleroma_fe > :scopeCopy"
msgid "Copy the scope (private/unlisted/public) in replies to posts by default"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:frontend_configurations > :pleroma_fe > :showFeaturesPanel"
msgid "Enables panel displaying functionality of the instance on the About page"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:frontend_configurations > :pleroma_fe > :showInstanceSpecificPanel"
msgid "Whether to show the instance's custom panel"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:frontend_configurations > :pleroma_fe > :sidebarRight"
msgid "Change alignment of sidebar and panels to the right"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:frontend_configurations > :pleroma_fe > :subjectLineBehavior"
msgid "Allows changing the default behaviour of subject lines in replies.\n `email`: copy and preprend re:, as in email,\n `masto`: copy verbatim, as in Mastodon,\n `noop`: don't copy the subject."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:frontend_configurations > :pleroma_fe > :theme"
msgid "Which theme to use. Available themes are defined in styles.json"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:frontends > :admin"
msgid "Admin frontend"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:frontends > :admin > name"
msgid "Name of the installed frontend. Valid config must include both `Name` and `Reference` values."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:frontends > :admin > ref"
msgid "Reference of the installed frontend to be used. Valid config must include both `Name` and `Reference` values."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:frontends > :available"
msgid "A map containing available frontends and parameters for their installation."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:frontends > :available > build_dir"
msgid "The directory inside the zip file "
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:frontends > :available > build_url"
msgid "Either an url to a zip file containing the frontend or a template to build it by inserting the `ref`. The string `${ref}` will be replaced by the configured `ref`."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:frontends > :available > custom-http-headers"
msgid "The custom HTTP headers for the frontend"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:frontends > :available > git"
msgid "URL of the git repository of the frontend"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:frontends > :available > name"
msgid "Name of the frontend."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:frontends > :available > ref"
msgid "Reference of the frontend to be used."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:frontends > :primary"
msgid "Primary frontend, the one that is served for all pages by default"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:frontends > :primary > name"
msgid "Name of the installed frontend. Valid config must include both `Name` and `Reference` values."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:frontends > :primary > ref"
msgid "Reference of the installed frontend to be used. Valid config must include both `Name` and `Reference` values."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
-msgctxt "config description at :pleroma-:gopher > :dstport"
-msgid "Port advertised in URLs (optional, defaults to port)"
-msgstr ""
-
#, elixir-autogen, elixir-format
-#: lib/pleroma/docs/translator.ex:5
-msgctxt "config description at :pleroma-:gopher > :enabled"
-msgid "Enables the gopher interface"
-msgstr ""
-
-#, elixir-autogen, elixir-format
-#: lib/pleroma/docs/translator.ex:5
-msgctxt "config description at :pleroma-:gopher > :ip"
-msgid "IP address to bind to"
-msgstr ""
-
-#, elixir-autogen, elixir-format
-#: lib/pleroma/docs/translator.ex:5
-msgctxt "config description at :pleroma-:gopher > :port"
-msgid "Port to bind to"
-msgstr ""
-
-#, elixir-autogen, elixir-format
-#: lib/pleroma/docs/translator.ex:5
-msgctxt "config description at :pleroma-:hackney_pools > :federation"
-msgid "Settings for federation pool."
-msgstr ""
-
-#, elixir-autogen, elixir-format
-#: lib/pleroma/docs/translator.ex:5
-msgctxt "config description at :pleroma-:hackney_pools > :federation > :max_connections"
-msgid "Number workers in the pool."
-msgstr ""
-
-#, elixir-autogen, elixir-format
-#: lib/pleroma/docs/translator.ex:5
-msgctxt "config description at :pleroma-:hackney_pools > :federation > :timeout"
-msgid "Timeout while `hackney` will wait for response."
-msgstr ""
-
-#, elixir-autogen, elixir-format
-#: lib/pleroma/docs/translator.ex:5
-msgctxt "config description at :pleroma-:hackney_pools > :media"
-msgid "Settings for media pool."
-msgstr ""
-
-#, elixir-autogen, elixir-format
-#: lib/pleroma/docs/translator.ex:5
-msgctxt "config description at :pleroma-:hackney_pools > :media > :max_connections"
-msgid "Number workers in the pool."
-msgstr ""
-
-#, elixir-autogen, elixir-format
-#: lib/pleroma/docs/translator.ex:5
-msgctxt "config description at :pleroma-:hackney_pools > :media > :timeout"
-msgid "Timeout while `hackney` will wait for response."
-msgstr ""
-
-#, elixir-autogen, elixir-format
-#: lib/pleroma/docs/translator.ex:5
-msgctxt "config description at :pleroma-:hackney_pools > :upload"
-msgid "Settings for upload pool."
-msgstr ""
-
-#, elixir-autogen, elixir-format
-#: lib/pleroma/docs/translator.ex:5
-msgctxt "config description at :pleroma-:hackney_pools > :upload > :max_connections"
-msgid "Number workers in the pool."
-msgstr ""
-
-#, elixir-autogen, elixir-format
-#: lib/pleroma/docs/translator.ex:5
-msgctxt "config description at :pleroma-:hackney_pools > :upload > :timeout"
-msgid "Timeout while `hackney` will wait for response."
-msgstr ""
-
-#, elixir-autogen, elixir-format
-#: lib/pleroma/docs/translator.ex:5
msgctxt "config description at :pleroma-:http > :adapter"
msgid "Adapter specific options"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:http > :adapter > :ssl_options"
msgid "SSL options for HTTP adapter"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:http > :adapter > :ssl_options > :versions"
msgid "List of TLS version to use"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
-msgctxt "config description at :pleroma-:http > :proxy_url"
-msgid "Proxy URL"
-msgstr ""
-
#, elixir-autogen, elixir-format
-#: lib/pleroma/docs/translator.ex:5
msgctxt "config description at :pleroma-:http > :user_agent"
msgid "What user agent to use. Must be a string or an atom `:default`. Default value is `:default`."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:http_security > :enabled"
msgid "Whether the managed content security policy is enabled"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:http_security > :referrer_policy"
msgid "The referrer policy to use, either \"same-origin\" or \"no-referrer\""
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:http_security > :report_uri"
msgid "Adds the specified URL to report-uri and report-to group in CSP header"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:http_security > :sts"
msgid "Whether to additionally send a Strict-Transport-Security header"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:http_security > :sts_max_age"
msgid "The maximum age for the Strict-Transport-Security header if sent"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:instance > :account_activation_required"
msgid "Require users to confirm their emails before signing in"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:instance > :account_approval_required"
msgid "Require users to be manually approved by an admin before signing in"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:instance > :account_field_name_length"
msgid "An account field name maximum length. Default: 512."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:instance > :account_field_value_length"
msgid "An account field value maximum length. Default: 2048."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:instance > :allow_relay"
msgid "Permits remote instances to subscribe to all public posts of your instance. (Important!) This may increase the visibility of your instance."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:instance > :allowed_post_formats"
msgid "MIME-type list of formats allowed to be posted (transformed into HTML)"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:instance > :attachment_links"
msgid "Enable to automatically add attachment link text to statuses"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:instance > :autofollowed_nicknames"
msgid "Set to nicknames of (local) users that every new user should automatically follow"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:instance > :autofollowing_nicknames"
msgid "Set to nicknames of (local) users that automatically follows every newly registered user"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:instance > :avatar_upload_limit"
msgid "File size limit of user's profile avatars"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:instance > :background_upload_limit"
msgid "File size limit of user's profile backgrounds"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:instance > :banner_upload_limit"
msgid "File size limit of user's profile banners"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
-msgctxt "config description at :pleroma-:instance > :birthday_min_age"
-msgid "Minimum required age for users to create account. Only used if birthday is required."
-msgstr ""
-
#, elixir-autogen, elixir-format
-#: lib/pleroma/docs/translator.ex:5
-msgctxt "config description at :pleroma-:instance > :birthday_required"
-msgid "Require users to enter their birthday."
-msgstr ""
-
-#, elixir-autogen, elixir-format
-#: lib/pleroma/docs/translator.ex:5
msgctxt "config description at :pleroma-:instance > :cleanup_attachments"
msgid "Enable to remove associated attachments when status is removed.\nThis will not affect duplicates and attachments without status.\nEnabling this will increase load to database when deleting statuses on larger instances.\n"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:instance > :description"
msgid "The instance's description. It can be seen in nodeinfo and `/api/v1/instance`"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:instance > :email"
msgid "Email used to reach an Administrator/Moderator of the instance"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:instance > :extended_nickname_format"
msgid "Enable to use extended local nicknames format (allows underscores/dashes). This will break federation with older software for theses nicknames."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:instance > :external_user_synchronization"
msgid "Enabling following/followers counters synchronization for external users"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:instance > :federating"
msgid "Enable federation with other instances"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:instance > :federation_incoming_replies_max_depth"
msgid "Max. depth of reply-to and reply activities fetching on incoming federation, to prevent out-of-memory situations while fetching very long threads. If set to `nil`, threads of any depth will be fetched. Lower this value if you experience out-of-memory crashes."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:instance > :federation_reachability_timeout_days"
msgid "Timeout (in days) of each external federation target being unreachable prior to pausing federating to it"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:instance > :healthcheck"
msgid "If enabled, system data will be shown on `/api/pleroma/healthcheck`"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:instance > :instance_thumbnail"
msgid "The instance thumbnail can be any image that represents your instance and is used by some apps or services when they display information about your instance."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:instance > :invites_enabled"
msgid "Enable user invitations for admins (depends on `registrations_open` being disabled)"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:instance > :limit"
msgid "Posts character limit (CW/Subject included in the counter)"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:instance > :limit_to_local_content"
msgid "Limit unauthenticated users to search for local statutes and users only. Default: `:unauthenticated`."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:instance > :max_account_fields"
msgid "The maximum number of custom fields in the user profile. Default: 10."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
-msgctxt "config description at :pleroma-:instance > :max_endorsed_users"
-msgid "The maximum number of recommended accounts. 0 will disable the feature."
-msgstr ""
-
#, elixir-autogen, elixir-format
-#: lib/pleroma/docs/translator.ex:5
-msgctxt "config description at :pleroma-:instance > :max_media_attachments"
-msgid "Maximum number of post media attachments"
-msgstr ""
-
-#, elixir-autogen, elixir-format
-#: lib/pleroma/docs/translator.ex:5
msgctxt "config description at :pleroma-:instance > :max_pinned_statuses"
msgid "The maximum number of pinned statuses. 0 will disable the feature."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:instance > :max_remote_account_fields"
msgid "The maximum number of custom fields in the remote user profile. Default: 20."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:instance > :max_report_comment_size"
msgid "The maximum size of the report comment. Default: 1000."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:instance > :multi_factor_authentication"
msgid "Multi-factor authentication settings"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:instance > :multi_factor_authentication > :backup_codes"
msgid "MFA backup codes settings"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:instance > :multi_factor_authentication > :backup_codes > :length"
msgid "Determines the length of backup one-time pass-codes, in characters. Defaults to 16 characters."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:instance > :multi_factor_authentication > :backup_codes > :number"
msgid "Number of backup codes to generate."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:instance > :multi_factor_authentication > :totp"
msgid "TOTP settings"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:instance > :multi_factor_authentication > :totp > :digits"
msgid "Determines the length of a one-time pass-code, in characters. Defaults to 6 characters."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:instance > :multi_factor_authentication > :totp > :period"
msgid "A period for which the TOTP code will be valid, in seconds. Defaults to 30 seconds."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:instance > :name"
msgid "Name of the instance"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:instance > :notify_email"
msgid "Envelope FROM address for mail sent via Pleroma"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:instance > :poll_limits"
msgid "A map with poll limits for local polls"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:instance > :poll_limits > :max_expiration"
msgid "Maximum expiration time (in seconds)"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:instance > :poll_limits > :max_option_chars"
msgid "Maximum number of characters per option"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:instance > :poll_limits > :max_options"
msgid "Maximum number of options"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:instance > :poll_limits > :min_expiration"
msgid "Minimum expiration time (in seconds)"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
-msgctxt "config description at :pleroma-:instance > :privileged_staff"
-msgid "Let moderators access sensitive data (e.g. updating user credentials, get password reset token, delete users, index and read private statuses and chats)"
-msgstr ""
-
#, elixir-autogen, elixir-format
-#: lib/pleroma/docs/translator.ex:5
msgctxt "config description at :pleroma-:instance > :profile_directory"
msgid "Enable profile directory."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
-msgctxt "config description at :pleroma-:instance > :public"
-msgid "Makes the client API in authenticated mode-only except for user-profiles. Useful for disabling the Local Timeline and The Whole Known Network. Note: when setting to `false`, please also check `:restrict_unauthenticated` setting."
-msgstr ""
-
#, elixir-autogen, elixir-format
-#: lib/pleroma/docs/translator.ex:5
-msgctxt "config description at :pleroma-:instance > :quarantined_instances"
-msgid "List of ActivityPub instances where private (DMs, followers-only) activities will not be sent and the reason for doing so"
-msgstr ""
-
-#, elixir-autogen, elixir-format
-#: lib/pleroma/docs/translator.ex:5
msgctxt "config description at :pleroma-:instance > :registration_reason_length"
msgid "Maximum registration reason length. Default: 500."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:instance > :registrations_open"
msgid "Enable registrations for anyone. Invitations require this setting to be disabled."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:instance > :remote_limit"
msgid "Hard character limit beyond which remote posts will be dropped"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:instance > :remote_post_retention_days"
msgid "The default amount of days to retain remote posts when pruning the database"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:instance > :safe_dm_mentions"
msgid "If enabled, only mentions at the beginning of a post will be used to address people in direct messages. This is to prevent accidental mentioning of people when talking about them (e.g. \"@admin please keep an eye on @bad_actor\"). Default: disabled"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:instance > :show_reactions"
msgid "Let favourites and emoji reactions be viewed through the API."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:instance > :skip_thread_containment"
msgid "Skip filtering out broken threads. Default: enabled."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:instance > :static_dir"
msgid "Instance static directory"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:instance > :upload_limit"
msgid "File size limit of uploads (except for avatar, background, banner)"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:instance > :user_bio_length"
msgid "A user bio maximum length. Default: 5000."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:instance > :user_name_length"
msgid "A user name maximum length. Default: 100."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:instances_favicons > :enabled"
msgid "Allow/disallow displaying and getting instances favicons"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:ldap > :base"
msgid "LDAP base, e.g. \"dc=example,dc=com\""
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:ldap > :enabled"
msgid "Enables LDAP authentication"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:ldap > :host"
msgid "LDAP server hostname"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:ldap > :port"
msgid "LDAP port, e.g. 389 or 636"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:ldap > :ssl"
msgid "Enable to use SSL, usually implies the port 636"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:ldap > :sslopts"
msgid "Additional SSL options"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:ldap > :sslopts > :cacertfile"
msgid "Path to file with PEM encoded cacerts"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:ldap > :sslopts > :verify"
msgid "Type of cert verification"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:ldap > :tls"
msgid "Enable to use STARTTLS, usually implies the port 389"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:ldap > :tlsopts"
msgid "Additional TLS options"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:ldap > :tlsopts > :cacertfile"
msgid "Path to file with PEM encoded cacerts"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:ldap > :tlsopts > :verify"
msgid "Type of cert verification"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:ldap > :uid"
msgid "LDAP attribute name to authenticate the user, e.g. when \"cn\", the filter will be \"cn=username,base\""
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:majic_pool > :size"
msgid "Number of majic workers to start."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
-msgctxt "config description at :pleroma-:manifest > :background_color"
-msgid "Describe the background color of the app"
-msgstr ""
-
#, elixir-autogen, elixir-format
-#: lib/pleroma/docs/translator.ex:5
msgctxt "config description at :pleroma-:manifest > :icons"
msgid "Describe the icons of the app"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
-msgctxt "config description at :pleroma-:manifest > :theme_color"
-msgid "Describe the theme color of the app"
-msgstr ""
-
#, elixir-autogen, elixir-format
-#: lib/pleroma/docs/translator.ex:5
msgctxt "config description at :pleroma-:markup > :scrub_policy"
msgid "Module names are shortened (removed leading `Pleroma.HTML.` part), but on adding custom module you need to use full name."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:media_preview_proxy > :enabled"
msgid "Enables proxying of remote media preview to the instance's proxy. Requires enabled media proxy."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:media_preview_proxy > :image_quality"
msgid "Quality of the output. Ranges from 0 (min quality) to 100 (max quality)."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:media_preview_proxy > :min_content_length"
msgid "Min content length (in bytes) to perform preview. Media smaller in size will be served without thumbnailing."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:media_preview_proxy > :thumbnail_max_height"
msgid "Max height of preview thumbnail for images (video preview always has original dimensions)."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:media_preview_proxy > :thumbnail_max_width"
msgid "Max width of preview thumbnail for images (video preview always has original dimensions)."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:media_proxy > :base_url"
msgid "The base URL to access a user-uploaded file. Useful when you want to proxy the media files via another host/CDN fronts."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:media_proxy > :enabled"
msgid "Enables proxying of remote media via the instance's proxy"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:media_proxy > :invalidation > :enabled"
msgid "Enables media cache object invalidation."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:media_proxy > :invalidation > :provider"
msgid "Module which will be used to purge objects from the cache."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:media_proxy > :proxy_opts"
msgid "Internal Pleroma.ReverseProxy settings"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:media_proxy > :proxy_opts > :max_body_length"
msgid "Maximum file size (in bytes) allowed through the Pleroma MediaProxy cache."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:media_proxy > :proxy_opts > :max_read_duration"
msgid "Timeout (in milliseconds) of GET request to the remote URI."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:media_proxy > :proxy_opts > :redirect_on_failure"
msgid "Redirects the client to the origin server upon encountering HTTP errors.\n\nNote that files larger than Max Body Length will trigger an error. (e.g., Peertube videos)\n\n\n**WARNING:** This setting will allow larger files to be accessed, but exposes the\n\nIP addresses of your users to the other servers, bypassing the MediaProxy.\n"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:media_proxy > :whitelist"
msgid "List of hosts with scheme to bypass the MediaProxy"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:modules > :runtime_dir"
msgid "A path to custom Elixir modules (such as MRF policies)."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:mrf > :policies"
msgid "A list of MRF policies enabled. Module names are shortened (removed leading `Pleroma.Web.ActivityPub.MRF.` part), but on adding custom module you need to use full name."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:mrf > :transparency"
msgid "Make the content of your Message Rewrite Facility settings public (via nodeinfo)"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:mrf > :transparency_exclusions"
msgid "Exclude specific instance names from MRF transparency. The use of the exclusions feature will be disclosed in nodeinfo as a boolean value. You can also provide a reason for excluding these instance names. The instances and reasons won't be publicly disclosed."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:mrf_activity_expiration > :days"
msgid "Default global expiration time for all local activities (in days)"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:mrf_follow_bot > :follower_nickname"
msgid "The name of the bot account to use for following newly discovered users."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:mrf_hashtag > :federated_timeline_removal"
msgid "A list of hashtags which result in message being removed from federated timelines (a.k.a unlisted)."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:mrf_hashtag > :reject"
msgid "A list of hashtags which result in message being rejected."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:mrf_hashtag > :sensitive"
msgid "A list of hashtags which result in message being set as sensitive (a.k.a NSFW/R-18)"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:mrf_hellthread > :delist_threshold"
msgid "Number of mentioned users after which the message gets removed from timelines anddisables notifications. Set to 0 to disable."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:mrf_hellthread > :reject_threshold"
msgid "Number of mentioned users after which the messaged gets rejected. Set to 0 to disable."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:mrf_keyword > :federated_timeline_removal"
msgid " A list of patterns which result in message being removed from federated timelines (a.k.a unlisted).\n\n Each pattern can be a string or [Regex](https://hexdocs.pm/elixir/Regex.html) in the format of `~r/PATTERN/`.\n"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:mrf_keyword > :reject"
msgid " A list of patterns which result in message being rejected.\n\n Each pattern can be a string or [Regex](https://hexdocs.pm/elixir/Regex.html) in the format of `~r/PATTERN/`.\n"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:mrf_keyword > :replace"
msgid " **Pattern**: a string or [Regex](https://hexdocs.pm/elixir/Regex.html) in the format of `~r/PATTERN/`.\n\n **Replacement**: a string. Leaving the field empty is permitted.\n"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:mrf_mention > :actors"
msgid "A list of actors for which any post mentioning them will be dropped"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:mrf_object_age > :actions"
msgid "A list of actions to apply to the post. `:delist` removes the post from public timelines; `:strip_followers` removes followers from the ActivityPub recipient list ensuring they won't be delivered to home timelines; `:reject` rejects the message entirely"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:mrf_object_age > :threshold"
msgid "Required age (in seconds) of a post before actions are taken."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:mrf_rejectnonpublic > :allow_direct"
msgid "Whether to allow direct messages"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:mrf_rejectnonpublic > :allow_followersonly"
msgid "Whether to allow followers-only posts"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:mrf_simple > :accept"
msgid "List of instances to only accept activities from (except deletes) and the reason for doing so"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:mrf_simple > :avatar_removal"
msgid "List of instances to strip avatars from and the reason for doing so"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:mrf_simple > :banner_removal"
msgid "List of instances to strip banners from and the reason for doing so"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:mrf_simple > :federated_timeline_removal"
msgid "List of instances to remove from the Federated (aka The Whole Known Network) Timeline and the reason for doing so"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:mrf_simple > :followers_only"
msgid "Force posts from the given instances to be visible by followers only and the reason for doing so"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:mrf_simple > :media_nsfw"
msgid "List of instances to tag all media as NSFW (sensitive) from and the reason for doing so"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:mrf_simple > :media_removal"
msgid "List of instances to strip media attachments from and the reason for doing so"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:mrf_simple > :reject"
msgid "List of instances to reject activities from (except deletes) and the reason for doing so"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:mrf_simple > :reject_deletes"
msgid "List of instances to reject deletions from and the reason for doing so"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:mrf_simple > :report_removal"
msgid "List of instances to reject reports from and the reason for doing so"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:mrf_steal_emoji > :hosts"
msgid "List of hosts to steal emojis from"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:mrf_steal_emoji > :rejected_shortcodes"
msgid " A list of patterns or matches to reject shortcodes with.\n\n Each pattern can be a string or [Regex](https://hexdocs.pm/elixir/Regex.html) in the format of `~r/PATTERN/`.\n"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:mrf_steal_emoji > :size_limit"
msgid "File size limit (in bytes), checked before an emoji is saved to the disk"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:mrf_subchain > :match_actor"
msgid "Matches a series of regular expressions against the actor field"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:mrf_vocabulary > :accept"
msgid "A list of ActivityStreams terms to accept. If empty, all supported messages are accepted."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:mrf_vocabulary > :reject"
msgid "A list of ActivityStreams terms to reject. If empty, no messages are rejected."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:oauth2 > :clean_expired_tokens"
msgid "Enable a background job to clean expired OAuth tokens. Default: disabled."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:oauth2 > :issue_new_refresh_token"
msgid "Keeps old refresh token or generate new refresh token when to obtain an access token"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:oauth2 > :token_expires_in"
msgid "The lifetime in seconds of the access token"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
-msgctxt "config description at :pleroma-:pools > :default"
-msgid "Settings for default pool."
-msgstr ""
-
#, elixir-autogen, elixir-format
-#: lib/pleroma/docs/translator.ex:5
-msgctxt "config description at :pleroma-:pools > :default > :max_waiting"
-msgid "Maximum number of requests waiting for other requests to finish. After this number is reached, the pool will start returning errrors when a new request is made"
-msgstr ""
-
-#, elixir-autogen, elixir-format
-#: lib/pleroma/docs/translator.ex:5
-msgctxt "config description at :pleroma-:pools > :default > :recv_timeout"
-msgid "Timeout for the pool while gun will wait for response"
-msgstr ""
-
-#, elixir-autogen, elixir-format
-#: lib/pleroma/docs/translator.ex:5
-msgctxt "config description at :pleroma-:pools > :default > :size"
-msgid "Maximum number of concurrent requests in the pool."
-msgstr ""
-
-#, elixir-autogen, elixir-format
-#: lib/pleroma/docs/translator.ex:5
-msgctxt "config description at :pleroma-:pools > :federation"
-msgid "Settings for federation pool."
-msgstr ""
-
-#, elixir-autogen, elixir-format
-#: lib/pleroma/docs/translator.ex:5
-msgctxt "config description at :pleroma-:pools > :federation > :max_waiting"
-msgid "Maximum number of requests waiting for other requests to finish. After this number is reached, the pool will start returning errrors when a new request is made"
-msgstr ""
-
-#, elixir-autogen, elixir-format
-#: lib/pleroma/docs/translator.ex:5
-msgctxt "config description at :pleroma-:pools > :federation > :recv_timeout"
-msgid "Timeout for the pool while gun will wait for response"
-msgstr ""
-
-#, elixir-autogen, elixir-format
-#: lib/pleroma/docs/translator.ex:5
-msgctxt "config description at :pleroma-:pools > :federation > :size"
-msgid "Maximum number of concurrent requests in the pool."
-msgstr ""
-
-#, elixir-autogen, elixir-format
-#: lib/pleroma/docs/translator.ex:5
-msgctxt "config description at :pleroma-:pools > :media"
-msgid "Settings for media pool."
-msgstr ""
-
-#, elixir-autogen, elixir-format
-#: lib/pleroma/docs/translator.ex:5
-msgctxt "config description at :pleroma-:pools > :media > :max_waiting"
-msgid "Maximum number of requests waiting for other requests to finish. After this number is reached, the pool will start returning errrors when a new request is made"
-msgstr ""
-
-#, elixir-autogen, elixir-format
-#: lib/pleroma/docs/translator.ex:5
-msgctxt "config description at :pleroma-:pools > :media > :recv_timeout"
-msgid "Timeout for the pool while gun will wait for response"
-msgstr ""
-
-#, elixir-autogen, elixir-format
-#: lib/pleroma/docs/translator.ex:5
-msgctxt "config description at :pleroma-:pools > :media > :size"
-msgid "Maximum number of concurrent requests in the pool."
-msgstr ""
-
-#, elixir-autogen, elixir-format
-#: lib/pleroma/docs/translator.ex:5
-msgctxt "config description at :pleroma-:pools > :upload"
-msgid "Settings for upload pool."
-msgstr ""
-
-#, elixir-autogen, elixir-format
-#: lib/pleroma/docs/translator.ex:5
-msgctxt "config description at :pleroma-:pools > :upload > :max_waiting"
-msgid "Maximum number of requests waiting for other requests to finish. After this number is reached, the pool will start returning errrors when a new request is made"
-msgstr ""
-
-#, elixir-autogen, elixir-format
-#: lib/pleroma/docs/translator.ex:5
-msgctxt "config description at :pleroma-:pools > :upload > :recv_timeout"
-msgid "Timeout for the pool while gun will wait for response"
-msgstr ""
-
-#, elixir-autogen, elixir-format
-#: lib/pleroma/docs/translator.ex:5
-msgctxt "config description at :pleroma-:pools > :upload > :size"
-msgid "Maximum number of concurrent requests in the pool."
-msgstr ""
-
-#, elixir-autogen, elixir-format
-#: lib/pleroma/docs/translator.ex:5
msgctxt "config description at :pleroma-:populate_hashtags_table > :fault_rate_allowance"
msgid "Max accepted rate of objects that failed in the migration. Any value from 0.0 which tolerates no errors to 1.0 which will enable the feature even if hashtags transfer failed for all records."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:populate_hashtags_table > :sleep_interval_ms"
msgid "Sleep interval between each chunk of processed records in order to decrease the load on the system (defaults to 0 and should be keep default on most instances)."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:rate_limit > :app_account_creation"
msgid "For registering user accounts from the same IP address"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:rate_limit > :authentication"
msgid "For authentication create / password check / user existence check requests"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:rate_limit > :relation_id_action"
msgid "For actions on relation with a specific user (follow, unfollow)"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:rate_limit > :relations_actions"
msgid "For actions on relationships with all users (follow, unfollow)"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:rate_limit > :search"
msgid "For the search requests (account & status search etc.)"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:rate_limit > :status_id_action"
msgid "For fav / unfav or reblog / unreblog actions on the same status by the same user"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:rate_limit > :statuses_actions"
msgid "For create / delete / fav / unfav / reblog / unreblog actions on any statuses"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:rate_limit > :timeline"
msgid "For requests to timelines (each timeline has it's own limiter)"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
-msgctxt "config description at :pleroma-:restrict_unauthenticated > :activities"
-msgid "Settings for statuses."
-msgstr ""
-
#, elixir-autogen, elixir-format
-#: lib/pleroma/docs/translator.ex:5
-msgctxt "config description at :pleroma-:restrict_unauthenticated > :activities > :local"
-msgid "Disallow view local statuses."
-msgstr ""
-
-#, elixir-autogen, elixir-format
-#: lib/pleroma/docs/translator.ex:5
-msgctxt "config description at :pleroma-:restrict_unauthenticated > :activities > :remote"
-msgid "Disallow view remote statuses."
-msgstr ""
-
-#, elixir-autogen, elixir-format
-#: lib/pleroma/docs/translator.ex:5
msgctxt "config description at :pleroma-:restrict_unauthenticated > :profiles"
msgid "Settings for user profiles."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
-msgctxt "config description at :pleroma-:restrict_unauthenticated > :profiles > :local"
-msgid "Disallow view local user profiles."
-msgstr ""
-
#, elixir-autogen, elixir-format
-#: lib/pleroma/docs/translator.ex:5
-msgctxt "config description at :pleroma-:restrict_unauthenticated > :profiles > :remote"
-msgid "Disallow view remote user profiles."
-msgstr ""
-
-#, elixir-autogen, elixir-format
-#: lib/pleroma/docs/translator.ex:5
msgctxt "config description at :pleroma-:restrict_unauthenticated > :timelines"
msgid "Settings for public and federated timelines."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
-msgctxt "config description at :pleroma-:restrict_unauthenticated > :timelines > :federated"
-msgid "Disallow view federated timeline."
-msgstr ""
-
#, elixir-autogen, elixir-format
-#: lib/pleroma/docs/translator.ex:5
-msgctxt "config description at :pleroma-:restrict_unauthenticated > :timelines > :local"
-msgid "Disallow view public timeline."
-msgstr ""
-
-#, elixir-autogen, elixir-format
-#: lib/pleroma/docs/translator.ex:5
msgctxt "config description at :pleroma-:rich_media > :enabled"
msgid "Enables RichMedia parsing of URLs"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:rich_media > :failure_backoff"
msgid "Amount of milliseconds after request failure, during which the request will not be retried."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:rich_media > :ignore_hosts"
msgid "List of hosts which will be ignored by the metadata parser"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:rich_media > :ignore_tld"
msgid "List TLDs (top-level domains) which will ignore for parse metadata"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:rich_media > :parsers"
msgid "List of Rich Media parsers. Module names are shortened (removed leading `Pleroma.Web.RichMedia.Parsers.` part), but on adding custom module you need to use full name."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:rich_media > :ttl_setters"
msgid "List of rich media TTL setters. Module names are shortened (removed leading `Pleroma.Web.RichMedia.Parser.` part), but on adding custom module you need to use full name."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
-msgctxt "config description at :pleroma-:shout > :enabled"
-msgid "Enables the backend Shoutbox chat feature."
-msgstr ""
-
#, elixir-autogen, elixir-format
-#: lib/pleroma/docs/translator.ex:5
-msgctxt "config description at :pleroma-:shout > :limit"
-msgid "Shout message character limit."
-msgstr ""
-
-#, elixir-autogen, elixir-format
-#: lib/pleroma/docs/translator.ex:5
msgctxt "config description at :pleroma-:static_fe > :enabled"
msgid "Enables the rendering of static HTML. Default: disabled."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:streamer > :overflow_workers"
msgid "Maximum number of workers created if pool is empty"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:streamer > :workers"
msgid "Number of workers to send notifications"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:uri_schemes > :valid_schemes"
msgid "List of the scheme part that is considered valid to be an URL"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:web_cache_ttl > :activity_pub"
msgid "Activity pub routes (except question activities). Default: `nil` (no expiration)."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:web_cache_ttl > :activity_pub_question"
msgid "Activity pub routes (question activities). Default: `30_000` (30 seconds)."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
-msgctxt "config description at :pleroma-:welcome > :chat_message > :enabled"
-msgid "Enables sending a chat message to newly registered users"
-msgstr ""
-
#, elixir-autogen, elixir-format
-#: lib/pleroma/docs/translator.ex:5
-msgctxt "config description at :pleroma-:welcome > :chat_message > :message"
-msgid "A message that will be sent to newly registered users as a chat message"
-msgstr ""
-
-#, elixir-autogen, elixir-format
-#: lib/pleroma/docs/translator.ex:5
-msgctxt "config description at :pleroma-:welcome > :chat_message > :sender_nickname"
-msgid "The nickname of the local user that sends a welcome chat message"
-msgstr ""
-
-#, elixir-autogen, elixir-format
-#: lib/pleroma/docs/translator.ex:5
msgctxt "config description at :pleroma-:welcome > :direct_message > :enabled"
msgid "Enables sending a direct message to newly registered users"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:welcome > :direct_message > :message"
msgid "A message that will be sent to newly registered users"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:welcome > :direct_message > :sender_nickname"
msgid "The nickname of the local user that sends a welcome message"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:welcome > :email > :enabled"
msgid "Enables sending an email to newly registered users"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:welcome > :email > :html"
msgid "HTML content of the welcome email. EEX template with user and instance_name variables can be used."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:welcome > :email > :sender"
msgid "Email address and/or nickname that will be used to send the welcome email."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:welcome > :email > :subject"
msgid "Subject of the welcome email. EEX template with user and instance_name variables can be used."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:welcome > :email > :text"
msgid "Text content of the welcome email. EEX template with user and instance_name variables can be used."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:workers > :retries"
msgid "Max retry attempts for failed jobs, per `Oban` queue"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-ConcurrentLimiter > Pleroma.Web.ActivityPub.MRF.MediaProxyWarmingPolicy"
msgid "Concurrent limits configuration for MediaProxyWarmingPolicy."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-ConcurrentLimiter > Pleroma.Web.ActivityPub.MRF.MediaProxyWarmingPolicy > :max_running"
msgid "Max running concurrently jobs."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-ConcurrentLimiter > Pleroma.Web.ActivityPub.MRF.MediaProxyWarmingPolicy > :max_waiting"
msgid "Max waiting jobs."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-ConcurrentLimiter > Pleroma.Web.RichMedia.Helpers"
msgid "Concurrent limits configuration for getting RichMedia for activities."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-ConcurrentLimiter > Pleroma.Web.RichMedia.Helpers > :max_running"
msgid "Max running concurrently jobs."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-ConcurrentLimiter > Pleroma.Web.RichMedia.Helpers > :max_waiting"
msgid "Max waiting jobs."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-Oban > :crontab"
msgid "Settings for cron background jobs"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-Oban > :log"
msgid "Logs verbose mode"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-Oban > :queues"
msgid "Background jobs queues (keys: queues, values: max numbers of concurrent jobs)"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-Oban > :queues > :activity_expiration"
msgid "Activity expiration queue"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-Oban > :queues > :attachments_cleanup"
msgid "Attachment deletion queue"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-Oban > :queues > :background"
msgid "Background queue"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-Oban > :queues > :backup"
msgid "Backup queue"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-Oban > :queues > :federator_incoming"
msgid "Incoming federation queue"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-Oban > :queues > :federator_outgoing"
msgid "Outgoing federation queue"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-Oban > :queues > :mailer"
msgid "Email sender queue, see Pleroma.Emails.Mailer"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-Oban > :queues > :scheduled_activities"
msgid "Scheduled activities queue, see Pleroma.ScheduledActivities"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-Oban > :queues > :transmogrifier"
msgid "Transmogrifier queue"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-Oban > :queues > :web_push"
msgid "Web push notifications queue"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-Pleroma.Captcha > :enabled"
msgid "Whether the captcha should be shown on registration"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-Pleroma.Captcha > :method"
msgid "The method/service to use for captcha"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-Pleroma.Captcha > :seconds_valid"
msgid "The time in seconds for which the captcha is valid"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-Pleroma.Captcha.Kocaptcha > :endpoint"
msgid "The kocaptcha endpoint to use"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-Pleroma.Emails.Mailer > :adapter"
msgid "One of the mail adapters listed in [Swoosh documentation](https://hexdocs.pm/swoosh/Swoosh.html#module-adapters)"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-Pleroma.Emails.Mailer > Swoosh.Adapters.SMTP-:auth"
msgid "SMTP AUTH enforcement mode"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-Pleroma.Emails.Mailer > Swoosh.Adapters.SMTP-:password"
msgid "SMTP AUTH password"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-Pleroma.Emails.Mailer > Swoosh.Adapters.SMTP-:port"
msgid "SMTP port"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-Pleroma.Emails.Mailer > Swoosh.Adapters.SMTP-:relay"
msgid "Hostname or IP address"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-Pleroma.Emails.Mailer > Swoosh.Adapters.SMTP-:retries"
msgid "SMTP temporary (4xx) error retries"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-Pleroma.Emails.Mailer > Swoosh.Adapters.SMTP-:ssl"
msgid "Use Implicit SSL/TLS. e.g. port 465"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-Pleroma.Emails.Mailer > Swoosh.Adapters.SMTP-:tls"
msgid "Explicit TLS (STARTTLS) enforcement mode"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-Pleroma.Emails.Mailer > Swoosh.Adapters.SMTP-:username"
msgid "SMTP AUTH username"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-Pleroma.Emails.NewUsersDigestEmail > :enabled"
msgid "Enables new users admin digest email when `true`"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-Pleroma.Emails.UserEmail > :logo"
msgid "A path to a custom logo. Set it to `nil` to use the default Pleroma logo."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-Pleroma.Emails.UserEmail > :styling"
msgid "A map with color settings for email templates."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-Pleroma.Formatter > :class"
msgid "Specify the class to be added to the generated link. Disable to clear."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-Pleroma.Formatter > :extra"
msgid "Link URLs with rarely used schemes (magnet, ipfs, irc, etc.)"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-Pleroma.Formatter > :new_window"
msgid "Link URLs will open in a new window/tab."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-Pleroma.Formatter > :rel"
msgid "Override the rel attribute. Disable to clear."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-Pleroma.Formatter > :strip_prefix"
msgid "Strip the scheme prefix."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-Pleroma.Formatter > :truncate"
msgid "Set to a number to truncate URLs longer than the number. Truncated URLs will end in `...`"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-Pleroma.Formatter > :validate_tld"
msgid "Set to false to disable TLD validation for URLs/emails. Can be set to :no_scheme to validate TLDs only for URLs without a scheme (e.g `example.com` will be validated, but `http://example.loki` won't)"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-Pleroma.ScheduledActivity > :daily_user_limit"
msgid "The number of scheduled activities a user is allowed to create in a single day. Default: 25."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-Pleroma.ScheduledActivity > :enabled"
msgid "Whether scheduled activities are sent to the job queue to be executed"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-Pleroma.ScheduledActivity > :total_user_limit"
msgid "The number of scheduled activities a user is allowed to create in total. Default: 300."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-Pleroma.Upload > :base_url"
msgid "Base URL for the uploads. Required if you use a CDN or host attachments under a different domain."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-Pleroma.Upload > :filename_display_max_length"
msgid "Set max length of a filename to display. 0 = no limit. Default: 30"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-Pleroma.Upload > :filters"
msgid "List of filter modules for uploads. Module names are shortened (removed leading `Pleroma.Upload.Filter.` part), but on adding custom module you need to use full name."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-Pleroma.Upload > :link_name"
msgid "If enabled, a name parameter will be added to the URL of the upload. For example `https://instance.tld/media/imagehash.png?name=realname.png`."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-Pleroma.Upload > :proxy_remote"
msgid "Proxy requests to the remote uploader.\n\nUseful if media upload endpoint is not internet accessible.\n"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-Pleroma.Upload > :uploader"
msgid "Module which will be used for uploads"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-Pleroma.Upload.Filter.AnonymizeFilename > :text"
msgid "Text to replace filenames in links. If no setting, {random}.extension will be used. You can get the original filename extension by using {extension}, for example custom-file-name.{extension}."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-Pleroma.Upload.Filter.Mogrify > :args"
msgid "List of actions for the mogrify command. It's possible to add self-written settings as string. For example `auto-orient, strip, {\"resize\", \"3840x1080>\"}` value will be parsed into valid list of the settings."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-Pleroma.Uploaders.Local > :uploads"
msgid "Path where user's uploads will be saved"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-Pleroma.Uploaders.S3 > :bucket"
msgid "S3 bucket"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-Pleroma.Uploaders.S3 > :bucket_namespace"
msgid "S3 bucket namespace"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-Pleroma.Uploaders.S3 > :streaming_enabled"
msgid "Enable streaming uploads, when enabled the file will be sent to the server in chunks as it's being read. This may be unsupported by some providers, try disabling this if you have upload problems."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-Pleroma.Uploaders.S3 > :truncated_namespace"
msgid "If you use S3 compatible service such as Digital Ocean Spaces or CDN, set folder name or \"\" etc. For example, when using CDN to S3 virtual host format, set \"\". At this time, write CNAME to CDN in Upload base_url."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-Pleroma.User > :email_blacklist"
msgid "List of email domains users may not register with."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-Pleroma.User > :restricted_nicknames"
msgid "List of nicknames users may not register with."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-Pleroma.User.Backup > :limit_days"
msgid "Limit user to export not more often than once per N days"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-Pleroma.User.Backup > :purge_after_days"
msgid "Remove backup achives after N days"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-Pleroma.Web.ApiSpec.CastAndValidate > :strict"
msgid "Enables strict input validation (useful in development, not recommended in production)"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-Pleroma.Web.MediaProxy.Invalidation.Http > :headers"
msgid "HTTP headers of request"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-Pleroma.Web.MediaProxy.Invalidation.Http > :method"
msgid "HTTP method of request. Default: :purge"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-Pleroma.Web.MediaProxy.Invalidation.Http > :options"
msgid "Request options"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-Pleroma.Web.MediaProxy.Invalidation.Script > :script_path"
msgid "Path to executable script which will purge cached items."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-Pleroma.Web.MediaProxy.Invalidation.Script > :url_format"
msgid "Optional URL format preprocessing. Only required for Apache's htcacheclean."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-Pleroma.Web.Metadata > :providers"
msgid "List of metadata providers to enable"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-Pleroma.Web.Metadata > :unfurl_nsfw"
msgid "When enabled NSFW attachments will be shown in previews"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-Pleroma.Web.Plugs.RemoteIp > :enabled"
msgid "Enable/disable the plug. Default: disabled."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-Pleroma.Web.Plugs.RemoteIp > :headers"
msgid " A list of strings naming the HTTP headers to use when deriving the true client IP. Default: `[\"x-forwarded-for\"]`.\n"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-Pleroma.Web.Plugs.RemoteIp > :proxies"
msgid "A list of upstream proxy IP subnets in CIDR notation from which we will parse the content of `headers`. Defaults to `[]`. IPv4 entries without a bitmask will be assumed to be /32 and IPv6 /128."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-Pleroma.Web.Plugs.RemoteIp > :reserved"
msgid " A list of reserved IP subnets in CIDR notation which should be ignored if found in `headers`. Defaults to `[\"127.0.0.0/8\", \"::1/128\", \"fc00::/7\", \"10.0.0.0/8\", \"172.16.0.0/12\", \"192.168.0.0/16\"]`\n"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-Pleroma.Web.Preload > :providers"
msgid "List of preload providers to enable"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-Pleroma.Workers.PurgeExpiredActivity > :enabled"
msgid "Enables expired activities addition & deletion"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-Pleroma.Workers.PurgeExpiredActivity > :min_lifetime"
msgid "Minimum lifetime for ephemeral activity (in seconds)"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
-msgctxt "config description at :prometheus-Pleroma.Web.Endpoint.MetricsExporter > :auth"
-msgid "Enables HTTP Basic Auth for app metrics endpoint."
-msgstr ""
-
#, elixir-autogen, elixir-format
-#: lib/pleroma/docs/translator.ex:5
-msgctxt "config description at :prometheus-Pleroma.Web.Endpoint.MetricsExporter > :enabled"
-msgid "[Pleroma extension] Enables app metrics endpoint."
-msgstr ""
-
-#, elixir-autogen, elixir-format
-#: lib/pleroma/docs/translator.ex:5
-msgctxt "config description at :prometheus-Pleroma.Web.Endpoint.MetricsExporter > :format"
-msgid "App metrics endpoint output format."
-msgstr ""
-
-#, elixir-autogen, elixir-format
-#: lib/pleroma/docs/translator.ex:5
-msgctxt "config description at :prometheus-Pleroma.Web.Endpoint.MetricsExporter > :ip_whitelist"
-msgid "Restrict access of app metrics endpoint to the specified IP addresses."
-msgstr ""
-
-#, elixir-autogen, elixir-format
-#: lib/pleroma/docs/translator.ex:5
-msgctxt "config description at :prometheus-Pleroma.Web.Endpoint.MetricsExporter > :path"
-msgid "App metrics endpoint URI path."
-msgstr ""
-
-#, elixir-autogen, elixir-format
-#: lib/pleroma/docs/translator.ex:5
-msgctxt "config description at :quack > :level"
-msgid "Log level"
-msgstr ""
-
-#, elixir-autogen, elixir-format
-#: lib/pleroma/docs/translator.ex:5
-msgctxt "config description at :quack > :meta"
-msgid "Configure which metadata you want to report on"
-msgstr ""
-
-#, elixir-autogen, elixir-format
-#: lib/pleroma/docs/translator.ex:5
-msgctxt "config description at :quack > :webhook_url"
-msgid "Configure the Slack incoming webhook"
-msgstr ""
-
-#, elixir-autogen, elixir-format
-#: lib/pleroma/docs/translator.ex:5
msgctxt "config description at :web_push_encryption-:vapid_details > :private_key"
msgid "VAPID private key"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :web_push_encryption-:vapid_details > :public_key"
msgid "VAPID public key"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config description at :web_push_encryption-:vapid_details > :subject"
msgid "A mailto link for the administrative contact. It's best if this email is not a personal email address, but rather a group email to the instance moderation team."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :cors_plug > :credentials"
msgid "Credentials"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :cors_plug > :expose"
msgid "Expose"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :cors_plug > :headers"
msgid "Headers"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :cors_plug > :max_age"
msgid "Max age"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :cors_plug > :methods"
msgid "Methods"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
-msgctxt "config label at :esshd > :enabled"
-msgid "Enabled"
-msgstr ""
-
#, elixir-autogen, elixir-format
-#: lib/pleroma/docs/translator.ex:5
-msgctxt "config label at :esshd > :handler"
-msgid "Handler"
-msgstr ""
-
-#, elixir-autogen, elixir-format
-#: lib/pleroma/docs/translator.ex:5
-msgctxt "config label at :esshd > :password_authenticator"
-msgid "Password authenticator"
-msgstr ""
-
-#, elixir-autogen, elixir-format
-#: lib/pleroma/docs/translator.ex:5
-msgctxt "config label at :esshd > :port"
-msgid "Port"
-msgstr ""
-
-#, elixir-autogen, elixir-format
-#: lib/pleroma/docs/translator.ex:5
-msgctxt "config label at :esshd > :priv_dir"
-msgid "Priv dir"
-msgstr ""
-
-#, elixir-autogen, elixir-format
-#: lib/pleroma/docs/translator.ex:5
msgctxt "config label at :ex_aws-:s3 > :access_key_id"
msgid "Access key"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :ex_aws-:s3 > :host"
msgid "Host"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :ex_aws-:s3 > :region"
msgid "Region"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :ex_aws-:s3 > :secret_access_key"
msgid "Secret access key"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :logger > :backends"
msgid "Backends"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :logger-:console > :format"
msgid "Format"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :logger-:console > :level"
msgid "Level"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :logger-:console > :metadata"
msgid "Metadata"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :logger-:ex_syslogger > :format"
msgid "Format"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :logger-:ex_syslogger > :ident"
msgid "Ident"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :logger-:ex_syslogger > :level"
msgid "Level"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :logger-:ex_syslogger > :metadata"
msgid "Metadata"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :mime > :types"
msgid "Types"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :mime > :types > application/activity+json"
msgid "\"application/activity+json\""
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :mime > :types > application/jrd+json"
msgid "\"application/jrd+json\""
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :mime > :types > application/ld+json"
msgid "\"application/ld+json\""
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :mime > :types > application/xml"
msgid "\"application/xml\""
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :mime > :types > application/xrd+xml"
msgid "\"application/xrd+xml\""
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma > :admin_token"
msgid "Admin token"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma > Pleroma.Web.Auth.Authenticator"
msgid "Pleroma.Web.Auth.Authenticator"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:activitypub > :blockers_visible"
msgid "Blockers visible"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:activitypub > :follow_handshake_timeout"
msgid "Follow handshake timeout"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:activitypub > :note_replies_output_limit"
msgid "Note replies output limit"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:activitypub > :outgoing_blocks"
msgid "Outgoing blocks"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:activitypub > :sign_object_fetches"
msgid "Sign object fetches"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:activitypub > :unfollow_blocked"
msgid "Unfollow blocked"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:assets > :default_mascot"
msgid "Default mascot"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:assets > :default_user_avatar"
msgid "Default user avatar"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:assets > :mascots"
msgid "Mascots"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:auth > :auth_template"
msgid "Auth template"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:auth > :enforce_oauth_admin_scope_usage"
msgid "Enforce OAuth admin scope usage"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:auth > :oauth_consumer_strategies"
msgid "OAuth consumer strategies"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:auth > :oauth_consumer_template"
msgid "OAuth consumer template"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
-msgctxt "config label at :pleroma-:connections_pool > :connect_timeout"
-msgid "Connect timeout"
-msgstr ""
-
#, elixir-autogen, elixir-format
-#: lib/pleroma/docs/translator.ex:5
-msgctxt "config label at :pleroma-:connections_pool > :connection_acquisition_retries"
-msgid "Connection acquisition retries"
-msgstr ""
-
-#, elixir-autogen, elixir-format
-#: lib/pleroma/docs/translator.ex:5
-msgctxt "config label at :pleroma-:connections_pool > :connection_acquisition_wait"
-msgid "Connection acquisition wait"
-msgstr ""
-
-#, elixir-autogen, elixir-format
-#: lib/pleroma/docs/translator.ex:5
-msgctxt "config label at :pleroma-:connections_pool > :max_connections"
-msgid "Max connections"
-msgstr ""
-
-#, elixir-autogen, elixir-format
-#: lib/pleroma/docs/translator.ex:5
-msgctxt "config label at :pleroma-:connections_pool > :reclaim_multiplier"
-msgid "Reclaim multiplier"
-msgstr ""
-
-#, elixir-autogen, elixir-format
-#: lib/pleroma/docs/translator.ex:5
msgctxt "config label at :pleroma-:email_notifications > :digest"
msgid "Digest"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:email_notifications > :digest > :active"
msgid "Enabled"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:email_notifications > :digest > :inactivity_threshold"
msgid "Inactivity threshold"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:email_notifications > :digest > :interval"
msgid "Interval"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:email_notifications > :digest > :schedule"
msgid "Schedule"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:emoji > :default_manifest"
msgid "Default manifest"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:emoji > :groups"
msgid "Groups"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:emoji > :pack_extensions"
msgid "Pack extensions"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:emoji > :shared_pack_cache_seconds_per_file"
msgid "Shared pack cache s/file"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:emoji > :shortcode_globs"
msgid "Shortcode globs"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:features > :improved_hashtag_timeline"
msgid "Improved hashtag timeline"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:feed > :post_title"
msgid "Post title"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:feed > :post_title > :max_length"
msgid "Max length"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:feed > :post_title > :omission"
msgid "Omission"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:frontend_configurations > :pleroma_fe"
msgid "Pleroma FE"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:frontend_configurations > :pleroma_fe > :alwaysShowSubjectInput"
msgid "Always show subject input"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:frontend_configurations > :pleroma_fe > :background"
msgid "Background"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:frontend_configurations > :pleroma_fe > :collapseMessageWithSubject"
msgid "Collapse message with subject"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:frontend_configurations > :pleroma_fe > :greentext"
msgid "Greentext"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:frontend_configurations > :pleroma_fe > :hideFilteredStatuses"
msgid "Hide Filtered Statuses"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:frontend_configurations > :pleroma_fe > :hideMutedPosts"
msgid "Hide Muted Posts"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:frontend_configurations > :pleroma_fe > :hidePostStats"
msgid "Hide post stats"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
-msgctxt "config label at :pleroma-:frontend_configurations > :pleroma_fe > :hideSitename"
-msgid "Hide Sitename"
-msgstr ""
-
#, elixir-autogen, elixir-format
-#: lib/pleroma/docs/translator.ex:5
msgctxt "config label at :pleroma-:frontend_configurations > :pleroma_fe > :hideUserStats"
msgid "Hide user stats"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:frontend_configurations > :pleroma_fe > :logo"
msgid "Logo"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:frontend_configurations > :pleroma_fe > :logoMargin"
msgid "Logo margin"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:frontend_configurations > :pleroma_fe > :logoMask"
msgid "Logo mask"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
-msgctxt "config label at :pleroma-:frontend_configurations > :pleroma_fe > :minimalScopesMode"
-msgid "Minimal scopes mode"
-msgstr ""
-
#, elixir-autogen, elixir-format
-#: lib/pleroma/docs/translator.ex:5
msgctxt "config label at :pleroma-:frontend_configurations > :pleroma_fe > :nsfwCensorImage"
msgid "NSFW Censor Image"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:frontend_configurations > :pleroma_fe > :postContentType"
msgid "Post Content Type"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:frontend_configurations > :pleroma_fe > :redirectRootLogin"
msgid "Redirect root login"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:frontend_configurations > :pleroma_fe > :redirectRootNoLogin"
msgid "Redirect root no login"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:frontend_configurations > :pleroma_fe > :scopeCopy"
msgid "Scope copy"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:frontend_configurations > :pleroma_fe > :showFeaturesPanel"
msgid "Show instance features panel"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:frontend_configurations > :pleroma_fe > :showInstanceSpecificPanel"
msgid "Show instance specific panel"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:frontend_configurations > :pleroma_fe > :sidebarRight"
msgid "Sidebar on Right"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:frontend_configurations > :pleroma_fe > :subjectLineBehavior"
msgid "Subject line behavior"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:frontend_configurations > :pleroma_fe > :theme"
msgid "Theme"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:frontends > :admin"
msgid "Admin"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:frontends > :admin > name"
msgid "Name"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:frontends > :admin > ref"
msgid "Reference"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:frontends > :available"
msgid "Available"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:frontends > :available > build_dir"
msgid "Build directory"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:frontends > :available > build_url"
msgid "Build URL"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:frontends > :available > custom-http-headers"
msgid "Custom HTTP headers"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:frontends > :available > git"
msgid "Git Repository URL"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:frontends > :available > name"
msgid "Name"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:frontends > :available > ref"
msgid "Reference"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:frontends > :primary"
msgid "Primary"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:frontends > :primary > name"
msgid "Name"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:frontends > :primary > ref"
msgid "Reference"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
-msgctxt "config label at :pleroma-:gopher > :dstport"
-msgid "Dstport"
-msgstr ""
-
#, elixir-autogen, elixir-format
-#: lib/pleroma/docs/translator.ex:5
-msgctxt "config label at :pleroma-:gopher > :enabled"
-msgid "Enabled"
-msgstr ""
-
-#, elixir-autogen, elixir-format
-#: lib/pleroma/docs/translator.ex:5
-msgctxt "config label at :pleroma-:gopher > :ip"
-msgid "IP"
-msgstr ""
-
-#, elixir-autogen, elixir-format
-#: lib/pleroma/docs/translator.ex:5
-msgctxt "config label at :pleroma-:gopher > :port"
-msgid "Port"
-msgstr ""
-
-#, elixir-autogen, elixir-format
-#: lib/pleroma/docs/translator.ex:5
-msgctxt "config label at :pleroma-:hackney_pools > :federation"
-msgid "Federation"
-msgstr ""
-
-#, elixir-autogen, elixir-format
-#: lib/pleroma/docs/translator.ex:5
-msgctxt "config label at :pleroma-:hackney_pools > :federation > :max_connections"
-msgid "Max connections"
-msgstr ""
-
-#, elixir-autogen, elixir-format
-#: lib/pleroma/docs/translator.ex:5
-msgctxt "config label at :pleroma-:hackney_pools > :federation > :timeout"
-msgid "Timeout"
-msgstr ""
-
-#, elixir-autogen, elixir-format
-#: lib/pleroma/docs/translator.ex:5
-msgctxt "config label at :pleroma-:hackney_pools > :media"
-msgid "Media"
-msgstr ""
-
-#, elixir-autogen, elixir-format
-#: lib/pleroma/docs/translator.ex:5
-msgctxt "config label at :pleroma-:hackney_pools > :media > :max_connections"
-msgid "Max connections"
-msgstr ""
-
-#, elixir-autogen, elixir-format
-#: lib/pleroma/docs/translator.ex:5
-msgctxt "config label at :pleroma-:hackney_pools > :media > :timeout"
-msgid "Timeout"
-msgstr ""
-
-#, elixir-autogen, elixir-format
-#: lib/pleroma/docs/translator.ex:5
-msgctxt "config label at :pleroma-:hackney_pools > :upload"
-msgid "Upload"
-msgstr ""
-
-#, elixir-autogen, elixir-format
-#: lib/pleroma/docs/translator.ex:5
-msgctxt "config label at :pleroma-:hackney_pools > :upload > :max_connections"
-msgid "Max connections"
-msgstr ""
-
-#, elixir-autogen, elixir-format
-#: lib/pleroma/docs/translator.ex:5
-msgctxt "config label at :pleroma-:hackney_pools > :upload > :timeout"
-msgid "Timeout"
-msgstr ""
-
-#, elixir-autogen, elixir-format
-#: lib/pleroma/docs/translator.ex:5
msgctxt "config label at :pleroma-:http > :adapter"
msgid "Adapter"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:http > :adapter > :ssl_options"
msgid "SSL Options"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:http > :adapter > :ssl_options > :versions"
msgid "Versions"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:http > :proxy_url"
msgid "Proxy URL"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
-msgctxt "config label at :pleroma-:http > :send_user_agent"
-msgid "Send user agent"
-msgstr ""
-
#, elixir-autogen, elixir-format
-#: lib/pleroma/docs/translator.ex:5
msgctxt "config label at :pleroma-:http > :user_agent"
msgid "User agent"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:http_security > :enabled"
msgid "Enabled"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:http_security > :referrer_policy"
msgid "Referrer policy"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:http_security > :report_uri"
msgid "Report URI"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:http_security > :sts"
msgid "STS"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:http_security > :sts_max_age"
msgid "STS max age"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:instance > :account_activation_required"
msgid "Account activation required"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:instance > :account_approval_required"
msgid "Account approval required"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:instance > :account_field_name_length"
msgid "Account field name length"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:instance > :account_field_value_length"
msgid "Account field value length"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:instance > :allow_relay"
msgid "Allow relay"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:instance > :allowed_post_formats"
msgid "Allowed post formats"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:instance > :attachment_links"
msgid "Attachment links"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:instance > :autofollowed_nicknames"
msgid "Autofollowed nicknames"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:instance > :autofollowing_nicknames"
msgid "Autofollowing nicknames"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:instance > :avatar_upload_limit"
msgid "Avatar upload limit"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:instance > :background_upload_limit"
msgid "Background upload limit"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:instance > :banner_upload_limit"
msgid "Banner upload limit"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
-msgctxt "config label at :pleroma-:instance > :birthday_min_age"
-msgid "Birthday min age"
-msgstr ""
-
#, elixir-autogen, elixir-format
-#: lib/pleroma/docs/translator.ex:5
-msgctxt "config label at :pleroma-:instance > :birthday_required"
-msgid "Birthday required"
-msgstr ""
-
-#, elixir-autogen, elixir-format
-#: lib/pleroma/docs/translator.ex:5
msgctxt "config label at :pleroma-:instance > :cleanup_attachments"
msgid "Cleanup attachments"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:instance > :description"
msgid "Description"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:instance > :email"
msgid "Admin Email Address"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:instance > :extended_nickname_format"
msgid "Extended nickname format"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:instance > :external_user_synchronization"
msgid "External user synchronization"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:instance > :federating"
msgid "Federating"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:instance > :federation_incoming_replies_max_depth"
msgid "Fed. incoming replies max depth"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:instance > :federation_reachability_timeout_days"
msgid "Fed. reachability timeout days"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:instance > :healthcheck"
msgid "Healthcheck"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:instance > :instance_thumbnail"
msgid "Instance thumbnail"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:instance > :invites_enabled"
msgid "Invites enabled"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:instance > :limit"
msgid "Limit"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:instance > :limit_to_local_content"
msgid "Limit to local content"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:instance > :max_account_fields"
msgid "Max account fields"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
-msgctxt "config label at :pleroma-:instance > :max_endorsed_users"
-msgid "Max endorsed users"
-msgstr ""
-
#, elixir-autogen, elixir-format
-#: lib/pleroma/docs/translator.ex:5
-msgctxt "config label at :pleroma-:instance > :max_media_attachments"
-msgid "Max media attachments"
-msgstr ""
-
-#, elixir-autogen, elixir-format
-#: lib/pleroma/docs/translator.ex:5
msgctxt "config label at :pleroma-:instance > :max_pinned_statuses"
msgid "Max pinned statuses"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:instance > :max_remote_account_fields"
msgid "Max remote account fields"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:instance > :max_report_comment_size"
msgid "Max report comment size"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:instance > :multi_factor_authentication"
msgid "Multi factor authentication"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:instance > :multi_factor_authentication > :backup_codes"
msgid "Backup codes"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:instance > :multi_factor_authentication > :backup_codes > :length"
msgid "Length"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:instance > :multi_factor_authentication > :backup_codes > :number"
msgid "Number"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:instance > :multi_factor_authentication > :totp"
msgid "TOTP settings"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:instance > :multi_factor_authentication > :totp > :digits"
msgid "Digits"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:instance > :multi_factor_authentication > :totp > :period"
msgid "Period"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:instance > :name"
msgid "Name"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:instance > :notify_email"
msgid "Sender Email Address"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:instance > :poll_limits"
msgid "Poll limits"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:instance > :poll_limits > :max_expiration"
msgid "Max expiration"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:instance > :poll_limits > :max_option_chars"
msgid "Max option chars"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:instance > :poll_limits > :max_options"
msgid "Max options"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:instance > :poll_limits > :min_expiration"
msgid "Min expiration"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:instance > :privileged_staff"
msgid "Privileged staff"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:instance > :profile_directory"
msgid "Profile directory"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:instance > :public"
msgid "Public"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:instance > :quarantined_instances"
msgid "Quarantined instances"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:instance > :registration_reason_length"
msgid "Registration reason length"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:instance > :registrations_open"
msgid "Registrations open"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:instance > :remote_limit"
msgid "Remote limit"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:instance > :remote_post_retention_days"
msgid "Remote post retention days"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:instance > :safe_dm_mentions"
msgid "Safe DM mentions"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:instance > :show_reactions"
msgid "Show reactions"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:instance > :skip_thread_containment"
msgid "Skip thread containment"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:instance > :static_dir"
msgid "Static dir"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:instance > :upload_limit"
msgid "Upload limit"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:instance > :user_bio_length"
msgid "User bio length"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:instance > :user_name_length"
msgid "User name length"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:instances_favicons > :enabled"
msgid "Enabled"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:ldap > :base"
msgid "Base"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:ldap > :enabled"
msgid "Enabled"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:ldap > :host"
msgid "Host"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:ldap > :port"
msgid "Port"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:ldap > :ssl"
msgid "SSL"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:ldap > :sslopts"
msgid "SSL options"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:ldap > :sslopts > :cacertfile"
msgid "Cacertfile"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:ldap > :sslopts > :verify"
msgid "Verify"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:ldap > :tls"
msgid "TLS"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:ldap > :tlsopts"
msgid "TLS options"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:ldap > :tlsopts > :cacertfile"
msgid "Cacertfile"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:ldap > :tlsopts > :verify"
msgid "Verify"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:ldap > :uid"
msgid "UID"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:majic_pool > :size"
msgid "Size"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:manifest > :background_color"
msgid "Background color"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:manifest > :icons"
msgid "Icons"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:manifest > :theme_color"
msgid "Theme color"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:markup > :allow_fonts"
msgid "Allow fonts"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:markup > :allow_headings"
msgid "Allow headings"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:markup > :allow_inline_images"
msgid "Allow inline images"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:markup > :allow_tables"
msgid "Allow tables"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:markup > :scrub_policy"
msgid "Scrub policy"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:media_preview_proxy > :enabled"
msgid "Enabled"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:media_preview_proxy > :image_quality"
msgid "Image quality"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:media_preview_proxy > :min_content_length"
msgid "Min content length"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:media_preview_proxy > :thumbnail_max_height"
msgid "Thumbnail max height"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:media_preview_proxy > :thumbnail_max_width"
msgid "Thumbnail max width"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:media_proxy > :base_url"
msgid "Base URL"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:media_proxy > :enabled"
msgid "Enabled"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:media_proxy > :invalidation"
msgid "Invalidation"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:media_proxy > :invalidation > :enabled"
msgid "Enabled"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:media_proxy > :invalidation > :provider"
msgid "Provider"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:media_proxy > :proxy_opts"
msgid "Advanced MediaProxy Options"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:media_proxy > :proxy_opts > :max_body_length"
msgid "Max body length"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:media_proxy > :proxy_opts > :max_read_duration"
msgid "Max read duration"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:media_proxy > :proxy_opts > :redirect_on_failure"
msgid "Redirect on failure"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:media_proxy > :whitelist"
msgid "Whitelist"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:modules > :runtime_dir"
msgid "Runtime dir"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:mrf > :policies"
msgid "Policies"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:mrf > :transparency"
msgid "MRF transparency"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:mrf > :transparency_exclusions"
msgid "MRF transparency exclusions"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:mrf_activity_expiration > :days"
msgid "Days"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:mrf_follow_bot > :follower_nickname"
msgid "Follower nickname"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:mrf_hashtag > :federated_timeline_removal"
msgid "Federated timeline removal"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:mrf_hashtag > :reject"
msgid "Reject"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:mrf_hashtag > :sensitive"
msgid "Sensitive"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:mrf_hellthread > :delist_threshold"
msgid "Delist threshold"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:mrf_hellthread > :reject_threshold"
msgid "Reject threshold"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:mrf_keyword > :federated_timeline_removal"
msgid "Federated timeline removal"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:mrf_keyword > :reject"
msgid "Reject"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:mrf_keyword > :replace"
msgid "Replace"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:mrf_mention > :actors"
msgid "Actors"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:mrf_normalize_markup > :scrub_policy"
msgid "Scrub policy"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:mrf_object_age > :actions"
msgid "Actions"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:mrf_object_age > :threshold"
msgid "Threshold"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:mrf_rejectnonpublic > :allow_direct"
msgid "Allow direct"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:mrf_rejectnonpublic > :allow_followersonly"
msgid "Allow followers-only"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:mrf_simple > :accept"
msgid "Accept"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:mrf_simple > :avatar_removal"
msgid "Avatar removal"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:mrf_simple > :banner_removal"
msgid "Banner removal"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:mrf_simple > :federated_timeline_removal"
msgid "Federated timeline removal"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:mrf_simple > :followers_only"
msgid "Followers only"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:mrf_simple > :media_nsfw"
msgid "Media NSFW"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:mrf_simple > :media_removal"
msgid "Media removal"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:mrf_simple > :reject"
msgid "Reject"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:mrf_simple > :reject_deletes"
msgid "Reject deletes"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:mrf_simple > :report_removal"
msgid "Report removal"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:mrf_steal_emoji > :hosts"
msgid "Hosts"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:mrf_steal_emoji > :rejected_shortcodes"
msgid "Rejected shortcodes"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:mrf_steal_emoji > :size_limit"
msgid "Size limit"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:mrf_subchain > :match_actor"
msgid "Match actor"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:mrf_vocabulary > :accept"
msgid "Accept"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:mrf_vocabulary > :reject"
msgid "Reject"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:oauth2 > :clean_expired_tokens"
msgid "Clean expired tokens"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:oauth2 > :issue_new_refresh_token"
msgid "Issue new refresh token"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:oauth2 > :token_expires_in"
msgid "Token expires in"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
-msgctxt "config label at :pleroma-:pools > :default"
-msgid "Default"
-msgstr ""
-
#, elixir-autogen, elixir-format
-#: lib/pleroma/docs/translator.ex:5
-msgctxt "config label at :pleroma-:pools > :default > :max_waiting"
-msgid "Max waiting"
-msgstr ""
-
-#, elixir-autogen, elixir-format
-#: lib/pleroma/docs/translator.ex:5
-msgctxt "config label at :pleroma-:pools > :default > :recv_timeout"
-msgid "Recv timeout"
-msgstr ""
-
-#, elixir-autogen, elixir-format
-#: lib/pleroma/docs/translator.ex:5
-msgctxt "config label at :pleroma-:pools > :default > :size"
-msgid "Size"
-msgstr ""
-
-#, elixir-autogen, elixir-format
-#: lib/pleroma/docs/translator.ex:5
-msgctxt "config label at :pleroma-:pools > :federation"
-msgid "Federation"
-msgstr ""
-
-#, elixir-autogen, elixir-format
-#: lib/pleroma/docs/translator.ex:5
-msgctxt "config label at :pleroma-:pools > :federation > :max_waiting"
-msgid "Max waiting"
-msgstr ""
-
-#, elixir-autogen, elixir-format
-#: lib/pleroma/docs/translator.ex:5
-msgctxt "config label at :pleroma-:pools > :federation > :recv_timeout"
-msgid "Recv timeout"
-msgstr ""
-
-#, elixir-autogen, elixir-format
-#: lib/pleroma/docs/translator.ex:5
-msgctxt "config label at :pleroma-:pools > :federation > :size"
-msgid "Size"
-msgstr ""
-
-#, elixir-autogen, elixir-format
-#: lib/pleroma/docs/translator.ex:5
-msgctxt "config label at :pleroma-:pools > :media"
-msgid "Media"
-msgstr ""
-
-#, elixir-autogen, elixir-format
-#: lib/pleroma/docs/translator.ex:5
-msgctxt "config label at :pleroma-:pools > :media > :max_waiting"
-msgid "Max waiting"
-msgstr ""
-
-#, elixir-autogen, elixir-format
-#: lib/pleroma/docs/translator.ex:5
-msgctxt "config label at :pleroma-:pools > :media > :recv_timeout"
-msgid "Recv timeout"
-msgstr ""
-
-#, elixir-autogen, elixir-format
-#: lib/pleroma/docs/translator.ex:5
-msgctxt "config label at :pleroma-:pools > :media > :size"
-msgid "Size"
-msgstr ""
-
-#, elixir-autogen, elixir-format
-#: lib/pleroma/docs/translator.ex:5
-msgctxt "config label at :pleroma-:pools > :upload"
-msgid "Upload"
-msgstr ""
-
-#, elixir-autogen, elixir-format
-#: lib/pleroma/docs/translator.ex:5
-msgctxt "config label at :pleroma-:pools > :upload > :max_waiting"
-msgid "Max waiting"
-msgstr ""
-
-#, elixir-autogen, elixir-format
-#: lib/pleroma/docs/translator.ex:5
-msgctxt "config label at :pleroma-:pools > :upload > :recv_timeout"
-msgid "Recv timeout"
-msgstr ""
-
-#, elixir-autogen, elixir-format
-#: lib/pleroma/docs/translator.ex:5
-msgctxt "config label at :pleroma-:pools > :upload > :size"
-msgid "Size"
-msgstr ""
-
-#, elixir-autogen, elixir-format
-#: lib/pleroma/docs/translator.ex:5
msgctxt "config label at :pleroma-:populate_hashtags_table > :fault_rate_allowance"
msgid "Fault rate allowance"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:populate_hashtags_table > :sleep_interval_ms"
msgid "Sleep interval ms"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:rate_limit > :app_account_creation"
msgid "App account creation"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:rate_limit > :authentication"
msgid "Authentication"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:rate_limit > :relation_id_action"
msgid "Relation ID action"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:rate_limit > :relations_actions"
msgid "Relations actions"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:rate_limit > :search"
msgid "Search"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:rate_limit > :status_id_action"
msgid "Status ID action"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:rate_limit > :statuses_actions"
msgid "Statuses actions"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:rate_limit > :timeline"
msgid "Timeline"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:restrict_unauthenticated > :activities"
msgid "Activities"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:restrict_unauthenticated > :activities > :local"
msgid "Local"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:restrict_unauthenticated > :activities > :remote"
msgid "Remote"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:restrict_unauthenticated > :profiles"
msgid "Profiles"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:restrict_unauthenticated > :profiles > :local"
msgid "Local"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:restrict_unauthenticated > :profiles > :remote"
msgid "Remote"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:restrict_unauthenticated > :timelines"
msgid "Timelines"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:restrict_unauthenticated > :timelines > :federated"
msgid "Federated"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:restrict_unauthenticated > :timelines > :local"
msgid "Local"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:rich_media > :enabled"
msgid "Enabled"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:rich_media > :failure_backoff"
msgid "Failure backoff"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:rich_media > :ignore_hosts"
msgid "Ignore hosts"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:rich_media > :ignore_tld"
msgid "Ignore TLD"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:rich_media > :parsers"
msgid "Parsers"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:rich_media > :ttl_setters"
msgid "TTL setters"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
-msgctxt "config label at :pleroma-:shout > :enabled"
-msgid "Enabled"
-msgstr ""
-
#, elixir-autogen, elixir-format
-#: lib/pleroma/docs/translator.ex:5
-msgctxt "config label at :pleroma-:shout > :limit"
-msgid "Limit"
-msgstr ""
-
-#, elixir-autogen, elixir-format
-#: lib/pleroma/docs/translator.ex:5
msgctxt "config label at :pleroma-:static_fe > :enabled"
msgid "Enabled"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:streamer > :overflow_workers"
msgid "Overflow workers"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:streamer > :workers"
msgid "Workers"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:uri_schemes > :valid_schemes"
msgid "Valid schemes"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:user > :deny_follow_blocked"
msgid "Deny follow blocked"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:web_cache_ttl > :activity_pub"
msgid "Activity pub"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:web_cache_ttl > :activity_pub_question"
msgid "Activity pub question"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
-msgctxt "config label at :pleroma-:welcome > :chat_message"
-msgid "Chat message"
-msgstr ""
-
#, elixir-autogen, elixir-format
-#: lib/pleroma/docs/translator.ex:5
-msgctxt "config label at :pleroma-:welcome > :chat_message > :enabled"
-msgid "Enabled"
-msgstr ""
-
-#, elixir-autogen, elixir-format
-#: lib/pleroma/docs/translator.ex:5
-msgctxt "config label at :pleroma-:welcome > :chat_message > :message"
-msgid "Message"
-msgstr ""
-
-#, elixir-autogen, elixir-format
-#: lib/pleroma/docs/translator.ex:5
-msgctxt "config label at :pleroma-:welcome > :chat_message > :sender_nickname"
-msgid "Sender nickname"
-msgstr ""
-
-#, elixir-autogen, elixir-format
-#: lib/pleroma/docs/translator.ex:5
msgctxt "config label at :pleroma-:welcome > :direct_message"
msgid "Direct message"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:welcome > :direct_message > :enabled"
msgid "Enabled"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:welcome > :direct_message > :message"
msgid "Message"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:welcome > :direct_message > :sender_nickname"
msgid "Sender nickname"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:welcome > :email"
msgid "Email"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:welcome > :email > :enabled"
msgid "Enabled"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:welcome > :email > :html"
msgid "Html"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:welcome > :email > :sender"
msgid "Sender"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:welcome > :email > :subject"
msgid "Subject"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:welcome > :email > :text"
msgid "Text"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-:workers > :retries"
msgid "Retries"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-ConcurrentLimiter > Pleroma.Web.ActivityPub.MRF.MediaProxyWarmingPolicy"
msgid "Pleroma.Web.ActivityPub.MRF.MediaProxyWarmingPolicy"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-ConcurrentLimiter > Pleroma.Web.ActivityPub.MRF.MediaProxyWarmingPolicy > :max_running"
msgid "Max running"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-ConcurrentLimiter > Pleroma.Web.ActivityPub.MRF.MediaProxyWarmingPolicy > :max_waiting"
msgid "Max waiting"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-ConcurrentLimiter > Pleroma.Web.RichMedia.Helpers"
msgid "Pleroma.Web.RichMedia.Helpers"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-ConcurrentLimiter > Pleroma.Web.RichMedia.Helpers > :max_running"
msgid "Max running"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-ConcurrentLimiter > Pleroma.Web.RichMedia.Helpers > :max_waiting"
msgid "Max waiting"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-Oban > :crontab"
msgid "Crontab"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-Oban > :log"
msgid "Log"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-Oban > :queues"
msgid "Queues"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-Oban > :queues > :activity_expiration"
msgid "Activity expiration"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-Oban > :queues > :attachments_cleanup"
msgid "Attachments cleanup"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-Oban > :queues > :background"
msgid "Background"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-Oban > :queues > :backup"
msgid "Backup"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-Oban > :queues > :federator_incoming"
msgid "Federator incoming"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-Oban > :queues > :federator_outgoing"
msgid "Federator outgoing"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-Oban > :queues > :mailer"
msgid "Mailer"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-Oban > :queues > :scheduled_activities"
msgid "Scheduled activities"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-Oban > :queues > :transmogrifier"
msgid "Transmogrifier"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-Oban > :queues > :web_push"
msgid "Web push"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-Pleroma.Captcha > :enabled"
msgid "Enabled"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-Pleroma.Captcha > :method"
msgid "Method"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-Pleroma.Captcha > :seconds_valid"
msgid "Seconds valid"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-Pleroma.Captcha.Kocaptcha > :endpoint"
msgid "Endpoint"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-Pleroma.Emails.Mailer > :adapter"
msgid "Adapter"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-Pleroma.Emails.Mailer > :enabled"
msgid "Mailer Enabled"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-Pleroma.Emails.Mailer > Swoosh.Adapters.AmazonSES-:access_key"
msgid "AWS Access Key"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-Pleroma.Emails.Mailer > Swoosh.Adapters.AmazonSES-:region"
msgid "AWS Region"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-Pleroma.Emails.Mailer > Swoosh.Adapters.AmazonSES-:secret"
msgid "AWS Secret Key"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-Pleroma.Emails.Mailer > Swoosh.Adapters.Dyn-:api_key"
msgid "Dyn API Key"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-Pleroma.Emails.Mailer > Swoosh.Adapters.Gmail-:access_token"
msgid "GMail API Access Token"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-Pleroma.Emails.Mailer > Swoosh.Adapters.Mailgun-:api_key"
msgid "Mailgun API Key"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-Pleroma.Emails.Mailer > Swoosh.Adapters.Mailgun-:domain"
msgid "Domain"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-Pleroma.Emails.Mailer > Swoosh.Adapters.Mailjet-:api_key"
msgid "MailJet Public API Key"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-Pleroma.Emails.Mailer > Swoosh.Adapters.Mailjet-:secret"
msgid "MailJet Private API Key"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-Pleroma.Emails.Mailer > Swoosh.Adapters.Mandrill-:api_key"
msgid "Mandrill API Key"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-Pleroma.Emails.Mailer > Swoosh.Adapters.Postmark-:api_key"
msgid "Postmark API Key"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-Pleroma.Emails.Mailer > Swoosh.Adapters.SMTP-:auth"
msgid "AUTH Mode"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-Pleroma.Emails.Mailer > Swoosh.Adapters.SMTP-:password"
msgid "Password"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-Pleroma.Emails.Mailer > Swoosh.Adapters.SMTP-:port"
msgid "Port"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-Pleroma.Emails.Mailer > Swoosh.Adapters.SMTP-:relay"
msgid "Relay"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-Pleroma.Emails.Mailer > Swoosh.Adapters.SMTP-:retries"
msgid "Retries"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-Pleroma.Emails.Mailer > Swoosh.Adapters.SMTP-:ssl"
msgid "Use SSL"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-Pleroma.Emails.Mailer > Swoosh.Adapters.SMTP-:tls"
msgid "STARTTLS Mode"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-Pleroma.Emails.Mailer > Swoosh.Adapters.SMTP-:username"
msgid "Username"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-Pleroma.Emails.Mailer > Swoosh.Adapters.Sendgrid-:api_key"
msgid "SendGrid API Key"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-Pleroma.Emails.Mailer > Swoosh.Adapters.Sendmail-:cmd_args"
msgid "Cmd args"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-Pleroma.Emails.Mailer > Swoosh.Adapters.Sendmail-:cmd_path"
msgid "Cmd path"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-Pleroma.Emails.Mailer > Swoosh.Adapters.Sendmail-:qmail"
msgid "Qmail compat mode"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-Pleroma.Emails.Mailer > Swoosh.Adapters.SocketLabs-:api_key"
msgid "SocketLabs API Key"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-Pleroma.Emails.Mailer > Swoosh.Adapters.SocketLabs-:server_id"
msgid "Server ID"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-Pleroma.Emails.Mailer > Swoosh.Adapters.SparkPost-:api_key"
msgid "SparkPost API key"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-Pleroma.Emails.Mailer > Swoosh.Adapters.SparkPost-:endpoint"
msgid "Endpoint"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-Pleroma.Emails.NewUsersDigestEmail > :enabled"
msgid "Enabled"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-Pleroma.Emails.UserEmail > :logo"
msgid "Logo"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-Pleroma.Emails.UserEmail > :styling"
msgid "Styling"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-Pleroma.Emails.UserEmail > :styling > :background_color"
msgid "Background color"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-Pleroma.Emails.UserEmail > :styling > :content_background_color"
msgid "Content background color"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-Pleroma.Emails.UserEmail > :styling > :header_color"
msgid "Header color"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-Pleroma.Emails.UserEmail > :styling > :link_color"
msgid "Link color"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-Pleroma.Emails.UserEmail > :styling > :text_color"
msgid "Text color"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-Pleroma.Emails.UserEmail > :styling > :text_muted_color"
msgid "Text muted color"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-Pleroma.Formatter > :class"
msgid "Class"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-Pleroma.Formatter > :extra"
msgid "Extra"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-Pleroma.Formatter > :new_window"
msgid "New window"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-Pleroma.Formatter > :rel"
msgid "Rel"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-Pleroma.Formatter > :strip_prefix"
msgid "Strip prefix"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-Pleroma.Formatter > :truncate"
msgid "Truncate"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-Pleroma.Formatter > :validate_tld"
msgid "Validate tld"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-Pleroma.ScheduledActivity > :daily_user_limit"
msgid "Daily user limit"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-Pleroma.ScheduledActivity > :enabled"
msgid "Enabled"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-Pleroma.ScheduledActivity > :total_user_limit"
msgid "Total user limit"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-Pleroma.Upload > :base_url"
msgid "Base URL"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-Pleroma.Upload > :filename_display_max_length"
msgid "Filename display max length"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-Pleroma.Upload > :filters"
msgid "Filters"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-Pleroma.Upload > :link_name"
msgid "Link name"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-Pleroma.Upload > :proxy_remote"
msgid "Proxy remote"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-Pleroma.Upload > :uploader"
msgid "Uploader"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-Pleroma.Upload.Filter.AnonymizeFilename > :text"
msgid "Text"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-Pleroma.Upload.Filter.Mogrify > :args"
msgid "Args"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-Pleroma.Uploaders.Local > :uploads"
msgid "Uploads"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-Pleroma.Uploaders.S3 > :bucket"
msgid "Bucket"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-Pleroma.Uploaders.S3 > :bucket_namespace"
msgid "Bucket namespace"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-Pleroma.Uploaders.S3 > :streaming_enabled"
msgid "Streaming enabled"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-Pleroma.Uploaders.S3 > :truncated_namespace"
msgid "Truncated namespace"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-Pleroma.User > :email_blacklist"
msgid "Email blacklist"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-Pleroma.User > :restricted_nicknames"
msgid "Restricted nicknames"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-Pleroma.User.Backup > :limit_days"
msgid "Limit days"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-Pleroma.User.Backup > :purge_after_days"
msgid "Purge after days"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-Pleroma.Web.ApiSpec.CastAndValidate > :strict"
msgid "Strict"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-Pleroma.Web.MediaProxy.Invalidation.Http > :headers"
msgid "Headers"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-Pleroma.Web.MediaProxy.Invalidation.Http > :method"
msgid "Method"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-Pleroma.Web.MediaProxy.Invalidation.Http > :options"
msgid "Options"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-Pleroma.Web.MediaProxy.Invalidation.Http > :options > :params"
msgid "Params"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-Pleroma.Web.MediaProxy.Invalidation.Script > :script_path"
msgid "Script path"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-Pleroma.Web.MediaProxy.Invalidation.Script > :url_format"
msgid "URL Format"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-Pleroma.Web.Metadata > :providers"
msgid "Providers"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-Pleroma.Web.Metadata > :unfurl_nsfw"
msgid "Unfurl NSFW"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-Pleroma.Web.Plugs.RemoteIp > :enabled"
msgid "Enabled"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-Pleroma.Web.Plugs.RemoteIp > :headers"
msgid "Headers"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-Pleroma.Web.Plugs.RemoteIp > :proxies"
msgid "Proxies"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-Pleroma.Web.Plugs.RemoteIp > :reserved"
msgid "Reserved"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-Pleroma.Web.Preload > :providers"
msgid "Providers"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-Pleroma.Workers.PurgeExpiredActivity > :enabled"
msgid "Enabled"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :pleroma-Pleroma.Workers.PurgeExpiredActivity > :min_lifetime"
msgid "Min lifetime"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
-msgctxt "config label at :prometheus-Pleroma.Web.Endpoint.MetricsExporter > :auth"
-msgid "Auth"
-msgstr ""
-
#, elixir-autogen, elixir-format
-#: lib/pleroma/docs/translator.ex:5
-msgctxt "config label at :prometheus-Pleroma.Web.Endpoint.MetricsExporter > :enabled"
-msgid "Enabled"
-msgstr ""
-
-#, elixir-autogen, elixir-format
-#: lib/pleroma/docs/translator.ex:5
-msgctxt "config label at :prometheus-Pleroma.Web.Endpoint.MetricsExporter > :format"
-msgid "Format"
-msgstr ""
-
-#, elixir-autogen, elixir-format
-#: lib/pleroma/docs/translator.ex:5
-msgctxt "config label at :prometheus-Pleroma.Web.Endpoint.MetricsExporter > :ip_whitelist"
-msgid "IP Whitelist"
-msgstr ""
-
-#, elixir-autogen, elixir-format
-#: lib/pleroma/docs/translator.ex:5
-msgctxt "config label at :prometheus-Pleroma.Web.Endpoint.MetricsExporter > :path"
-msgid "Path"
-msgstr ""
-
-#, elixir-autogen, elixir-format
-#: lib/pleroma/docs/translator.ex:5
-msgctxt "config label at :quack > :level"
-msgid "Level"
-msgstr ""
-
-#, elixir-autogen, elixir-format
-#: lib/pleroma/docs/translator.ex:5
-msgctxt "config label at :quack > :meta"
-msgid "Meta"
-msgstr ""
-
-#, elixir-autogen, elixir-format
-#: lib/pleroma/docs/translator.ex:5
-msgctxt "config label at :quack > :webhook_url"
-msgid "Webhook URL"
-msgstr ""
-
-#, elixir-autogen, elixir-format
-#: lib/pleroma/docs/translator.ex:5
msgctxt "config label at :web_push_encryption-:vapid_details > :private_key"
msgid "Private key"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :web_push_encryption-:vapid_details > :public_key"
msgid "Public key"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
msgctxt "config label at :web_push_encryption-:vapid_details > :subject"
msgid "Subject"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
-msgctxt "config description at :pleroma-:activitypub > :authorized_fetch_mode"
-msgid "Require HTTP signatures for AP fetches"
-msgstr ""
-
#, elixir-autogen, elixir-format
-#: lib/pleroma/docs/translator.ex:5
-msgctxt "config description at :pleroma-:instance > :short_description"
-msgid "Shorter version of instance description. It can be seen on `/api/v1/instance`"
-msgstr ""
-
-#, elixir-autogen, elixir-format
-#: lib/pleroma/docs/translator.ex:5
msgctxt "config label at :pleroma-:activitypub > :authorized_fetch_mode"
msgid "Authorized fetch mode"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/docs/translator.ex:5
-msgctxt "config label at :pleroma-:instance > :short_description"
-msgid "Short description"
+#, elixir-autogen, elixir-format
+msgctxt "config description at :pleroma-:activitypub > :authorized_fetch_mode"
+msgid "Require HTTP signatures on AP fetches"
+msgstr ""
+
+#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
+msgctxt "config description at :pleroma-:activitypub > :max_collection_objects"
+msgid "The maximum number of items to fetch from a remote collections. Setting this too low can lead to only getting partial collections, but too high and you can end up fetching far too many objects."
+msgstr ""
+
+#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
+msgctxt "config description at :pleroma-:argos_translate"
+msgid "ArgosTranslate Settings."
+msgstr ""
+
+#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
+msgctxt "config description at :pleroma-:argos_translate > :command_argos_translate"
+msgid "command for `argos-translate`. Can be the command if it's in your PATH, or the full path to the file."
+msgstr ""
+
+#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
+msgctxt "config description at :pleroma-:argos_translate > :command_argospm"
+msgid "command for `argospm`. Can be the command if it's in your PATH, or the full path to the file."
+msgstr ""
+
+#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
+msgctxt "config description at :pleroma-:argos_translate > :strip_html"
+msgid "Strip html from the post before translating it."
+msgstr ""
+
+#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
+msgctxt "config description at :pleroma-:deepl"
+msgid "DeepL Settings."
+msgstr ""
+
+#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
+msgctxt "config description at :pleroma-:deepl > :api_key"
+msgid "API key for DeepL"
+msgstr ""
+
+#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
+msgctxt "config description at :pleroma-:deepl > :tier"
+msgid "API Tier"
+msgstr ""
+
+#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
+msgctxt "config description at :pleroma-:frontend_configurations"
+msgid "This form can be used to configure a keyword list that keeps the configuration data for any kind of frontend. By default, settings for pleroma_fe and masto_fe are configured. If you want to add your own configuration your settings all fields must be complete."
+msgstr ""
+
+#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
+msgctxt "config description at :pleroma-:frontend_configurations > :masto_fe"
+msgid "Settings for Masto FE"
+msgstr ""
+
+#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
+msgctxt "config description at :pleroma-:frontend_configurations > :masto_fe > :showInstanceSpecificPanel"
+msgid "Whenether to show the instance's specific panel"
+msgstr ""
+
+#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
+msgctxt "config description at :pleroma-:frontend_configurations > :pleroma_fe > :conversationDisplay"
+msgid "How to display conversations (linear or tree)"
+msgstr ""
+
+#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
+msgctxt "config description at :pleroma-:frontend_configurations > :pleroma_fe > :hideSiteFavicon"
+msgid "Whether to hide the instance favicon from the navbar"
+msgstr ""
+
+#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
+msgctxt "config description at :pleroma-:frontend_configurations > :pleroma_fe > :hideSiteName"
+msgid "Whether to hide the site name from the navbar"
+msgstr ""
+
+#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
+msgctxt "config description at :pleroma-:frontend_configurations > :pleroma_fe > :renderMisskeyMarkdown"
+msgid "Whether to render Misskey-flavoured markdown"
+msgstr ""
+
+#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
+msgctxt "config description at :pleroma-:frontend_configurations > :pleroma_fe > :showNavShortcuts"
+msgid "Whether to put extra navigation options on the navbar"
+msgstr ""
+
+#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
+msgctxt "config description at :pleroma-:frontend_configurations > :pleroma_fe > :showPanelNavShortcuts"
+msgid "Whether to put timeline nav tabs on the top of the panel"
+msgstr ""
+
+#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
+msgctxt "config description at :pleroma-:frontend_configurations > :pleroma_fe > :showWiderShortcuts"
+msgid "Whether to add extra space between navbar icons"
+msgstr ""
+
+#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
+msgctxt "config description at :pleroma-:frontend_configurations > :pleroma_fe > :stopGifs"
+msgid "Whether to pause animated images until they're hovered on"
+msgstr ""
+
+#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
+msgctxt "config description at :pleroma-:frontends > :mastodon"
+msgid "Mastodon frontend"
+msgstr ""
+
+#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
+msgctxt "config description at :pleroma-:frontends > :mastodon > name"
+msgid "Name of the installed frontend. Valid config must include both `Name` and `Reference` values."
+msgstr ""
+
+#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
+msgctxt "config description at :pleroma-:frontends > :mastodon > ref"
+msgid "Reference of the installed frontend to be used. Valid config must include both `Name` and `Reference` values."
+msgstr ""
+
+#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
+msgctxt "config description at :pleroma-:frontends > :swagger"
+msgid "Swagger API reference frontend"
+msgstr ""
+
+#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
+msgctxt "config description at :pleroma-:frontends > :swagger > enabled"
+msgid "Whether to have this enabled at all"
+msgstr ""
+
+#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
+msgctxt "config description at :pleroma-:frontends > :swagger > name"
+msgid "Name of the installed frontend. Valid config must include both `Name` and `Reference` values."
+msgstr ""
+
+#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
+msgctxt "config description at :pleroma-:frontends > :swagger > ref"
+msgid "Reference of the installed frontend to be used. Valid config must include both `Name` and `Reference` values."
+msgstr ""
+
+#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
+msgctxt "config description at :pleroma-:http > :pool_size"
+msgid "Number of concurrent outbound HTTP requests to allow. Default 50."
+msgstr ""
+
+#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
+msgctxt "config description at :pleroma-:http > :pool_timeout"
+msgid "Timeout for initiating HTTP requests (in ms, default 5000)"
+msgstr ""
+
+#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
+msgctxt "config description at :pleroma-:http > :proxy_url"
+msgid "Proxy URL - of the format http://host:port. Advise setting in .exs instead of admin-fe due to this being set at boot-time."
+msgstr ""
+
+#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
+msgctxt "config description at :pleroma-:http > :receive_timeout"
+msgid "Timeout for waiting on remote servers to respond to HTTP requests (in ms, default 15000)"
+msgstr ""
+
+#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
+msgctxt "config description at :pleroma-:instance > :export_prometheus_metrics"
+msgid "Enable prometheus metrics (at /api/v1/akkoma/metrics)"
+msgstr ""
+
+#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
+msgctxt "config description at :pleroma-:instance > :languages"
+msgid "Languages the instance uses"
+msgstr ""
+
+#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
+msgctxt "config description at :pleroma-:instance > :local_bubble"
+msgid "List of instances that make up your local bubble (closely-related instances). Used to populate the 'bubble' timeline (domain only)."
+msgstr ""
+
+#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
+msgctxt "config description at :pleroma-:instance > :privileged_staff"
+msgid "Let moderators access sensitive data (e.g. updating user credentials, get password reset token, delete users, index and read private statuses)"
+msgstr ""
+
+#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
+msgctxt "config description at :pleroma-:instance > :public"
+msgid "Switching this on will allow unauthenticated users access to all public resources on your instance Switching it off is useful for disabling the Local Timeline and The Whole Known Network. Note: when setting to `false`, please also check `:restrict_unauthenticated` setting."
+msgstr ""
+
+#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
+msgctxt "config description at :pleroma-:instance > :quarantined_instances"
+msgid "(Deprecated, will be removed in next release) List of ActivityPub instances where activities will not be sent, and the reason for doing so"
+msgstr ""
+
+#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
+msgctxt "config description at :pleroma-:instances_nodeinfo"
+msgid "Control favicons for instances"
+msgstr ""
+
+#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
+msgctxt "config description at :pleroma-:instances_nodeinfo > :enabled"
+msgid "Allow/disallow getting instance nodeinfo"
+msgstr ""
+
+#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
+msgctxt "config description at :pleroma-:libre_translate"
+msgid "LibreTranslate Settings."
+msgstr ""
+
+#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
+msgctxt "config description at :pleroma-:libre_translate > :api_key"
+msgid "API key for libretranslate"
+msgstr ""
+
+#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
+msgctxt "config description at :pleroma-:libre_translate > :url"
+msgid "URL for libretranslate"
+msgstr ""
+
+#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
+msgctxt "config description at :pleroma-:manifest > :background_color"
+msgid "Describe the background color of the app - this is only used for mastodon-fe"
+msgstr ""
+
+#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
+msgctxt "config description at :pleroma-:manifest > :theme_color"
+msgid "Describe the theme color of the app - this is only used for mastodon-fe"
+msgstr ""
+
+#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
+msgctxt "config description at :pleroma-:mrf > :transparency_obfuscate_domains"
+msgid "Obfuscate domains in MRF transparency. This is useful if the domain you're blocking contains words you don't want displayed, but still want to disclose the MRF settings."
+msgstr ""
+
+#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
+msgctxt "config description at :pleroma-:mrf_inline_quote"
+msgid "Force quote post URLs inline"
+msgstr ""
+
+#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
+msgctxt "config description at :pleroma-:mrf_inline_quote > :prefix"
+msgid "Prefix before the link"
+msgstr ""
+
+#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
+msgctxt "config description at :pleroma-:mrf_simple > :handle_threads"
+msgid "Enable to filter replies to threads based from their originating instance, using the reject and accept rules"
+msgstr ""
+
+#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
+msgctxt "config description at :pleroma-:restrict_unauthenticated"
+msgid "Disallow unauthenticated viewing of timelines, user profiles and statuses."
+msgstr ""
+
+#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
+msgctxt "config description at :pleroma-:restrict_unauthenticated > :activities"
+msgid "Settings for posts."
+msgstr ""
+
+#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
+msgctxt "config description at :pleroma-:restrict_unauthenticated > :activities > :local"
+msgid "Disallow viewing local posts."
+msgstr ""
+
+#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
+msgctxt "config description at :pleroma-:restrict_unauthenticated > :activities > :remote"
+msgid "Disallow viewing remote posts."
+msgstr ""
+
+#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
+msgctxt "config description at :pleroma-:restrict_unauthenticated > :profiles > :local"
+msgid "Disallow viewing local user profiles."
+msgstr ""
+
+#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
+msgctxt "config description at :pleroma-:restrict_unauthenticated > :profiles > :remote"
+msgid "Disallow viewing remote user profiles."
+msgstr ""
+
+#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
+msgctxt "config description at :pleroma-:restrict_unauthenticated > :timelines > :federated"
+msgid "Disallow viewing the whole known network timeline."
+msgstr ""
+
+#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
+msgctxt "config description at :pleroma-:restrict_unauthenticated > :timelines > :local"
+msgid "Disallow viewing the public timeline."
+msgstr ""
+
+#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
+msgctxt "config description at :pleroma-:translator"
+msgid "Translation Settings"
+msgstr ""
+
+#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
+msgctxt "config description at :pleroma-:translator > :enabled"
+msgid "Is translation enabled?"
+msgstr ""
+
+#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
+msgctxt "config description at :pleroma-:translator > :module"
+msgid "Translation module."
+msgstr ""
+
+#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
+msgctxt "config description at :pleroma-:workers > :timeout"
+msgid "Timeout for jobs, per `Oban` queue, in ms"
+msgstr ""
+
+#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
+msgctxt "config description at :pleroma-Pleroma.Search"
+msgid "General search settings."
+msgstr ""
+
+#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
+msgctxt "config description at :pleroma-Pleroma.Search > :module"
+msgid "Selected search module."
+msgstr ""
+
+#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
+msgctxt "config description at :pleroma-Pleroma.Search.Elasticsearch.Cluster"
+msgid "Elasticsearch settings."
+msgstr ""
+
+#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
+msgctxt "config description at :pleroma-Pleroma.Search.Elasticsearch.Cluster > :api"
+msgid "The API module used by Elasticsearch. Should always be Elasticsearch.API.HTTP"
+msgstr ""
+
+#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
+msgctxt "config description at :pleroma-Pleroma.Search.Elasticsearch.Cluster > :indexes"
+msgid "The indices to set up in Elasticsearch"
+msgstr ""
+
+#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
+msgctxt "config description at :pleroma-Pleroma.Search.Elasticsearch.Cluster > :indexes > :activities"
+msgid "Config for the index to use for activities"
+msgstr ""
+
+#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
+msgctxt "config description at :pleroma-Pleroma.Search.Elasticsearch.Cluster > :indexes > :activities > :bulk_page_size"
+msgid "Size for bulk put requests, mostly used on building the index"
+msgstr ""
+
+#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
+msgctxt "config description at :pleroma-Pleroma.Search.Elasticsearch.Cluster > :indexes > :activities > :bulk_wait_interval"
+msgid "Time to wait between bulk put requests (in ms)"
+msgstr ""
+
+#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
+msgctxt "config description at :pleroma-Pleroma.Search.Elasticsearch.Cluster > :indexes > :activities > :settings"
+msgid "Path to the file containing index settings for the activities index. Should contain a mapping."
+msgstr ""
+
+#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
+msgctxt "config description at :pleroma-Pleroma.Search.Elasticsearch.Cluster > :indexes > :activities > :sources"
+msgid "The internal types to use for this index"
+msgstr ""
+
+#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
+msgctxt "config description at :pleroma-Pleroma.Search.Elasticsearch.Cluster > :indexes > :activities > :store"
+msgid "The internal store module"
+msgstr ""
+
+#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
+msgctxt "config description at :pleroma-Pleroma.Search.Elasticsearch.Cluster > :json_library"
+msgid "The JSON module used to encode/decode when communicating with Elasticsearch"
+msgstr ""
+
+#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
+msgctxt "config description at :pleroma-Pleroma.Search.Elasticsearch.Cluster > :password"
+msgid "Password to connect to ES. Set to nil if your cluster is unauthenticated."
+msgstr ""
+
+#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
+msgctxt "config description at :pleroma-Pleroma.Search.Elasticsearch.Cluster > :url"
+msgid "Elasticsearch URL."
+msgstr ""
+
+#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
+msgctxt "config description at :pleroma-Pleroma.Search.Elasticsearch.Cluster > :username"
+msgid "Username to connect to ES. Set to nil if your cluster is unauthenticated."
+msgstr ""
+
+#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
+msgctxt "config description at :pleroma-Pleroma.Search.Meilisearch"
+msgid "Meilisearch settings."
+msgstr ""
+
+#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
+msgctxt "config description at :pleroma-Pleroma.Search.Meilisearch > :initial_indexing_chunk_size"
+msgid "Amount of posts in a batch when running the initial indexing operation. Should probably not be more than 100000 since there's a limit on maximum insert size"
+msgstr ""
+
+#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
+msgctxt "config description at :pleroma-Pleroma.Search.Meilisearch > :private_key"
+msgid "Private key for meilisearch authentication, or `nil` to disable private key authentication."
+msgstr ""
+
+#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
+msgctxt "config description at :pleroma-Pleroma.Search.Meilisearch > :url"
+msgid "Meilisearch URL."
+msgstr ""
+
+#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
+msgctxt "config description at :pleroma-Pleroma.Web.Metadata.Providers.Theme"
+msgid "Specific provider to hand out themes to instances that scrape index.html"
+msgstr ""
+
+#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
+msgctxt "config description at :pleroma-Pleroma.Web.Metadata.Providers.Theme > :theme_color"
+msgid "The 'accent color' of the instance, used in places like misskey's instance ticker"
+msgstr ""
+
+#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
+msgctxt "config label at :pleroma-:activitypub > :max_collection_objects"
+msgid "Max collection objects"
+msgstr ""
+
+#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
+msgctxt "config label at :pleroma-:argos_translate"
+msgid "Argos translate"
+msgstr ""
+
+#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
+msgctxt "config label at :pleroma-:argos_translate > :command_argos_translate"
+msgid "Command argos translate"
+msgstr ""
+
+#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
+msgctxt "config label at :pleroma-:argos_translate > :command_argospm"
+msgid "Command argospm"
+msgstr ""
+
+#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
+msgctxt "config label at :pleroma-:argos_translate > :strip_html"
+msgid "Strip html"
+msgstr ""
+
+#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
+msgctxt "config label at :pleroma-:deepl"
+msgid "DeepL"
+msgstr ""
+
+#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
+msgctxt "config label at :pleroma-:deepl > :api_key"
+msgid "Api key"
+msgstr ""
+
+#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
+msgctxt "config label at :pleroma-:deepl > :tier"
+msgid "Tier"
+msgstr ""
+
+#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
+msgctxt "config label at :pleroma-:frontend_configurations > :masto_fe"
+msgid "Masto FE"
+msgstr ""
+
+#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
+msgctxt "config label at :pleroma-:frontend_configurations > :masto_fe > :showInstanceSpecificPanel"
+msgid "Show instance specific panel"
+msgstr ""
+
+#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
+msgctxt "config label at :pleroma-:frontend_configurations > :pleroma_fe > :conversationDisplay"
+msgid "Conversation display style"
+msgstr ""
+
+#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
+msgctxt "config label at :pleroma-:frontend_configurations > :pleroma_fe > :hideSiteFavicon"
+msgid "Hide site favicon"
+msgstr ""
+
+#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
+msgctxt "config label at :pleroma-:frontend_configurations > :pleroma_fe > :hideSiteName"
+msgid "Hide site name"
+msgstr ""
+
+#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
+msgctxt "config label at :pleroma-:frontend_configurations > :pleroma_fe > :renderMisskeyMarkdown"
+msgid "Render misskey markdown"
+msgstr ""
+
+#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
+msgctxt "config label at :pleroma-:frontend_configurations > :pleroma_fe > :showNavShortcuts"
+msgid "Show navbar shortcuts"
+msgstr ""
+
+#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
+msgctxt "config label at :pleroma-:frontend_configurations > :pleroma_fe > :showPanelNavShortcuts"
+msgid "Show timeline panel nav shortcuts"
+msgstr ""
+
+#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
+msgctxt "config label at :pleroma-:frontend_configurations > :pleroma_fe > :showWiderShortcuts"
+msgid "Increase navbar shortcut spacing"
+msgstr ""
+
+#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
+msgctxt "config label at :pleroma-:frontend_configurations > :pleroma_fe > :stopGifs"
+msgid "Stop Gifs"
+msgstr ""
+
+#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
+msgctxt "config label at :pleroma-:frontends > :mastodon"
+msgid "Mastodon"
+msgstr ""
+
+#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
+msgctxt "config label at :pleroma-:frontends > :mastodon > name"
+msgid "Name"
+msgstr ""
+
+#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
+msgctxt "config label at :pleroma-:frontends > :mastodon > ref"
+msgid "Reference"
+msgstr ""
+
+#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
+msgctxt "config label at :pleroma-:frontends > :swagger"
+msgid "Swagger"
+msgstr ""
+
+#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
+msgctxt "config label at :pleroma-:frontends > :swagger > enabled"
+msgid "Enabled"
+msgstr ""
+
+#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
+msgctxt "config label at :pleroma-:frontends > :swagger > name"
+msgid "Name"
+msgstr ""
+
+#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
+msgctxt "config label at :pleroma-:frontends > :swagger > ref"
+msgid "Reference"
+msgstr ""
+
+#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
+msgctxt "config label at :pleroma-:http > :pool_size"
+msgid "Pool size"
+msgstr ""
+
+#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
+msgctxt "config label at :pleroma-:http > :pool_timeout"
+msgid "HTTP Pool Request Timeout"
+msgstr ""
+
+#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
+msgctxt "config label at :pleroma-:http > :receive_timeout"
+msgid "HTTP Receive Timeout"
+msgstr ""
+
+#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
+msgctxt "config label at :pleroma-:instance > :export_prometheus_metrics"
+msgid "Export prometheus metrics"
+msgstr ""
+
+#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
+msgctxt "config label at :pleroma-:instance > :languages"
+msgid "Languages"
+msgstr ""
+
+#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
+msgctxt "config label at :pleroma-:instance > :local_bubble"
+msgid "Local bubble"
+msgstr ""
+
+#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
+msgctxt "config label at :pleroma-:instances_nodeinfo"
+msgid "Instances nodeinfo"
+msgstr ""
+
+#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
+msgctxt "config label at :pleroma-:instances_nodeinfo > :enabled"
+msgid "Enabled"
+msgstr ""
+
+#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
+msgctxt "config label at :pleroma-:libre_translate"
+msgid "Libre translate"
+msgstr ""
+
+#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
+msgctxt "config label at :pleroma-:libre_translate > :api_key"
+msgid "Api key"
+msgstr ""
+
+#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
+msgctxt "config label at :pleroma-:libre_translate > :url"
+msgid "Url"
+msgstr ""
+
+#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
+msgctxt "config label at :pleroma-:mrf > :transparency_obfuscate_domains"
+msgid "MRF domain obfuscation"
+msgstr ""
+
+#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
+msgctxt "config label at :pleroma-:mrf_inline_quote"
+msgid "MRF Inline Quote"
+msgstr ""
+
+#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
+msgctxt "config label at :pleroma-:mrf_inline_quote > :prefix"
+msgid "Prefix"
+msgstr ""
+
+#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
+msgctxt "config label at :pleroma-:mrf_simple > :handle_threads"
+msgid "Apply to entire threads"
+msgstr ""
+
+#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
+msgctxt "config label at :pleroma-:translator"
+msgid "Translator"
+msgstr ""
+
+#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
+msgctxt "config label at :pleroma-:translator > :enabled"
+msgid "Enabled"
+msgstr ""
+
+#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
+msgctxt "config label at :pleroma-:translator > :module"
+msgid "Module"
+msgstr ""
+
+#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
+msgctxt "config label at :pleroma-:workers > :timeout"
+msgid "Timeout"
+msgstr ""
+
+#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
+msgctxt "config label at :pleroma-Pleroma.Search"
+msgid "Search"
+msgstr ""
+
+#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
+msgctxt "config label at :pleroma-Pleroma.Search > :module"
+msgid "Module"
+msgstr ""
+
+#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
+msgctxt "config label at :pleroma-Pleroma.Search.Elasticsearch.Cluster"
+msgid "Elasticsearch"
+msgstr ""
+
+#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
+msgctxt "config label at :pleroma-Pleroma.Search.Elasticsearch.Cluster > :api"
+msgid "Api"
+msgstr ""
+
+#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
+msgctxt "config label at :pleroma-Pleroma.Search.Elasticsearch.Cluster > :indexes"
+msgid "Indexes"
+msgstr ""
+
+#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
+msgctxt "config label at :pleroma-Pleroma.Search.Elasticsearch.Cluster > :indexes > :activities"
+msgid "Activities"
+msgstr ""
+
+#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
+msgctxt "config label at :pleroma-Pleroma.Search.Elasticsearch.Cluster > :indexes > :activities > :bulk_page_size"
+msgid "Bulk page size"
+msgstr ""
+
+#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
+msgctxt "config label at :pleroma-Pleroma.Search.Elasticsearch.Cluster > :indexes > :activities > :bulk_wait_interval"
+msgid "Bulk wait interval"
+msgstr ""
+
+#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
+msgctxt "config label at :pleroma-Pleroma.Search.Elasticsearch.Cluster > :indexes > :activities > :settings"
+msgid "Settings"
+msgstr ""
+
+#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
+msgctxt "config label at :pleroma-Pleroma.Search.Elasticsearch.Cluster > :indexes > :activities > :sources"
+msgid "Sources"
+msgstr ""
+
+#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
+msgctxt "config label at :pleroma-Pleroma.Search.Elasticsearch.Cluster > :indexes > :activities > :store"
+msgid "Store"
+msgstr ""
+
+#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
+msgctxt "config label at :pleroma-Pleroma.Search.Elasticsearch.Cluster > :json_library"
+msgid "Json library"
+msgstr ""
+
+#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
+msgctxt "config label at :pleroma-Pleroma.Search.Elasticsearch.Cluster > :password"
+msgid "Password"
+msgstr ""
+
+#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
+msgctxt "config label at :pleroma-Pleroma.Search.Elasticsearch.Cluster > :url"
+msgid "Url"
+msgstr ""
+
+#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
+msgctxt "config label at :pleroma-Pleroma.Search.Elasticsearch.Cluster > :username"
+msgid "Username"
+msgstr ""
+
+#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
+msgctxt "config label at :pleroma-Pleroma.Search.Meilisearch"
+msgid "Pleroma.Search.Meilisearch"
+msgstr ""
+
+#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
+msgctxt "config label at :pleroma-Pleroma.Search.Meilisearch > :initial_indexing_chunk_size"
+msgid "Initial indexing chunk size"
+msgstr ""
+
+#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
+msgctxt "config label at :pleroma-Pleroma.Search.Meilisearch > :private_key"
+msgid "Private key"
+msgstr ""
+
+#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
+msgctxt "config label at :pleroma-Pleroma.Search.Meilisearch > :url"
+msgid "Url"
+msgstr ""
+
+#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
+msgctxt "config label at :pleroma-Pleroma.Web.Metadata.Providers.Theme"
+msgid "Pleroma.Web.Metadata.Providers.Theme"
+msgstr ""
+
+#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
+msgctxt "config label at :pleroma-Pleroma.Web.Metadata.Providers.Theme > :theme_color"
+msgid "Theme color"
msgstr ""
diff --git a/priv/gettext/default.pot b/priv/gettext/default.pot
index 10a62d2a8..2302a2f16 100644
--- a/priv/gettext/default.pot
+++ b/priv/gettext/default.pot
@@ -10,176 +10,266 @@
msgid ""
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/web/api_spec/render_error.ex:122
+#, elixir-autogen, elixir-format
msgid "%{name} - %{count} is not a multiple of %{multiple}."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/web/api_spec/render_error.ex:131
+#, elixir-autogen, elixir-format
msgid "%{name} - %{value} is larger than exclusive maximum %{max}."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/web/api_spec/render_error.ex:140
+#, elixir-autogen, elixir-format
msgid "%{name} - %{value} is larger than inclusive maximum %{max}."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/web/api_spec/render_error.ex:149
+#, elixir-autogen, elixir-format
msgid "%{name} - %{value} is smaller than exclusive minimum %{min}."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/web/api_spec/render_error.ex:158
+#, elixir-autogen, elixir-format
msgid "%{name} - %{value} is smaller than inclusive minimum %{min}."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/web/api_spec/render_error.ex:102
+#, elixir-autogen, elixir-format
msgid "%{name} - Array items must be unique."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/web/api_spec/render_error.ex:114
+#, elixir-autogen, elixir-format
msgid "%{name} - Array length %{length} is larger than maxItems: %{}."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/web/api_spec/render_error.ex:106
+#, elixir-autogen, elixir-format
msgid "%{name} - Array length %{length} is smaller than minItems: %{min}."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/web/api_spec/render_error.ex:166
+#, elixir-autogen, elixir-format
msgid "%{name} - Invalid %{type}. Got: %{value}."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/web/api_spec/render_error.ex:174
+#, elixir-autogen, elixir-format
msgid "%{name} - Invalid format. Expected %{format}."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/web/api_spec/render_error.ex:51
+#, elixir-autogen, elixir-format
msgid "%{name} - Invalid schema.type. Got: %{type}."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/web/api_spec/render_error.ex:178
+#, elixir-autogen, elixir-format
msgid "%{name} - Invalid value for enum."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/web/api_spec/render_error.ex:95
+#, elixir-autogen, elixir-format
msgid "%{name} - String length is larger than maxLength: %{length}."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/web/api_spec/render_error.ex:88
+#, elixir-autogen, elixir-format
msgid "%{name} - String length is smaller than minLength: %{length}."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/web/api_spec/render_error.ex:63
+#, elixir-autogen, elixir-format
msgid "%{name} - null value where %{type} expected."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/web/api_spec/render_error.ex:60
+#, elixir-autogen, elixir-format
msgid "%{name} - null value."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/web/api_spec/render_error.ex:182
+#, elixir-autogen, elixir-format
msgid "Failed to cast to any schema in %{polymorphic_type}"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/web/api_spec/render_error.ex:71
+#, elixir-autogen, elixir-format
msgid "Failed to cast value as %{invalid_schema}. Value must be castable using `allOf` schemas listed."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/web/api_spec/render_error.ex:84
+#, elixir-autogen, elixir-format
msgid "Failed to cast value to one of: %{failed_schemas}."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/web/api_spec/render_error.ex:78
+#, elixir-autogen, elixir-format
msgid "Failed to cast value using any of: %{failed_schemas}."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/web/api_spec/render_error.ex:212
+#, elixir-autogen, elixir-format
msgid "Invalid value for header: %{name}."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/web/api_spec/render_error.ex:204
+#, elixir-autogen, elixir-format
msgid "Missing field: %{name}."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/web/api_spec/render_error.ex:208
+#, elixir-autogen, elixir-format
msgid "Missing header: %{name}."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/web/api_spec/render_error.ex:196
+#, elixir-autogen, elixir-format
msgid "No value provided for required discriminator `%{field}`."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/web/api_spec/render_error.ex:216
+#, elixir-autogen, elixir-format
msgid "Object property count %{property_count} is greater than maxProperties: %{max_properties}."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/web/api_spec/render_error.ex:224
+#, elixir-autogen, elixir-format
msgid "Object property count %{property_count} is less than minProperties: %{min_properties}"
msgstr ""
-#, elixir-autogen, elixir-format
-#: lib/pleroma/web/templates/static_fe/static_fe/error.html.eex:2
-msgid "Oops"
-msgstr ""
-
-#, elixir-autogen, elixir-format
#: lib/pleroma/web/api_spec/render_error.ex:188
+#, elixir-autogen, elixir-format
msgid "Unexpected field: %{name}."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/web/api_spec/render_error.ex:200
+#, elixir-autogen, elixir-format
msgid "Unknown schema: %{name}."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/web/api_spec/render_error.ex:192
+#, elixir-autogen, elixir-format
msgid "Value used as discriminator for `%{field}` matches no schemas."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/web/templates/embed/show.html.eex:43
-#: lib/pleroma/web/templates/static_fe/static_fe/_notice.html.eex:37
+#, elixir-autogen, elixir-format
msgid "announces"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/web/templates/embed/show.html.eex:44
-#: lib/pleroma/web/templates/static_fe/static_fe/_notice.html.eex:38
+#, elixir-autogen, elixir-format
msgid "likes"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/web/templates/embed/show.html.eex:42
-#: lib/pleroma/web/templates/static_fe/static_fe/_notice.html.eex:36
+#, elixir-autogen, elixir-format
msgid "replies"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/web/templates/embed/show.html.eex:27
-#: lib/pleroma/web/templates/static_fe/static_fe/_notice.html.eex:22
+#, elixir-autogen, elixir-format
msgid "sensitive media"
msgstr ""
+
+#: lib/pleroma/web/templates/layout/static_fe.html.eex:29
+#, elixir-autogen, elixir-format
+msgid "About %{instance}"
+msgstr ""
+
+#: lib/pleroma/web/templates/static_fe/static_fe/profile.html.eex:24
+#, elixir-autogen, elixir-format
+msgid "Admin"
+msgstr ""
+
+#: lib/pleroma/web/templates/static_fe/static_fe/profile.html.eex:30
+#, elixir-autogen, elixir-format
+msgid "Bot"
+msgstr ""
+
+#: lib/pleroma/web/templates/static_fe/static_fe/conversation.html.eex:3
+#, elixir-autogen, elixir-format
+msgid "Conversation"
+msgstr ""
+
+#: lib/pleroma/web/templates/static_fe/static_fe/_notice.html.eex:59
+#, elixir-autogen, elixir-format
+msgid "Edited %{timeago}"
+msgstr ""
+
+#: lib/pleroma/web/templates/static_fe/static_fe/error.html.eex:3
+#, elixir-autogen, elixir-format
+msgid "Error"
+msgstr ""
+
+#: lib/pleroma/web/templates/static_fe/static_fe/profile.html.eex:56
+#: lib/pleroma/web/templates/static_fe/static_fe/profile.html.eex:91
+#, elixir-autogen, elixir-format
+msgid "Followers"
+msgstr ""
+
+#: lib/pleroma/web/templates/static_fe/static_fe/profile.html.eex:52
+#: lib/pleroma/web/templates/static_fe/static_fe/profile.html.eex:84
+#, elixir-autogen, elixir-format
+msgid "Following"
+msgstr ""
+
+#: lib/pleroma/web/templates/static_fe/static_fe/profile.html.eex:53
+#: lib/pleroma/web/templates/static_fe/static_fe/profile.html.eex:57
+#, elixir-autogen, elixir-format
+msgid "Hidden"
+msgstr ""
+
+#: lib/pleroma/web/templates/static_fe/static_fe/_attachment.html.eex:4
+#, elixir-autogen, elixir-format
+msgid "Hover to show content"
+msgstr ""
+
+#: lib/pleroma/web/templates/static_fe/static_fe/profile.html.eex:97
+#, elixir-autogen, elixir-format
+msgid "Media"
+msgstr ""
+
+#: lib/pleroma/web/templates/static_fe/static_fe/profile.html.eex:27
+#, elixir-autogen, elixir-format
+msgid "Moderator"
+msgstr ""
+
+#: lib/pleroma/web/templates/static_fe/static_fe/profile.html.eex:48
+#: lib/pleroma/web/templates/static_fe/static_fe/profile.html.eex:73
+#, elixir-autogen, elixir-format
+msgid "Posts"
+msgstr ""
+
+#: lib/pleroma/web/templates/static_fe/static_fe/_notice.html.eex:46
+#, elixir-autogen, elixir-format
+msgid "Reply to"
+msgstr ""
+
+#: lib/pleroma/web/templates/static_fe/static_fe/_notice.html.eex:67
+#, elixir-autogen, elixir-format
+msgid "Show content"
+msgstr ""
+
+#: lib/pleroma/web/templates/static_fe/static_fe/profile.html.eex:102
+#, elixir-autogen, elixir-format
+msgid "Show newer"
+msgstr ""
+
+#: lib/pleroma/web/templates/static_fe/static_fe/profile.html.eex:140
+#, elixir-autogen, elixir-format
+msgid "Show older"
+msgstr ""
+
+#: lib/pleroma/web/templates/static_fe/static_fe/profile.html.eex:78
+#, elixir-autogen, elixir-format
+msgid "With Replies"
+msgstr ""
+
+#: lib/pleroma/web/templates/static_fe/static_fe/profile.html.eex:127
+#, elixir-autogen, elixir-format
+msgid "repeated"
+msgstr ""
diff --git a/priv/gettext/errors.pot b/priv/gettext/errors.pot
index 85854d23e..8d62a1726 100644
--- a/priv/gettext/errors.pot
+++ b/priv/gettext/errors.pot
@@ -89,376 +89,363 @@ msgstr ""
msgid "must be equal to %{number}"
msgstr ""
+#: lib/pleroma/web/common_api.ex:503
#, elixir-autogen, elixir-format
-#: lib/pleroma/web/common_api.ex:523
msgid "Account not found"
msgstr ""
+#: lib/pleroma/web/common_api.ex:263
#, elixir-autogen, elixir-format
-#: lib/pleroma/web/common_api.ex:316
msgid "Already voted"
msgstr ""
+#: lib/pleroma/web/o_auth/o_auth_controller.ex:427
#, elixir-autogen, elixir-format
-#: lib/pleroma/web/o_auth/o_auth_controller.ex:402
msgid "Bad request"
msgstr ""
+#: lib/pleroma/web/controller_helper.ex:105
#, elixir-autogen, elixir-format
-#: lib/pleroma/web/controller_helper.ex:97
-#: lib/pleroma/web/controller_helper.ex:103
msgid "Can't display this activity"
msgstr ""
+#: lib/pleroma/web/mastodon_api/controllers/account_controller.ex:334
#, elixir-autogen, elixir-format
-#: lib/pleroma/web/mastodon_api/controllers/account_controller.ex:325
msgid "Can't find user"
msgstr ""
+#: lib/pleroma/web/pleroma_api/controllers/account_controller.ex:61
#, elixir-autogen, elixir-format
-#: lib/pleroma/web/pleroma_api/controllers/account_controller.ex:80
msgid "Can't get favorites"
msgstr ""
+#: lib/pleroma/web/common_api/utils.ex:473
#, elixir-autogen, elixir-format
-#: lib/pleroma/web/common_api/utils.ex:482
msgid "Cannot post an empty status without attachments"
msgstr ""
+#: lib/pleroma/web/common_api/utils.ex:461
#, elixir-autogen, elixir-format
-#: lib/pleroma/web/common_api/utils.ex:441
msgid "Comment must be up to %{max_size} characters"
msgstr ""
+#: lib/pleroma/config_db.ex:199
#, elixir-autogen, elixir-format
-#: lib/pleroma/config_db.ex:200
msgid "Config with params %{params} not found"
msgstr ""
+#: lib/pleroma/web/common_api.ex:114
+#: lib/pleroma/web/common_api.ex:118
#, elixir-autogen, elixir-format
-#: lib/pleroma/web/common_api.ex:167
-#: lib/pleroma/web/common_api.ex:171
msgid "Could not delete"
msgstr ""
+#: lib/pleroma/web/common_api.ex:164
#, elixir-autogen, elixir-format
-#: lib/pleroma/web/common_api.ex:217
msgid "Could not favorite"
msgstr ""
+#: lib/pleroma/web/common_api.ex:201
#, elixir-autogen, elixir-format
-#: lib/pleroma/web/common_api.ex:254
msgid "Could not unfavorite"
msgstr ""
+#: lib/pleroma/web/common_api.ex:149
#, elixir-autogen, elixir-format
-#: lib/pleroma/web/common_api.ex:202
msgid "Could not unrepeat"
msgstr ""
+#: lib/pleroma/web/common_api.ex:510
+#: lib/pleroma/web/common_api.ex:519
#, elixir-autogen, elixir-format
-#: lib/pleroma/web/common_api.ex:530
-#: lib/pleroma/web/common_api.ex:539
msgid "Could not update state"
msgstr ""
+#: lib/pleroma/web/mastodon_api/controllers/timeline_controller.ex:245
#, elixir-autogen, elixir-format
-#: lib/pleroma/web/mastodon_api/controllers/timeline_controller.ex:205
msgid "Error."
msgstr ""
+#: lib/pleroma/web/twitter_api/twitter_api.ex:104
#, elixir-autogen, elixir-format
-#: lib/pleroma/web/twitter_api/twitter_api.ex:105
msgid "Invalid CAPTCHA"
msgstr ""
+#: lib/pleroma/web/mastodon_api/controllers/account_controller.ex:143
+#: lib/pleroma/web/o_auth/o_auth_controller.ex:660
#, elixir-autogen, elixir-format
-#: lib/pleroma/web/mastodon_api/controllers/account_controller.ex:144
-#: lib/pleroma/web/o_auth/o_auth_controller.ex:631
msgid "Invalid credentials"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/web/plugs/ensure_authenticated_plug.ex:42
+#, elixir-autogen, elixir-format
msgid "Invalid credentials."
msgstr ""
+#: lib/pleroma/web/common_api.ex:284
#, elixir-autogen, elixir-format
-#: lib/pleroma/web/common_api.ex:337
msgid "Invalid indices"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/web/admin_api/controllers/fallback_controller.ex:29
+#, elixir-autogen, elixir-format
msgid "Invalid parameters"
msgstr ""
+#: lib/pleroma/web/common_api/utils.ex:369
#, elixir-autogen, elixir-format
-#: lib/pleroma/web/common_api/utils.ex:349
msgid "Invalid password."
msgstr ""
+#: lib/pleroma/web/mastodon_api/controllers/account_controller.ex:264
#, elixir-autogen, elixir-format
-#: lib/pleroma/web/mastodon_api/controllers/account_controller.ex:255
msgid "Invalid request"
msgstr ""
+#: lib/pleroma/web/twitter_api/twitter_api.ex:107
#, elixir-autogen, elixir-format
-#: lib/pleroma/web/twitter_api/twitter_api.ex:108
msgid "Kocaptcha service unavailable"
msgstr ""
+#: lib/pleroma/web/mastodon_api/controllers/account_controller.ex:139
#, elixir-autogen, elixir-format
-#: lib/pleroma/web/mastodon_api/controllers/account_controller.ex:140
msgid "Missing parameters"
msgstr ""
+#: lib/pleroma/web/admin_api/controllers/admin_api_controller.ex:151
+#: lib/pleroma/web/admin_api/controllers/admin_api_controller.ex:177
+#: lib/pleroma/web/admin_api/controllers/admin_api_controller.ex:219
#, elixir-autogen, elixir-format
-#: lib/pleroma/web/common_api/utils.ex:477
-msgid "No such conversation"
-msgstr ""
-
-#, elixir-autogen, elixir-format
-#: lib/pleroma/web/admin_api/controllers/admin_api_controller.ex:171
-#: lib/pleroma/web/admin_api/controllers/admin_api_controller.ex:197
-#: lib/pleroma/web/admin_api/controllers/admin_api_controller.ex:239
msgid "No such permission_group"
msgstr ""
-#, elixir-autogen, elixir-format
-#: lib/pleroma/web/activity_pub/activity_pub_controller.ex:515
+#: lib/pleroma/web/activity_pub/activity_pub_controller.ex:502
#: lib/pleroma/web/admin_api/controllers/fallback_controller.ex:11
#: lib/pleroma/web/feed/tag_controller.ex:16
-#: lib/pleroma/web/feed/user_controller.ex:69
-#: lib/pleroma/web/o_status/o_status_controller.ex:132
-#: lib/pleroma/web/plugs/uploaded_media.ex:84
+#: lib/pleroma/web/feed/user_controller.ex:70
+#: lib/pleroma/web/o_status/o_status_controller.ex:135
+#: lib/pleroma/web/plugs/uploaded_media.ex:83
+#, elixir-autogen, elixir-format
msgid "Not found"
msgstr ""
+#: lib/pleroma/web/common_api.ex:255
#, elixir-autogen, elixir-format
-#: lib/pleroma/web/common_api.ex:308
msgid "Poll's author can't vote"
msgstr ""
-#, elixir-autogen, elixir-format
+#: lib/pleroma/web/mastodon_api/controllers/account_controller.ex:477
#: lib/pleroma/web/mastodon_api/controllers/fallback_controller.ex:20
#: lib/pleroma/web/mastodon_api/controllers/poll_controller.ex:39
#: lib/pleroma/web/mastodon_api/controllers/poll_controller.ex:51
#: lib/pleroma/web/mastodon_api/controllers/poll_controller.ex:52
-#: lib/pleroma/web/mastodon_api/controllers/status_controller.ex:326
#: lib/pleroma/web/mastodon_api/controllers/subscription_controller.ex:71
+#, elixir-autogen, elixir-format
msgid "Record not found"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/web/admin_api/controllers/fallback_controller.ex:35
-#: lib/pleroma/web/feed/user_controller.ex:78
+#: lib/pleroma/web/feed/user_controller.ex:79
#: lib/pleroma/web/mastodon_api/controllers/fallback_controller.ex:42
-#: lib/pleroma/web/o_status/o_status_controller.ex:138
+#: lib/pleroma/web/o_status/o_status_controller.ex:141
+#, elixir-autogen, elixir-format
msgid "Something went wrong"
msgstr ""
+#: lib/pleroma/web/common_api/activity_draft.ex:156
#, elixir-autogen, elixir-format
-#: lib/pleroma/web/common_api/activity_draft.ex:143
msgid "The message visibility must be direct"
msgstr ""
+#: lib/pleroma/web/common_api/utils.ex:483
#, elixir-autogen, elixir-format
-#: lib/pleroma/web/common_api/utils.ex:492
msgid "The status is over the character limit"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/web/plugs/ensure_public_or_authenticated_plug.ex:36
+#, elixir-autogen, elixir-format
msgid "This resource requires authentication."
msgstr ""
+#: lib/pleroma/web/plugs/rate_limiter.ex:214
#, elixir-autogen, elixir-format
-#: lib/pleroma/web/plugs/rate_limiter.ex:208
msgid "Throttled"
msgstr ""
+#: lib/pleroma/web/common_api.ex:285
#, elixir-autogen, elixir-format
-#: lib/pleroma/web/common_api.ex:338
msgid "Too many choices"
msgstr ""
+#: lib/pleroma/web/admin_api/controllers/admin_api_controller.ex:248
#, elixir-autogen, elixir-format
-#: lib/pleroma/web/admin_api/controllers/admin_api_controller.ex:268
msgid "You can't revoke your own admin status."
msgstr ""
+#: lib/pleroma/web/o_auth/o_auth_controller.ex:267
+#: lib/pleroma/web/o_auth/o_auth_controller.ex:358
#, elixir-autogen, elixir-format
-#: lib/pleroma/web/o_auth/o_auth_controller.ex:243
-#: lib/pleroma/web/o_auth/o_auth_controller.ex:333
msgid "Your account is currently disabled"
msgstr ""
+#: lib/pleroma/web/o_auth/o_auth_controller.ex:229
+#: lib/pleroma/web/o_auth/o_auth_controller.ex:381
#, elixir-autogen, elixir-format
-#: lib/pleroma/web/o_auth/o_auth_controller.ex:205
-#: lib/pleroma/web/o_auth/o_auth_controller.ex:356
msgid "Your login is missing a confirmed e-mail address"
msgstr ""
+#: lib/pleroma/web/activity_pub/activity_pub_controller.ex:390
#, elixir-autogen, elixir-format
-#: lib/pleroma/web/activity_pub/activity_pub_controller.ex:403
msgid "can't read inbox of %{nickname} as %{as_nickname}"
msgstr ""
+#: lib/pleroma/web/activity_pub/activity_pub_controller.ex:489
#, elixir-autogen, elixir-format
-#: lib/pleroma/web/activity_pub/activity_pub_controller.ex:502
msgid "can't update outbox of %{nickname} as %{as_nickname}"
msgstr ""
+#: lib/pleroma/web/common_api.ex:455
#, elixir-autogen, elixir-format
-#: lib/pleroma/web/common_api.ex:475
msgid "conversation is already muted"
msgstr ""
+#: lib/pleroma/web/activity_pub/activity_pub_controller.ex:508
#, elixir-autogen, elixir-format
-#: lib/pleroma/web/activity_pub/activity_pub_controller.ex:521
msgid "error"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/web/pleroma_api/controllers/mascot_controller.ex:34
+#, elixir-autogen, elixir-format
msgid "mascots can only be images"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/web/activity_pub/activity_pub_controller.ex:63
+#, elixir-autogen, elixir-format
msgid "not found"
msgstr ""
+#: lib/pleroma/web/o_auth/o_auth_controller.ex:462
#, elixir-autogen, elixir-format
-#: lib/pleroma/web/o_auth/o_auth_controller.ex:437
msgid "Bad OAuth request."
msgstr ""
+#: lib/pleroma/web/twitter_api/twitter_api.ex:113
#, elixir-autogen, elixir-format
-#: lib/pleroma/web/twitter_api/twitter_api.ex:114
msgid "CAPTCHA already used"
msgstr ""
+#: lib/pleroma/web/twitter_api/twitter_api.ex:110
#, elixir-autogen, elixir-format
-#: lib/pleroma/web/twitter_api/twitter_api.ex:111
msgid "CAPTCHA expired"
msgstr ""
+#: lib/pleroma/web/plugs/uploaded_media.ex:56
#, elixir-autogen, elixir-format
-#: lib/pleroma/web/plugs/uploaded_media.ex:57
msgid "Failed"
msgstr ""
+#: lib/pleroma/web/o_auth/o_auth_controller.ex:478
#, elixir-autogen, elixir-format
-#: lib/pleroma/web/o_auth/o_auth_controller.ex:453
msgid "Failed to authenticate: %{message}."
msgstr ""
+#: lib/pleroma/web/o_auth/o_auth_controller.ex:509
#, elixir-autogen, elixir-format
-#: lib/pleroma/web/o_auth/o_auth_controller.ex:484
msgid "Failed to set up user account."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/web/plugs/o_auth_scopes_plug.ex:37
+#, elixir-autogen, elixir-format
msgid "Insufficient permissions: %{permissions}."
msgstr ""
+#: lib/pleroma/web/plugs/uploaded_media.ex:98
#, elixir-autogen, elixir-format
-#: lib/pleroma/web/plugs/uploaded_media.ex:111
msgid "Internal Error"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/web/o_auth/fallback_controller.ex:22
#: lib/pleroma/web/o_auth/fallback_controller.ex:29
+#, elixir-autogen, elixir-format
msgid "Invalid Username/Password"
msgstr ""
+#: lib/pleroma/web/twitter_api/twitter_api.ex:116
#, elixir-autogen, elixir-format
-#: lib/pleroma/web/twitter_api/twitter_api.ex:117
msgid "Invalid answer data"
msgstr ""
+#: lib/pleroma/web/nodeinfo/nodeinfo_controller.ex:130
#, elixir-autogen, elixir-format
-#: lib/pleroma/web/nodeinfo/nodeinfo_controller.ex:33
msgid "Nodeinfo schema version not handled"
msgstr ""
-#, elixir-autogen, elixir-format
-#: lib/pleroma/web/o_auth/o_auth_controller.ex:194
-msgid "This action is outside the authorized scopes"
-msgstr ""
-
-#, elixir-autogen, elixir-format
#: lib/pleroma/web/o_auth/fallback_controller.ex:14
+#, elixir-autogen, elixir-format
msgid "Unknown error, please check the details and try again."
msgstr ""
+#: lib/pleroma/web/o_auth/o_auth_controller.ex:158
+#: lib/pleroma/web/o_auth/o_auth_controller.ex:204
#, elixir-autogen, elixir-format
-#: lib/pleroma/web/o_auth/o_auth_controller.ex:136
-#: lib/pleroma/web/o_auth/o_auth_controller.ex:180
msgid "Unlisted redirect_uri."
msgstr ""
+#: lib/pleroma/web/o_auth/o_auth_controller.ex:458
#, elixir-autogen, elixir-format
-#: lib/pleroma/web/o_auth/o_auth_controller.ex:433
msgid "Unsupported OAuth provider: %{provider}."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/uploaders/uploader.ex:74
+#, elixir-autogen, elixir-format
msgid "Uploader callback timeout"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/web/uploader_controller.ex:23
+#, elixir-autogen, elixir-format
msgid "bad request"
msgstr ""
+#: lib/pleroma/web/twitter_api/twitter_api.ex:101
#, elixir-autogen, elixir-format
-#: lib/pleroma/web/twitter_api/twitter_api.ex:102
msgid "CAPTCHA Error"
msgstr ""
+#: lib/pleroma/web/common_api.ex:213
#, elixir-autogen, elixir-format
-#: lib/pleroma/web/common_api.ex:266
msgid "Could not add reaction emoji"
msgstr ""
+#: lib/pleroma/web/common_api.ex:224
#, elixir-autogen, elixir-format
-#: lib/pleroma/web/common_api.ex:277
msgid "Could not remove reaction emoji"
msgstr ""
+#: lib/pleroma/web/twitter_api/twitter_api.ex:127
#, elixir-autogen, elixir-format
-#: lib/pleroma/web/twitter_api/twitter_api.ex:128
msgid "Invalid CAPTCHA (Missing parameter: %{name})"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/web/mastodon_api/controllers/list_controller.ex:96
+#, elixir-autogen, elixir-format
msgid "List not found"
msgstr ""
+#: lib/pleroma/web/mastodon_api/controllers/account_controller.ex:150
#, elixir-autogen, elixir-format
-#: lib/pleroma/web/mastodon_api/controllers/account_controller.ex:151
msgid "Missing parameter: %{name}"
msgstr ""
+#: lib/pleroma/web/o_auth/o_auth_controller.ex:256
+#: lib/pleroma/web/o_auth/o_auth_controller.ex:371
#, elixir-autogen, elixir-format
-#: lib/pleroma/web/o_auth/o_auth_controller.ex:232
-#: lib/pleroma/web/o_auth/o_auth_controller.ex:346
msgid "Password reset is required"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/tests/auth_test_controller.ex:9
#: lib/pleroma/web/activity_pub/activity_pub_controller.ex:6
#: lib/pleroma/web/admin_api/controllers/admin_api_controller.ex:6
#: lib/pleroma/web/admin_api/controllers/announcement_controller.ex:6
-#: lib/pleroma/web/admin_api/controllers/chat_controller.ex:6
#: lib/pleroma/web/admin_api/controllers/config_controller.ex:6
#: lib/pleroma/web/admin_api/controllers/fallback_controller.ex:6
#: lib/pleroma/web/admin_api/controllers/frontend_controller.ex:6
@@ -471,6 +458,9 @@ msgstr ""
#: lib/pleroma/web/admin_api/controllers/report_controller.ex:6
#: lib/pleroma/web/admin_api/controllers/status_controller.ex:6
#: lib/pleroma/web/admin_api/controllers/user_controller.ex:6
+#: lib/pleroma/web/akkoma_api/controllers/frontend_settings_controller.ex:2
+#: lib/pleroma/web/akkoma_api/controllers/metrics_controller.ex:2
+#: lib/pleroma/web/akkoma_api/controllers/translation_controller.ex:2
#: lib/pleroma/web/controller_helper.ex:6
#: lib/pleroma/web/embed_controller.ex:6
#: lib/pleroma/web/fallback/redirect_controller.ex:6
@@ -478,6 +468,7 @@ msgstr ""
#: lib/pleroma/web/feed/user_controller.ex:6
#: lib/pleroma/web/mailer/subscription_controller.ex:6
#: lib/pleroma/web/manifest_controller.ex:6
+#: lib/pleroma/web/masto_fe_controller.ex:6
#: lib/pleroma/web/mastodon_api/controllers/account_controller.ex:6
#: lib/pleroma/web/mastodon_api/controllers/announcement_controller.ex:6
#: lib/pleroma/web/mastodon_api/controllers/app_controller.ex:11
@@ -502,6 +493,7 @@ msgstr ""
#: lib/pleroma/web/mastodon_api/controllers/status_controller.ex:6
#: lib/pleroma/web/mastodon_api/controllers/subscription_controller.ex:7
#: lib/pleroma/web/mastodon_api/controllers/suggestion_controller.ex:6
+#: lib/pleroma/web/mastodon_api/controllers/tag_controller.ex:3
#: lib/pleroma/web/mastodon_api/controllers/timeline_controller.ex:6
#: lib/pleroma/web/media_proxy/media_proxy_controller.ex:6
#: lib/pleroma/web/mongoose_im/mongoose_im_controller.ex:6
@@ -513,7 +505,6 @@ msgstr ""
#: lib/pleroma/web/pleroma_api/controllers/account_controller.ex:6
#: lib/pleroma/web/pleroma_api/controllers/app_controller.ex:6
#: lib/pleroma/web/pleroma_api/controllers/backup_controller.ex:6
-#: lib/pleroma/web/pleroma_api/controllers/chat_controller.ex:5
#: lib/pleroma/web/pleroma_api/controllers/conversation_controller.ex:6
#: lib/pleroma/web/pleroma_api/controllers/emoji_file_controller.ex:6
#: lib/pleroma/web/pleroma_api/controllers/emoji_pack_controller.ex:6
@@ -522,7 +513,6 @@ msgstr ""
#: lib/pleroma/web/pleroma_api/controllers/mascot_controller.ex:6
#: lib/pleroma/web/pleroma_api/controllers/notification_controller.ex:6
#: lib/pleroma/web/pleroma_api/controllers/report_controller.ex:6
-#: lib/pleroma/web/pleroma_api/controllers/scrobble_controller.ex:6
#: lib/pleroma/web/pleroma_api/controllers/two_factor_authentication_controller.ex:7
#: lib/pleroma/web/pleroma_api/controllers/user_import_controller.ex:6
#: lib/pleroma/web/static_fe/static_fe_controller.ex:6
@@ -532,79 +522,99 @@ msgstr ""
#: lib/pleroma/web/twitter_api/controllers/util_controller.ex:6
#: lib/pleroma/web/uploader_controller.ex:6
#: lib/pleroma/web/web_finger/web_finger_controller.ex:6
+#, elixir-autogen, elixir-format
msgid "Security violation: OAuth scopes check was neither handled nor explicitly skipped."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/web/plugs/ensure_authenticated_plug.ex:32
+#, elixir-autogen, elixir-format
msgid "Two-factor authentication enabled, you must use a access token."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/web/mastodon_api/controllers/subscription_controller.ex:61
+#, elixir-autogen, elixir-format
msgid "Web push subscription is disabled on this Pleroma instance"
msgstr ""
+#: lib/pleroma/web/admin_api/controllers/admin_api_controller.ex:214
#, elixir-autogen, elixir-format
-#: lib/pleroma/web/admin_api/controllers/admin_api_controller.ex:234
msgid "You can't revoke your own admin/moderator status."
msgstr ""
+#: lib/pleroma/web/mastodon_api/controllers/timeline_controller.ex:169
#, elixir-autogen, elixir-format
-#: lib/pleroma/web/mastodon_api/controllers/timeline_controller.ex:129
msgid "authorization required for timeline view"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/web/mastodon_api/controllers/fallback_controller.ex:24
+#, elixir-autogen, elixir-format
msgid "Access denied"
msgstr ""
+#: lib/pleroma/web/mastodon_api/controllers/account_controller.ex:331
#, elixir-autogen, elixir-format
-#: lib/pleroma/web/mastodon_api/controllers/account_controller.ex:322
msgid "This API requires an authenticated user"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/web/plugs/ensure_staff_privileged_plug.ex:26
#: lib/pleroma/web/plugs/user_is_admin_plug.ex:21
+#, elixir-autogen, elixir-format
msgid "User is not an admin."
msgstr ""
+#: lib/pleroma/user/backup.ex:73
#, elixir-format
-#: lib/pleroma/user/backup.ex:75
msgid "Last export was less than a day ago"
msgid_plural "Last export was less than %{days} days ago"
msgstr[0] ""
msgstr[1] ""
+#: lib/pleroma/web/activity_pub/activity_pub_controller.ex:421
#, elixir-autogen, elixir-format
-#: lib/pleroma/user/backup.ex:93
-msgid "Backups require enabled email"
-msgstr ""
-
-#, elixir-autogen, elixir-format
-#: lib/pleroma/web/activity_pub/activity_pub_controller.ex:434
msgid "Character limit (%{limit} characters) exceeded, contains %{length} characters"
msgstr ""
-#, elixir-autogen, elixir-format
-#: lib/pleroma/user/backup.ex:98
-msgid "Email is required"
-msgstr ""
-
-#, elixir-autogen, elixir-format
-#: lib/pleroma/web/common_api/utils.ex:507
-msgid "Too many attachments"
-msgstr ""
-
-#, elixir-autogen, elixir-format
#: lib/pleroma/web/plugs/ensure_staff_privileged_plug.ex:33
#: lib/pleroma/web/plugs/user_is_staff_plug.ex:20
+#, elixir-autogen, elixir-format
msgid "User is not a staff member."
msgstr ""
+#: lib/pleroma/web/o_auth/o_auth_controller.ex:391
#, elixir-autogen, elixir-format
-#: lib/pleroma/web/o_auth/o_auth_controller.ex:366
msgid "Your account is awaiting approval."
msgstr ""
+
+#: lib/pleroma/web/mastodon_api/controllers/account_controller.ex:255
+#: lib/pleroma/web/mastodon_api/controllers/account_controller.ex:258
+#: lib/pleroma/web/mastodon_api/controllers/account_controller.ex:261
+#, elixir-autogen, elixir-format
+msgid "File is too large"
+msgstr ""
+
+#: lib/pleroma/web/mastodon_api/controllers/tag_controller.ex:37
+#: lib/pleroma/web/mastodon_api/controllers/tag_controller.ex:48
+#: lib/pleroma/web/mastodon_api/controllers/tag_controller.ex:59
+#, elixir-autogen, elixir-format
+msgid "Hashtag not found"
+msgstr ""
+
+#: lib/pleroma/web/common_api/activity_draft.ex:144
+#, elixir-autogen, elixir-format
+msgid "Invalid language"
+msgstr ""
+
+#: lib/pleroma/web/o_auth/o_auth_controller.ex:218
+#, elixir-autogen, elixir-format
+msgid "This action is outside of authorized scopes"
+msgstr ""
+
+#: lib/pleroma/web/common_api/activity_draft.ex:129
+#, elixir-autogen, elixir-format
+msgid "You can only quote public or unlisted statuses"
+msgstr ""
+
+#: lib/pleroma/web/common_api/activity_draft.ex:126
+#, elixir-autogen, elixir-format
+msgid "You can't quote a status that doesn't exist"
+msgstr ""
diff --git a/priv/gettext/static_pages.pot b/priv/gettext/static_pages.pot
index 8e1b1d9db..8fe1f3358 100644
--- a/priv/gettext/static_pages.pot
+++ b/priv/gettext/static_pages.pot
@@ -10,504 +10,553 @@
msgid ""
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/web/templates/twitter_api/remote_follow/follow.html.eex:9
+#, elixir-autogen, elixir-format
msgctxt "remote follow authorization button"
msgid "Authorize"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/web/templates/twitter_api/remote_follow/follow.html.eex:2
+#, elixir-autogen, elixir-format
msgctxt "remote follow error"
msgid "Error fetching user"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/web/templates/twitter_api/remote_follow/follow.html.eex:4
+#, elixir-autogen, elixir-format
msgctxt "remote follow header"
msgid "Remote follow"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/web/templates/twitter_api/remote_follow/follow_mfa.html.eex:8
+#, elixir-autogen, elixir-format
msgctxt "placeholder text for auth code entry"
msgid "Authentication code"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/web/templates/twitter_api/remote_follow/follow_login.html.eex:10
+#, elixir-autogen, elixir-format
msgctxt "placeholder text for password entry"
msgid "Password"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/web/templates/twitter_api/remote_follow/follow_login.html.eex:8
+#, elixir-autogen, elixir-format
msgctxt "placeholder text for username entry"
msgid "Username"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/web/templates/twitter_api/remote_follow/follow_login.html.eex:13
+#, elixir-autogen, elixir-format
msgctxt "remote follow authorization button for login"
msgid "Authorize"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/web/templates/twitter_api/remote_follow/follow_mfa.html.eex:12
+#, elixir-autogen, elixir-format
msgctxt "remote follow authorization button for mfa"
msgid "Authorize"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/web/templates/twitter_api/remote_follow/followed.html.eex:2
+#, elixir-autogen, elixir-format
msgctxt "remote follow error"
msgid "Error following account"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/web/templates/twitter_api/remote_follow/follow_login.html.eex:4
+#, elixir-autogen, elixir-format
msgctxt "remote follow header, need login"
msgid "Log in to follow"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/web/templates/twitter_api/remote_follow/follow_mfa.html.eex:4
+#, elixir-autogen, elixir-format
msgctxt "remote follow mfa header"
msgid "Two-factor authentication"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/web/templates/twitter_api/remote_follow/followed.html.eex:4
+#, elixir-autogen, elixir-format
msgctxt "remote follow success"
msgid "Account followed!"
msgstr ""
-#, elixir-autogen, elixir-format
+#: lib/pleroma/web/templates/twitter_api/util/status_interact.html.eex:7
#: lib/pleroma/web/templates/twitter_api/util/subscribe.html.eex:7
+#, elixir-autogen, elixir-format
msgctxt "placeholder text for account id"
msgid "Your account ID, e.g. lain@quitter.se"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/web/templates/twitter_api/util/subscribe.html.eex:8
+#, elixir-autogen, elixir-format
msgctxt "remote follow authorization button for following with a remote account"
msgid "Follow"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/web/templates/twitter_api/util/subscribe.html.eex:2
+#, elixir-autogen, elixir-format
msgctxt "remote follow error"
msgid "Error: %{error}"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/web/templates/twitter_api/util/subscribe.html.eex:4
+#, elixir-autogen, elixir-format
msgctxt "remote follow header"
msgid "Remotely follow %{nickname}"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/web/templates/twitter_api/password/reset.html.eex:12
+#, elixir-autogen, elixir-format
msgctxt "password reset button"
msgid "Reset"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/web/templates/twitter_api/password/reset_failed.html.eex:4
+#, elixir-autogen, elixir-format
msgctxt "password reset failed homepage link"
msgid "Homepage"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/web/templates/twitter_api/password/reset_failed.html.eex:1
+#, elixir-autogen, elixir-format
msgctxt "password reset failed message"
msgid "Password reset failed"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/web/templates/twitter_api/password/reset.html.eex:8
+#, elixir-autogen, elixir-format
msgctxt "password reset form confirm password prompt"
msgid "Confirmation"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/web/templates/twitter_api/password/reset.html.eex:4
+#, elixir-autogen, elixir-format
msgctxt "password reset form password prompt"
msgid "Password"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/web/templates/twitter_api/password/invalid_token.html.eex:1
+#, elixir-autogen, elixir-format
msgctxt "password reset invalid token message"
msgid "Invalid Token"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/web/templates/twitter_api/password/reset_success.html.eex:2
+#, elixir-autogen, elixir-format
msgctxt "password reset successful homepage link"
msgid "Homepage"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/web/templates/twitter_api/password/reset_success.html.eex:1
+#, elixir-autogen, elixir-format
msgctxt "password reset successful message"
msgid "Password changed!"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/web/templates/feed/feed/tag.atom.eex:15
#: lib/pleroma/web/templates/feed/feed/tag.rss.eex:7
+#, elixir-autogen, elixir-format
msgctxt "tag feed description"
msgid "These are public toots tagged with #%{tag}. You can interact with them if you have an account anywhere in the fediverse."
msgstr ""
+#: lib/pleroma/web/templates/o_auth/o_auth/oob_token_exists.html.eex:3
#, elixir-autogen, elixir-format
-#: lib/pleroma/web/templates/o_auth/o_auth/oob_token_exists.html.eex:1
msgctxt "oauth authorization exists page title"
msgid "Authorization exists"
msgstr ""
+#: lib/pleroma/web/templates/o_auth/o_auth/show.html.eex:37
#, elixir-autogen, elixir-format
-#: lib/pleroma/web/templates/o_auth/o_auth/show.html.eex:32
msgctxt "oauth authorize approve button"
msgid "Approve"
msgstr ""
+#: lib/pleroma/web/templates/o_auth/o_auth/show.html.eex:35
#, elixir-autogen, elixir-format
-#: lib/pleroma/web/templates/o_auth/o_auth/show.html.eex:30
msgctxt "oauth authorize cancel button"
msgid "Cancel"
msgstr ""
+#: lib/pleroma/web/templates/o_auth/o_auth/show.html.eex:26
#, elixir-autogen, elixir-format
-#: lib/pleroma/web/templates/o_auth/o_auth/show.html.eex:23
msgctxt "oauth authorize message"
msgid "Application %{client_name} is requesting access to your account."
msgstr ""
+#: lib/pleroma/web/templates/o_auth/o_auth/oob_authorization_created.html.eex:3
#, elixir-autogen, elixir-format
-#: lib/pleroma/web/templates/o_auth/o_auth/oob_authorization_created.html.eex:1
msgctxt "oauth authorized page title"
msgid "Successfully authorized"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/web/templates/o_auth/o_auth/consumer.html.eex:1
+#, elixir-autogen, elixir-format
msgctxt "oauth external provider page title"
msgid "Sign in with external provider"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/web/templates/o_auth/o_auth/consumer.html.eex:13
+#, elixir-autogen, elixir-format
msgctxt "oauth external provider sign in button"
msgid "Sign in with %{strategy}"
msgstr ""
+#: lib/pleroma/web/templates/o_auth/o_auth/show.html.eex:59
#, elixir-autogen, elixir-format
-#: lib/pleroma/web/templates/o_auth/o_auth/show.html.eex:54
msgctxt "oauth login button"
msgid "Log In"
msgstr ""
+#: lib/pleroma/web/templates/o_auth/o_auth/show.html.eex:56
#, elixir-autogen, elixir-format
-#: lib/pleroma/web/templates/o_auth/o_auth/show.html.eex:51
msgctxt "oauth login password prompt"
msgid "Password"
msgstr ""
+#: lib/pleroma/web/templates/o_auth/o_auth/show.html.eex:52
#, elixir-autogen, elixir-format
-#: lib/pleroma/web/templates/o_auth/o_auth/show.html.eex:47
msgctxt "oauth login username prompt"
msgid "Username"
msgstr ""
+#: lib/pleroma/web/templates/o_auth/o_auth/show.html.eex:44
#, elixir-autogen, elixir-format
-#: lib/pleroma/web/templates/o_auth/o_auth/show.html.eex:39
msgctxt "oauth register nickname prompt"
msgid "Pleroma Handle"
msgstr ""
+#: lib/pleroma/web/templates/o_auth/o_auth/show.html.eex:42
#, elixir-autogen, elixir-format
-#: lib/pleroma/web/templates/o_auth/o_auth/show.html.eex:37
msgctxt "oauth register nickname unchangeable warning"
msgid "Choose carefully! You won't be able to change this later. You will be able to change your display name, though."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/web/templates/o_auth/o_auth/register.html.eex:18
+#, elixir-autogen, elixir-format
msgctxt "oauth register page email prompt"
msgid "Email"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/web/templates/o_auth/o_auth/register.html.eex:10
+#, elixir-autogen, elixir-format
msgctxt "oauth register page fill form prompt"
msgid "If you'd like to register a new account, please provide the details below."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/web/templates/o_auth/o_auth/register.html.eex:35
+#, elixir-autogen, elixir-format
msgctxt "oauth register page login button"
msgid "Proceed as existing user"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/web/templates/o_auth/o_auth/register.html.eex:31
+#, elixir-autogen, elixir-format
msgctxt "oauth register page login password prompt"
msgid "Password"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/web/templates/o_auth/o_auth/register.html.eex:24
+#, elixir-autogen, elixir-format
msgctxt "oauth register page login prompt"
msgid "Alternatively, sign in to connect to existing account."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/web/templates/o_auth/o_auth/register.html.eex:27
+#, elixir-autogen, elixir-format
msgctxt "oauth register page login username prompt"
msgid "Name or email"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/web/templates/o_auth/o_auth/register.html.eex:14
+#, elixir-autogen, elixir-format
msgctxt "oauth register page nickname prompt"
msgid "Nickname"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/web/templates/o_auth/o_auth/register.html.eex:22
+#, elixir-autogen, elixir-format
msgctxt "oauth register page register button"
msgid "Proceed as new user"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/web/templates/o_auth/o_auth/register.html.eex:8
+#, elixir-autogen, elixir-format
msgctxt "oauth register page title"
msgid "Registration Details"
msgstr ""
-#, elixir-autogen, elixir-format
-#: lib/pleroma/web/templates/o_auth/o_auth/show.html.eex:36
-msgctxt "oauth register page title"
-msgid "This is the first time you visit! Please enter your Pleroma handle."
-msgstr ""
-
-#, elixir-autogen, elixir-format
#: lib/pleroma/web/templates/o_auth/o_auth/_scopes.html.eex:2
+#, elixir-autogen, elixir-format
msgctxt "oauth scopes message"
msgid "The following permissions will be granted"
msgstr ""
+#: lib/pleroma/web/templates/o_auth/o_auth/oob_authorization_created.html.eex:6
+#: lib/pleroma/web/templates/o_auth/o_auth/oob_token_exists.html.eex:6
#, elixir-autogen, elixir-format
-#: lib/pleroma/web/templates/o_auth/o_auth/oob_authorization_created.html.eex:2
-#: lib/pleroma/web/templates/o_auth/o_auth/oob_token_exists.html.eex:2
msgctxt "oauth token code message"
msgid "Token code is
%{token}"
msgstr ""
+#: lib/pleroma/web/templates/o_auth/mfa/totp.html.eex:14
#, elixir-autogen, elixir-format
-#: lib/pleroma/web/templates/o_auth/mfa/totp.html.eex:12
msgctxt "mfa auth code prompt"
msgid "Authentication code"
msgstr ""
+#: lib/pleroma/web/templates/o_auth/mfa/totp.html.eex:9
#, elixir-autogen, elixir-format
-#: lib/pleroma/web/templates/o_auth/mfa/totp.html.eex:8
msgctxt "mfa auth page title"
msgid "Two-factor authentication"
msgstr ""
+#: lib/pleroma/web/templates/o_auth/mfa/totp.html.eex:25
#, elixir-autogen, elixir-format
-#: lib/pleroma/web/templates/o_auth/mfa/totp.html.eex:23
msgctxt "mfa auth page use recovery code link"
msgid "Enter a two-factor recovery code"
msgstr ""
+#: lib/pleroma/web/templates/o_auth/mfa/totp.html.eex:22
#, elixir-autogen, elixir-format
-#: lib/pleroma/web/templates/o_auth/mfa/totp.html.eex:20
msgctxt "mfa auth verify code button"
msgid "Verify"
msgstr ""
+#: lib/pleroma/web/templates/o_auth/mfa/recovery.html.eex:9
#, elixir-autogen, elixir-format
-#: lib/pleroma/web/templates/o_auth/mfa/recovery.html.eex:8
msgctxt "mfa recover page title"
msgid "Two-factor recovery"
msgstr ""
+#: lib/pleroma/web/templates/o_auth/mfa/recovery.html.eex:14
#, elixir-autogen, elixir-format
-#: lib/pleroma/web/templates/o_auth/mfa/recovery.html.eex:12
msgctxt "mfa recover recovery code prompt"
msgid "Recovery code"
msgstr ""
+#: lib/pleroma/web/templates/o_auth/mfa/recovery.html.eex:25
#, elixir-autogen, elixir-format
-#: lib/pleroma/web/templates/o_auth/mfa/recovery.html.eex:23
msgctxt "mfa recover use 2fa code link"
msgid "Enter a two-factor code"
msgstr ""
+#: lib/pleroma/web/templates/o_auth/mfa/recovery.html.eex:22
#, elixir-autogen, elixir-format
-#: lib/pleroma/web/templates/o_auth/mfa/recovery.html.eex:20
msgctxt "mfa recover verify recovery code button"
msgid "Verify"
msgstr ""
+#: lib/pleroma/web/templates/static_fe/static_fe/profile.html.eex:42
#, elixir-autogen, elixir-format
-#: lib/pleroma/web/templates/static_fe/static_fe/profile.html.eex:8
msgctxt "static fe profile page remote follow button"
msgid "Remote follow"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/web/templates/email/digest.html.eex:163
+#, elixir-autogen, elixir-format
msgctxt "digest email header line"
msgid "Hey %{nickname}, here is what you've missed!"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/web/templates/email/digest.html.eex:544
+#, elixir-autogen, elixir-format
msgctxt "digest email receiver address"
msgid "The email address you are subscribed as is %{email}. "
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/web/templates/email/digest.html.eex:538
+#, elixir-autogen, elixir-format
msgctxt "digest email sending reason"
msgid "You have received this email because you have signed up to receive digest emails from %{instance} Pleroma instance."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/web/templates/email/digest.html.eex:547
+#, elixir-autogen, elixir-format
msgctxt "digest email unsubscribe action"
msgid "To unsubscribe, please go %{here}."
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/web/templates/email/digest.html.eex:547
+#, elixir-autogen, elixir-format
msgctxt "digest email unsubscribe action link text"
msgid "here"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/web/templates/mailer/subscription/unsubscribe_failure.html.eex:1
+#, elixir-autogen, elixir-format
msgctxt "mailer unsubscribe failed message"
msgid "UNSUBSCRIBE FAILURE"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/web/templates/mailer/subscription/unsubscribe_success.html.eex:1
+#, elixir-autogen, elixir-format
msgctxt "mailer unsubscribe successful message"
msgid "UNSUBSCRIBE SUCCESSFUL"
msgstr ""
-#, elixir-format
#: lib/pleroma/web/templates/email/digest.html.eex:385
+#, elixir-format
msgctxt "new followers count header"
msgid "%{count} New Follower"
msgid_plural "%{count} New Followers"
msgstr[0] ""
msgstr[1] ""
-#, elixir-autogen, elixir-format
-#: lib/pleroma/emails/user_email.ex:356
-msgctxt "account archive email body - self-requested"
-msgid "You requested a full backup of your Pleroma account. It's ready for download:
\n%{download_url}
\n"
-msgstr ""
-
-#, elixir-autogen, elixir-format
#: lib/pleroma/emails/user_email.ex:384
+#, elixir-autogen, elixir-format
msgctxt "account archive email subject"
msgid "Your account archive is ready"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/emails/user_email.ex:188
+#, elixir-autogen, elixir-format
msgctxt "approval pending email body"
msgid "Awaiting Approval
\nYour account at %{instance_name} is being reviewed by staff. You will receive another email once your account is approved.
\n"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/emails/user_email.ex:202
+#, elixir-autogen, elixir-format
msgctxt "approval pending email subject"
msgid "Your account is awaiting approval"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/emails/user_email.ex:158
+#, elixir-autogen, elixir-format
msgctxt "confirmation email body"
msgid "Thank you for registering on %{instance_name}
\nEmail confirmation is required to activate the account.
\nPlease click the following link to activate your account.
\n"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/emails/user_email.ex:174
+#, elixir-autogen, elixir-format
msgctxt "confirmation email subject"
msgid "%{instance_name} account confirmation"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/emails/user_email.ex:310
+#, elixir-autogen, elixir-format
msgctxt "digest email subject"
msgid "Your digest from %{instance_name}"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/emails/user_email.ex:81
+#, elixir-autogen, elixir-format
msgctxt "password reset email body"
msgid "Reset your password at %{instance_name}
\nSomeone has requested password change for your account at %{instance_name}.
\nIf it was you, visit the following link to proceed: reset password.
\nIf it was someone else, nothing to worry about: your data is secure and your password has not been changed.
\n"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/emails/user_email.ex:98
+#, elixir-autogen, elixir-format
msgctxt "password reset email subject"
msgid "Password reset"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/emails/user_email.ex:215
+#, elixir-autogen, elixir-format
msgctxt "successful registration email body"
msgid "Hello @%{nickname},
\nYour account at %{instance_name} has been registered successfully.
\nNo further action is required to activate your account.
\n"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/emails/user_email.ex:231
+#, elixir-autogen, elixir-format
msgctxt "successful registration email subject"
msgid "Account registered on %{instance_name}"
msgstr ""
-#, elixir-autogen, elixir-format
-#: lib/pleroma/emails/user_email.ex:119
-msgctxt "user invitation email body"
-msgid "You are invited to %{instance_name}
\n%{inviter_name} invites you to join %{instance_name}, an instance of Pleroma federated social networking platform.
\nClick the following link to register: accept invitation.
\n"
-msgstr ""
-
-#, elixir-autogen, elixir-format
#: lib/pleroma/emails/user_email.ex:136
+#, elixir-autogen, elixir-format
msgctxt "user invitation email subject"
msgid "Invitation to %{instance_name}"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/emails/user_email.ex:53
+#, elixir-autogen, elixir-format
msgctxt "welcome email html body"
msgid "Welcome to %{instance_name}!"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/emails/user_email.ex:41
+#, elixir-autogen, elixir-format
msgctxt "welcome email subject"
msgid "Welcome to %{instance_name}!"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/emails/user_email.ex:65
+#, elixir-autogen, elixir-format
msgctxt "welcome email text body"
msgid "Welcome to %{instance_name}!"
msgstr ""
-#, elixir-autogen, elixir-format
#: lib/pleroma/emails/user_email.ex:368
+#, elixir-autogen, elixir-format
msgctxt "account archive email body - admin requested"
-msgid "Admin @%{admin_nickname} requested a full backup of your Pleroma account. It's ready for download:
\n%{download_url}
\n"
+msgid "Admin @%{admin_nickname} requested a full backup of your Akkoma account. It's ready for download:
\n%{download_url}
\n"
+msgstr ""
+
+#: lib/pleroma/emails/user_email.ex:356
+#, elixir-autogen, elixir-format
+msgctxt "account archive email body - self-requested"
+msgid "You requested a full backup of your Akkoma account. It's ready for download:
\n%{download_url}
\n"
+msgstr ""
+
+#: lib/pleroma/web/templates/o_auth/o_auth/show.html.eex:41
+#, elixir-autogen, elixir-format
+msgctxt "oauth register page title"
+msgid "This is your first visit! Please enter your Akkoma handle."
+msgstr ""
+
+#: lib/pleroma/web/twitter_api/controllers/util_controller.ex:123
+#, elixir-autogen, elixir-format
+msgctxt "remote follow error message - unknown error"
+msgid "Something went wrong."
+msgstr ""
+
+#: lib/pleroma/web/twitter_api/controllers/util_controller.ex:67
+#, elixir-autogen, elixir-format
+msgctxt "remote follow error message - user not found"
+msgid "Could not find user"
+msgstr ""
+
+#: lib/pleroma/web/templates/twitter_api/util/status_interact.html.eex:8
+#, elixir-autogen, elixir-format
+msgctxt "status interact authorization button"
+msgid "Interact"
+msgstr ""
+
+#: lib/pleroma/web/templates/twitter_api/util/status_interact.html.eex:2
+#, elixir-autogen, elixir-format
+msgctxt "status interact error"
+msgid "Error: %{error}"
+msgstr ""
+
+#: lib/pleroma/web/twitter_api/controllers/util_controller.ex:95
+#, elixir-autogen, elixir-format
+msgctxt "status interact error message - status not found"
+msgid "Could not find status"
+msgstr ""
+
+#: lib/pleroma/web/twitter_api/controllers/util_controller.ex:144
+#, elixir-autogen, elixir-format
+msgctxt "status interact error message - unknown error"
+msgid "Something went wrong."
+msgstr ""
+
+#: lib/pleroma/web/templates/twitter_api/util/status_interact.html.eex:4
+#, elixir-autogen, elixir-format
+msgctxt "status interact header"
+msgid "Interacting with %{nickname}'s %{status_link}"
+msgstr ""
+
+#: lib/pleroma/web/templates/twitter_api/util/status_interact.html.eex:4
+#, elixir-autogen, elixir-format
+msgctxt "status interact header - status link text"
+msgid "status"
+msgstr ""
+
+#: lib/pleroma/emails/user_email.ex:119
+#, elixir-autogen, elixir-format
+msgctxt "user invitation email body"
+msgid "You are invited to %{instance_name}
\n%{inviter_name} invites you to join %{instance_name}, an instance of Akkoma federated social networking platform.
\nClick the following link to register: accept invitation.
\n"
msgstr ""
--
2.43.0
From 292f0444d01bda454d52b47abe758c61ed705033 Mon Sep 17 00:00:00 2001
From: flisk
Date: Sat, 18 Feb 2023 14:59:46 +0100
Subject: [PATCH 08/36] update healthcheck route in locale string
---
config/description.exs | 2 +-
priv/gettext/config_descriptions.pot | 12 ++++++------
2 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/config/description.exs b/config/description.exs
index 6b151a59f..2a2d70a7b 100644
--- a/config/description.exs
+++ b/config/description.exs
@@ -790,7 +790,7 @@
%{
key: :healthcheck,
type: :boolean,
- description: "If enabled, system data will be shown on `/api/pleroma/healthcheck`"
+ description: "If enabled, system data will be shown on `/api/v1/pleroma/healthcheck`"
},
%{
key: :remote_post_retention_days,
diff --git a/priv/gettext/config_descriptions.pot b/priv/gettext/config_descriptions.pot
index ba3bd90a5..c85c7cc32 100644
--- a/priv/gettext/config_descriptions.pot
+++ b/priv/gettext/config_descriptions.pot
@@ -1498,12 +1498,6 @@ msgctxt "config description at :pleroma-:instance > :federation_reachability_tim
msgid "Timeout (in days) of each external federation target being unreachable prior to pausing federating to it"
msgstr ""
-#: lib/pleroma/docs/translator.ex:5
-#, elixir-autogen, elixir-format
-msgctxt "config description at :pleroma-:instance > :healthcheck"
-msgid "If enabled, system data will be shown on `/api/pleroma/healthcheck`"
-msgstr ""
-
#: lib/pleroma/docs/translator.ex:5
#, elixir-autogen, elixir-format
msgctxt "config description at :pleroma-:instance > :instance_thumbnail"
@@ -5973,3 +5967,9 @@ msgstr ""
msgctxt "config label at :pleroma-Pleroma.Web.Metadata.Providers.Theme > :theme_color"
msgid "Theme color"
msgstr ""
+
+#: lib/pleroma/docs/translator.ex:5
+#, elixir-autogen, elixir-format
+msgctxt "config description at :pleroma-:instance > :healthcheck"
+msgid "If enabled, system data will be shown on `/api/v1/pleroma/healthcheck`"
+msgstr ""
--
2.43.0
From b4952a81fe2eeec9c033bf8c69148e53e1f40be2 Mon Sep 17 00:00:00 2001
From: ilja
Date: Sat, 18 Feb 2023 19:30:27 +0100
Subject: [PATCH 09/36] Interpret `\n` as newline for MFM
Markdown doesn't generally consider `\n` a newline,
but Misskey does for MFM.
Now we do to for MFM (and not for Markdown) :)
---
lib/pleroma/formatter.ex | 4 ++--
.../object_validators/article_note_page_validator.ex | 8 +++++---
lib/pleroma/web/common_api/utils.ex | 2 +-
test/fixtures/misskey/mfm_x_format.json | 2 +-
.../article_note_page_validator_test.exs | 2 ++
5 files changed, 11 insertions(+), 7 deletions(-)
diff --git a/lib/pleroma/formatter.ex b/lib/pleroma/formatter.ex
index 575bf9b2d..fc841a550 100644
--- a/lib/pleroma/formatter.ex
+++ b/lib/pleroma/formatter.ex
@@ -124,8 +124,8 @@ def mentions_escape(text, options \\ []) do
end
end
- def markdown_to_html(text) do
- Earmark.as_html!(text, %Earmark.Options{compact_output: true})
+ def markdown_to_html(text, opts \\ %{}) do
+ Earmark.as_html!(text, %Earmark.Options{compact_output: true} |> Map.merge(opts))
end
def html_escape({text, mentions, hashtags}, type) do
diff --git a/lib/pleroma/web/activity_pub/object_validators/article_note_page_validator.ex b/lib/pleroma/web/activity_pub/object_validators/article_note_page_validator.ex
index 09b68c977..d4beed78d 100644
--- a/lib/pleroma/web/activity_pub/object_validators/article_note_page_validator.ex
+++ b/lib/pleroma/web/activity_pub/object_validators/article_note_page_validator.ex
@@ -104,9 +104,9 @@ defp remote_mention_resolver(
end
end
- # https://github.com/misskey-dev/misskey/pull/8787
- # Misskey has an awful tendency to drop all custom formatting when it sends remotely
- # So this basically reprocesses their MFM source
+ # See https://akkoma.dev/FoundKeyGang/FoundKey/issues/343
+ # Misskey/Foundkey drops some of the custom formatting when it sends remotely
+ # So this basically reprocesses the MFM source
defp fix_misskey_content(
%{"source" => %{"mediaType" => "text/x.misskeymarkdown", "content" => content}} = object
)
@@ -121,6 +121,8 @@ defp fix_misskey_content(
Map.put(object, "content", linked)
end
+ # See https://github.com/misskey-dev/misskey/pull/8787
+ # This is for compatibility with older Misskey instances
defp fix_misskey_content(%{"_misskey_content" => content} = object) when is_binary(content) do
mention_handler = fn nick, buffer, opts, acc ->
remote_mention_resolver(object, nick, buffer, opts, acc)
diff --git a/lib/pleroma/web/common_api/utils.ex b/lib/pleroma/web/common_api/utils.ex
index 345c5d10d..54918d13c 100644
--- a/lib/pleroma/web/common_api/utils.ex
+++ b/lib/pleroma/web/common_api/utils.ex
@@ -289,7 +289,7 @@ def format_input(text, "text/html", options) do
def format_input(text, "text/x.misskeymarkdown", options) do
text
- |> Formatter.markdown_to_html()
+ |> Formatter.markdown_to_html(%{breaks: true})
|> MfmParser.Parser.parse()
|> MfmParser.Encoder.to_html()
|> Formatter.linkify(options)
diff --git a/test/fixtures/misskey/mfm_x_format.json b/test/fixtures/misskey/mfm_x_format.json
index 590e399fe..ecbbddadd 100644
--- a/test/fixtures/misskey/mfm_x_format.json
+++ b/test/fixtures/misskey/mfm_x_format.json
@@ -5,7 +5,7 @@
"summary": null,
"content": "this does not get replaced",
"source": {
- "content": "@akkoma_user @remote_user @full_tag_remote_user@misskey.local.live @oops_not_a_mention linkifylink #dancedance $[jelly mfm goes here] \n\n## aaa",
+ "content": "@akkoma_user @remote_user @full_tag_remote_user@misskey.local.live @oops_not_a_mention linkifylink #dancedance $[jelly mfm goes here] \n\n## aaa\n\nsome text\nnewline",
"mediaType": "text/x.misskeymarkdown"
},
"published": "2022-07-10T15:37:36.368Z",
diff --git a/test/pleroma/web/activity_pub/object_validators/article_note_page_validator_test.exs b/test/pleroma/web/activity_pub/object_validators/article_note_page_validator_test.exs
index 62ac5e051..523a17c17 100644
--- a/test/pleroma/web/activity_pub/object_validators/article_note_page_validator_test.exs
+++ b/test/pleroma/web/activity_pub/object_validators/article_note_page_validator_test.exs
@@ -136,6 +136,8 @@ test "a misskey MFM status with a content field should work and be linked", _ do
assert content =~
"mfm goes here
aaa"
+
+ assert content =~ "some text
newline"
end
test "a misskey MFM status with a _misskey_content field should work and be linked", _ do
--
2.43.0
From 9dc3f8fcdce2fef279e1910c0e3310283caefde2 Mon Sep 17 00:00:00 2001
From: Mahito TANNO
Date: Wed, 22 Feb 2023 22:43:17 +0900
Subject: [PATCH 10/36] docs: remark that Pinafore is now unmaintained
---
docs/docs/clients.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/docs/docs/clients.md b/docs/docs/clients.md
index fb8408718..12e8734c1 100644
--- a/docs/docs/clients.md
+++ b/docs/docs/clients.md
@@ -45,10 +45,10 @@ Apps listed here might not support all of Akkoma's features.
## Alternative Web Interfaces
### Pinafore
+- Note: Pinafore is unmaintained (See [the author's original article](https://nolanlawson.com/2023/01/09/retiring-pinafore/) for details)
- Homepage:
- Source Code:
- Contact: [@pinafore@mastodon.technology](https://mastodon.technology/users/pinafore)
-- Note: Pleroma support is a secondary goal
- Features: MastoAPI, No Streaming
### Sengi
--
2.43.0
From 3f03f1df9cf89cc4dfc41433d7ad0ed130b15164 Mon Sep 17 00:00:00 2001
From: Mahito TANNO
Date: Wed, 22 Feb 2023 22:50:18 +0900
Subject: [PATCH 11/36] docs: update URL hosting husky's sourse code
---
docs/docs/clients.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/docs/docs/clients.md b/docs/docs/clients.md
index 12e8734c1..139796471 100644
--- a/docs/docs/clients.md
+++ b/docs/docs/clients.md
@@ -25,7 +25,7 @@ Apps listed here might not support all of Akkoma's features.
- Features: MastoAPI, Streaming Ready, Moderation, Text Formatting
### Husky
-- Source code:
+- Source code:
- Contact: [@captainepoch@stereophonic.space](https://stereophonic.space/captainepoch)
- Platforms: Android
- Features: MastoAPI, No Streaming, Emoji Reactions, Text Formatting, FE Stickers
--
2.43.0
From d3089ec399d3699c07ddf459eaaf2587f7dd237b Mon Sep 17 00:00:00 2001
From: FloatingGhost
Date: Thu, 23 Feb 2023 11:00:55 +0000
Subject: [PATCH 12/36] Ensure we can update contentMap on update
---
lib/pleroma/constants.ex | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/lib/pleroma/constants.ex b/lib/pleroma/constants.ex
index 7343ef8c3..234dde1c9 100644
--- a/lib/pleroma/constants.ex
+++ b/lib/pleroma/constants.ex
@@ -38,7 +38,8 @@ defmodule Pleroma.Constants do
"summary",
"sensitive",
"attachment",
- "generator"
+ "generator",
+ "contentMap"
]
)
--
2.43.0
From 9f34294332bf4d433bd76f4e8a767f1828f1df45 Mon Sep 17 00:00:00 2001
From: FloatingGhost
Date: Thu, 23 Feb 2023 11:07:59 +0000
Subject: [PATCH 13/36] Add changelog entry
---
CHANGELOG.md | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 5e72b0d05..1da10fae4 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -4,6 +4,12 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
+## Unreleased
+
+## Fixed
+
+- Allowed contentMap to be updated on edit
+
## 2023.02
### Added
--
2.43.0
From 8b2adc4fb405cfafd6cca5daa8baf8af24230a7a Mon Sep 17 00:00:00 2001
From: ilja
Date: Fri, 27 Jan 2023 16:06:27 +0100
Subject: [PATCH 14/36] Rename users_ap_id_COALESCE_follower_address_index for
faster db restoration
By default Postgresql first restores the data and then the indexes when dumping and restoring the database.
Restoring index activities_visibility_index took a very long time.
users_ap_id_COALESCE_follower_address_index was later added because having this could speed up the restoration tremendously.
The problem now is that restoration apparently happens in alphabetical order, so this new index wasn't created yet
by the time activities_visibility_index needed it.
There were several work-arounds which included more complex steps during backup/restore.
By renaming this index, it should be restored first and thus activities_visibility_index can make use of it.
This speeds up restoration significantly without requiring more complex or unexpected steps from people.
---
..._ap_id_coalesce_follower_address_index.exs | 23 +++++++++++++++++++
1 file changed, 23 insertions(+)
create mode 100644 priv/repo/migrations/20230127143303_rename_index_users_ap_id_coalesce_follower_address_index.exs
diff --git a/priv/repo/migrations/20230127143303_rename_index_users_ap_id_coalesce_follower_address_index.exs b/priv/repo/migrations/20230127143303_rename_index_users_ap_id_coalesce_follower_address_index.exs
new file mode 100644
index 000000000..f9b9b12c7
--- /dev/null
+++ b/priv/repo/migrations/20230127143303_rename_index_users_ap_id_coalesce_follower_address_index.exs
@@ -0,0 +1,23 @@
+defmodule Pleroma.Repo.Migrations.RenameIndexUsersApId_COALESCEFollowerAddressIndex do
+ alias Pleroma.Repo
+
+ use Ecto.Migration
+
+ def up do
+ # By default Postgresql first restores the data and then the indexes when dumping and restoring the database.
+ # Restoring index activities_visibility_index took a very long time.
+ # users_ap_id_COALESCE_follower_address_index was later added because having this could speed up the restoration tremendously.
+ # The problem now is that restoration apparently happens in alphabetical order, so this new index wasn't created yet
+ # by the time activities_visibility_index needed it.
+ # There were several work-arounds which included more complex steps during backup/restore.
+ # By renaming this index, it should be restored first and thus activities_visibility_index can make use of it.
+ # This speeds up restoration significantly without requiring more complex or unexpected steps from people.
+ Repo.query!("ALTER INDEX public.\"users_ap_id_COALESCE_follower_address_index\"
+ RENAME TO \"aa_users_ap_id_COALESCE_follower_address_index\";")
+ end
+
+ def down do
+ Repo.query!("ALTER INDEX public.\"aa_users_ap_id_COALESCE_follower_address_index\"
+ RENAME TO \"users_ap_id_COALESCE_follower_address_index\";")
+ end
+end
--
2.43.0
From 3b634dcbe7a4cbdd261872fd6f58ec64df89e199 Mon Sep 17 00:00:00 2001
From: ilja
Date: Fri, 27 Jan 2023 16:20:34 +0100
Subject: [PATCH 15/36] Remove the note about activities_visibility_index
We renamed another index is the previous commit so that this work-around isn't needed any more
---
CHANGELOG.md | 4 +++-
docs/docs/administration/backup.md | 24 +++---------------------
2 files changed, 6 insertions(+), 22 deletions(-)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 1da10fae4..a611b3c06 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -7,9 +7,11 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
## Unreleased
## Fixed
-
- Allowed contentMap to be updated on edit
+### Changed
+- Restoring the database from a dump now goes much faster without need for work-arounds
+
## 2023.02
### Added
diff --git a/docs/docs/administration/backup.md b/docs/docs/administration/backup.md
index cf2f7d1b0..5c5df88ce 100644
--- a/docs/docs/administration/backup.md
+++ b/docs/docs/administration/backup.md
@@ -21,33 +21,15 @@
6. Restore the database schema and akkoma role using either of the following options
* You can use the original `setup_db.psql` if you have it[²]: `sudo -Hu postgres psql -f config/setup_db.psql`.
* Or recreate the database and user yourself (replace the password with the one you find in the config file) `sudo -Hu postgres psql -c "CREATE USER akkoma WITH ENCRYPTED PASSWORD ''; CREATE DATABASE akkoma OWNER akkoma;"`.
-7. Now restore the Akkoma instance's data into the empty database schema[¹][³]: `sudo -Hu postgres pg_restore -d akkoma -v -1 `
-8. If you installed a newer Akkoma version, you should run `MIX_ENV=prod mix ecto.migrate`[⁴]. This task performs database migrations, if there were any.
+7. Now restore the Akkoma instance's data into the empty database schema[¹]: `sudo -Hu postgres pg_restore -d akkoma -v -1 `
+8. If you installed a newer Akkoma version, you should run `MIX_ENV=prod mix ecto.migrate`[³]. This task performs database migrations, if there were any.
9. Restart the Akkoma service.
10. Run `sudo -Hu postgres vacuumdb --all --analyze-in-stages`. This will quickly generate the statistics so that postgres can properly plan queries.
11. If setting up on a new server configure Nginx by using the `installation/akkoma.nginx` config sample or reference the Akkoma installation guide for your OS which contains the Nginx configuration instructions.
[¹]: We assume the database name and user are both "akkoma". If not, you can find the correct name in your config files.
[²]: You can recreate the `config/setup_db.psql` by running the `mix pleroma.instance gen` task again. You can ignore most of the questions, but make the database user, name, and password the same as found in your backed up config file. This will also create a new `config/generated_config.exs` file which you may delete as it is not needed.
-[³]: `pg_restore` will add data before adding indexes. The indexes are added in alphabetical order. There's one index, `activities_visibility_index` which may take a long time because it can't make use of an index that's only added later. You can significantly speed up restoration by skipping this index and add it afterwards. For that, you can do the following (we assume the akkoma.pgdump is in the directory you're running the commands):
-
-```sh
-pg_restore -l akkoma.pgdump > db.list
-
-# Comment out the step for creating activities_visibility_index by adding a semi colon at the start of the line
-sed -i -E 's/(.*activities_visibility_index.*)/;\1/' db.list
-
-# We restore the database using the db.list list-file
-sudo -Hu postgres pg_restore -L db.list -d akkoma -v -1 akkoma.pgdump
-
-# You can see the sql statement with which to create the index using
-grep -Eao 'CREATE INDEX activities_visibility_index.*' akkoma.pgdump
-
-# Then create the index manually
-# Make sure that the command to create is correct! You never know it has changed since writing this guide
-sudo -Hu postgres psql -d pleroma_ynh -c "CREATE INDEX activities_visibility_index ON public.activities USING btree (public.activity_visibility(actor, recipients, data), id DESC NULLS LAST) WHERE ((data ->> 'type'::text) = 'Create'::text);"
-```
-[⁴]: Prefix with `MIX_ENV=prod` to run it using the production config file.
+[³]: Prefix with `MIX_ENV=prod` to run it using the production config file.
## Remove
--
2.43.0
From a7ec6e039cdc9ca5a0cc744fbd51511c5ede9f29 Mon Sep 17 00:00:00 2001
From: ilja
Date: Sat, 7 Jan 2023 20:52:02 +0100
Subject: [PATCH 16/36] prune_objects can prune orphaned activities
We add an option to also prune remote activities who don't have existing objects any more they reference.
Rn, we only check for activities who only reference one object, not an array or embeded object.
---
lib/mix/tasks/pleroma/database.ex | 40 ++++++-
test/mix/tasks/pleroma/database_test.exs | 128 +++++++++++++++++++++++
2 files changed, 167 insertions(+), 1 deletion(-)
diff --git a/lib/mix/tasks/pleroma/database.ex b/lib/mix/tasks/pleroma/database.ex
index be59e2271..0f428ca03 100644
--- a/lib/mix/tasks/pleroma/database.ex
+++ b/lib/mix/tasks/pleroma/database.ex
@@ -69,7 +69,8 @@ def run(["prune_objects" | args]) do
strict: [
vacuum: :boolean,
keep_threads: :boolean,
- keep_non_public: :boolean
+ keep_non_public: :boolean,
+ prune_orphaned_activities: :boolean
]
)
@@ -94,6 +95,21 @@ def run(["prune_objects" | args]) do
log_message
end
+ log_message =
+ if Keyword.get(options, :prune_orphaned_activities) do
+ log_message <> ", pruning orphaned activities"
+ else
+ log_message
+ end
+
+ log_message =
+ if Keyword.get(options, :vacuum) do
+ log_message <>
+ ", doing a full vacuum (you shouldn't do this as a recurring maintanance task)"
+ else
+ log_message
+ end
+
Logger.info(log_message)
if Keyword.get(options, :keep_threads) do
@@ -155,6 +171,28 @@ def run(["prune_objects" | args]) do
end
|> Repo.delete_all(timeout: :infinity)
+ if Keyword.get(options, :prune_orphaned_activities) do
+ """
+ delete from public.activities
+ where id in (
+ select a.id from public.activities a
+ left join public.objects o on a.data ->> 'object' = o.data ->> 'id'
+ left join public.activities a2 on a.data ->> 'object' = a2.data ->> 'id'
+ left join public.users u on a.data ->> 'object' = u.ap_id
+ -- Only clean up remote activities
+ where not a.local
+ -- For now we only focus on activities with direct links to objects
+ -- e.g. not json objects (in case of embedded objects) or json arrays (in case of multiple objects)
+ and jsonb_typeof(a."data" -> 'object') = 'string'
+ -- Find Activities that don't have existing objects
+ and o.id is null
+ and a2.id is null
+ and u.id is null
+ )
+ """
+ |> Repo.query()
+ end
+
prune_hashtags_query = """
DELETE FROM hashtags AS ht
WHERE NOT EXISTS (
diff --git a/test/mix/tasks/pleroma/database_test.exs b/test/mix/tasks/pleroma/database_test.exs
index 447a4404e..7f5cd91a9 100644
--- a/test/mix/tasks/pleroma/database_test.exs
+++ b/test/mix/tasks/pleroma/database_test.exs
@@ -353,6 +353,134 @@ test "with the --keep-threads option it keeps old threads with bookmarked posts"
assert length(Repo.all(Object)) == 1
end
+
+ test "We don't have unexpected tables which can contain objects that are referenced by activities" do
+ # We can delete orphaned activities. For that we look for the objects they reference in the 'objects', 'activities', and 'users' table.
+ # If someone adds another table with objects (idk, maybe with separate relations, or collections or w/e), then we need to make sure we
+ # add logic for that in the 'prune_objects' task so that we don't wrongly delete their corresponding activities.
+ # So when someone adds (or removes) a table, this test will fail.
+ # Either the table contains objects which can be referenced from the activities table
+ # => in that case the prune_objects job should be adapted so we don't delete activities who still have the referenced object.
+ # Or it doesn't contain objects which can be referenced from the activities table
+ # => in that case you can add/remove the table to/from this (sorted) list.
+
+ assert Repo.query!(
+ "SELECT table_name FROM information_schema.tables WHERE table_schema='public' AND table_type='BASE TABLE';"
+ ).rows
+ |> Enum.sort() == [
+ ["activities"],
+ ["announcement_read_relationships"],
+ ["announcements"],
+ ["apps"],
+ ["backups"],
+ ["bookmarks"],
+ ["chat_message_references"],
+ ["chats"],
+ ["config"],
+ ["conversation_participation_recipient_ships"],
+ ["conversation_participations"],
+ ["conversations"],
+ ["counter_cache"],
+ ["data_migration_failed_ids"],
+ ["data_migrations"],
+ ["deliveries"],
+ ["filters"],
+ ["following_relationships"],
+ ["hashtags"],
+ ["hashtags_objects"],
+ ["instances"],
+ ["lists"],
+ ["markers"],
+ ["mfa_tokens"],
+ ["moderation_log"],
+ ["notifications"],
+ ["oauth_authorizations"],
+ ["oauth_tokens"],
+ ["oban_jobs"],
+ ["oban_peers"],
+ ["objects"],
+ ["password_reset_tokens"],
+ ["push_subscriptions"],
+ ["registrations"],
+ ["report_notes"],
+ ["scheduled_activities"],
+ ["schema_migrations"],
+ ["thread_mutes"],
+ ["user_follows_hashtag"],
+ ["user_frontend_setting_profiles"],
+ ["user_invite_tokens"],
+ ["user_notes"],
+ ["user_relationships"],
+ ["users"]
+ ]
+ end
+
+ test "it prunes orphaned activities with the --prune-orphaned-activities" do
+ # Add a remote activity which references an Object
+ %Object{} |> Map.merge(%{data: %{"id" => "object_for_activity"}}) |> Repo.insert()
+
+ %Activity{}
+ |> Map.merge(%{
+ local: false,
+ data: %{"id" => "remote_activity_with_object", "object" => "object_for_activity"}
+ })
+ |> Repo.insert()
+
+ # Add a remote activity which references an activity
+ %Activity{}
+ |> Map.merge(%{
+ local: false,
+ data: %{
+ "id" => "remote_activity_with_activity",
+ "object" => "remote_activity_with_object"
+ }
+ })
+ |> Repo.insert()
+
+ # Add a remote activity which references an Actor
+ %User{} |> Map.merge(%{ap_id: "actor"}) |> Repo.insert()
+
+ %Activity{}
+ |> Map.merge(%{
+ local: false,
+ data: %{"id" => "remote_activity_with_actor", "object" => "actor"}
+ })
+ |> Repo.insert()
+
+ # Add a remote activity without existing referenced object, activity or actor
+ %Activity{}
+ |> Map.merge(%{
+ local: false,
+ data: %{
+ "id" => "remote_activity_without_existing_referenced_object",
+ "object" => "non_existing"
+ }
+ })
+ |> Repo.insert()
+
+ # Add a local activity without existing referenced object, activity or actor
+ %Activity{}
+ |> Map.merge(%{
+ local: true,
+ data: %{"id" => "local_activity_with_actor", "object" => "non_existing"}
+ })
+ |> Repo.insert()
+
+ # The remote activities without existing reference, and only the remote activities without existing reference, are deleted
+ # if, and only if, we provide the --prune-orphaned-activities option
+ assert length(Repo.all(Activity)) == 5
+ Mix.Tasks.Pleroma.Database.run(["prune_objects"])
+ assert length(Repo.all(Activity)) == 5
+ Mix.Tasks.Pleroma.Database.run(["prune_objects", "--prune-orphaned-activities"])
+ activities = Repo.all(Activity)
+
+ assert "remote_activity_without_existing_referenced_object" not in Enum.map(
+ activities,
+ fn a -> a.data["id"] end
+ )
+
+ assert length(activities) == 4
+ end
end
describe "running update_users_following_followers_counts" do
--
2.43.0
From 57eef6d76492e772f83acba2402d50ecb6a69f6b Mon Sep 17 00:00:00 2001
From: ilja
Date: Sun, 8 Jan 2023 18:22:53 +0100
Subject: [PATCH 17/36] prune_objects can prune orphaned activities who
reference an array of objects
E.g. Flag activities have an array of objects
We prune the activity when NONE of the objects can be found
Note that the cost of finding and deleting these is ~4x higher than finding and deleting the non-array ones
Only string:
Delete on activities (cost=506573.48..506580.38 rows=0 width=0)
Only Array:
Delete on activities (cost=3570359.68..4276365.34 rows=0 width=0)
(They are still executed separately, so the total cost is the sum of the two)
---
lib/mix/tasks/pleroma/database.ex | 47 ++++++++++-------
test/mix/tasks/pleroma/database_test.exs | 65 +++++++++++++++++++++++-
2 files changed, 94 insertions(+), 18 deletions(-)
diff --git a/lib/mix/tasks/pleroma/database.ex b/lib/mix/tasks/pleroma/database.ex
index 0f428ca03..726a22d41 100644
--- a/lib/mix/tasks/pleroma/database.ex
+++ b/lib/mix/tasks/pleroma/database.ex
@@ -172,35 +172,48 @@ def run(["prune_objects" | args]) do
|> Repo.delete_all(timeout: :infinity)
if Keyword.get(options, :prune_orphaned_activities) do
+ # Prune activities who link to a single object
"""
delete from public.activities
where id in (
- select a.id from public.activities a
- left join public.objects o on a.data ->> 'object' = o.data ->> 'id'
- left join public.activities a2 on a.data ->> 'object' = a2.data ->> 'id'
- left join public.users u on a.data ->> 'object' = u.ap_id
- -- Only clean up remote activities
- where not a.local
- -- For now we only focus on activities with direct links to objects
- -- e.g. not json objects (in case of embedded objects) or json arrays (in case of multiple objects)
- and jsonb_typeof(a."data" -> 'object') = 'string'
- -- Find Activities that don't have existing objects
- and o.id is null
- and a2.id is null
- and u.id is null
+ select a.id from public.activities a
+ left join public.objects o on a.data ->> 'object' = o.data ->> 'id'
+ left join public.activities a2 on a.data ->> 'object' = a2.data ->> 'id'
+ left join public.users u on a.data ->> 'object' = u.ap_id
+ where not a.local
+ and jsonb_typeof(a."data" -> 'object') = 'string'
+ and o.id is null
+ and a2.id is null
+ and u.id is null
)
"""
- |> Repo.query()
+ |> Repo.query([], timeout: :infinity)
+
+ # Prune activities who link to an array of objects
+ """
+ delete from public.activities
+ where id in (
+ select a.id from public.activities a
+ join json_array_elements_text((a."data" -> 'object')::json) as j on jsonb_typeof(a."data" -> 'object') = 'array'
+ left join public.objects o on j.value = o.data ->> 'id'
+ left join public.activities a2 on j.value = a2.data ->> 'id'
+ left join public.users u on j.value = u.ap_id
+ group by a.id
+ having max(o.data ->> 'id') is null
+ and max(a2.data ->> 'id') is null
+ and max(u.ap_id) is null
+ )
+ """
+ |> Repo.query([], timeout: :infinity)
end
- prune_hashtags_query = """
+ """
DELETE FROM hashtags AS ht
WHERE NOT EXISTS (
SELECT 1 FROM hashtags_objects hto
WHERE ht.id = hto.hashtag_id)
"""
-
- Repo.query(prune_hashtags_query)
+ |> Repo.query()
if Keyword.get(options, :vacuum) do
Maintenance.vacuum("full")
diff --git a/test/mix/tasks/pleroma/database_test.exs b/test/mix/tasks/pleroma/database_test.exs
index 7f5cd91a9..402856f3d 100644
--- a/test/mix/tasks/pleroma/database_test.exs
+++ b/test/mix/tasks/pleroma/database_test.exs
@@ -354,7 +354,7 @@ test "with the --keep-threads option it keeps old threads with bookmarked posts"
assert length(Repo.all(Object)) == 1
end
- test "We don't have unexpected tables which can contain objects that are referenced by activities" do
+ test "We don't have unexpected tables which may contain objects that are referenced by activities" do
# We can delete orphaned activities. For that we look for the objects they reference in the 'objects', 'activities', and 'users' table.
# If someone adds another table with objects (idk, maybe with separate relations, or collections or w/e), then we need to make sure we
# add logic for that in the 'prune_objects' task so that we don't wrongly delete their corresponding activities.
@@ -481,6 +481,69 @@ test "it prunes orphaned activities with the --prune-orphaned-activities" do
assert length(activities) == 4
end
+
+ test "it prunes orphaned activities with the --prune-orphaned-activities when the objects are referenced from an array" do
+ %Object{} |> Map.merge(%{data: %{"id" => "existing_object"}}) |> Repo.insert()
+ %User{} |> Map.merge(%{ap_id: "existing_actor"}) |> Repo.insert()
+
+ # Multiple objects, one object exists (keep)
+ %Activity{}
+ |> Map.merge(%{
+ local: false,
+ data: %{
+ "id" => "remote_activity_existing_object",
+ "object" => ["non_ existing_object", "existing_object"]
+ }
+ })
+ |> Repo.insert()
+
+ # Multiple objects, one actor exists (keep)
+ %Activity{}
+ |> Map.merge(%{
+ local: false,
+ data: %{
+ "id" => "remote_activity_existing_actor",
+ "object" => ["non_ existing_object", "existing_actor"]
+ }
+ })
+ |> Repo.insert()
+
+ # Multiple objects, one activity exists (keep)
+ %Activity{}
+ |> Map.merge(%{
+ local: false,
+ data: %{
+ "id" => "remote_activity_existing_activity",
+ "object" => ["non_ existing_object", "remote_activity_existing_actor"]
+ }
+ })
+ |> Repo.insert()
+
+ # Multiple objects none exist (prune)
+ %Activity{}
+ |> Map.merge(%{
+ local: false,
+ data: %{
+ "id" => "remote_activity_without_existing_referenced_object",
+ "object" => ["owo", "whats_this"]
+ }
+ })
+ |> Repo.insert()
+
+ assert length(Repo.all(Activity)) == 4
+ Mix.Tasks.Pleroma.Database.run(["prune_objects"])
+ assert length(Repo.all(Activity)) == 4
+ Mix.Tasks.Pleroma.Database.run(["prune_objects", "--prune-orphaned-activities"])
+ activities = Repo.all(Activity)
+ assert length(activities) == 3
+
+ assert "remote_activity_without_existing_referenced_object" not in Enum.map(
+ activities,
+ fn a -> a.data["id"] end
+ )
+
+ assert length(activities) == 3
+ end
end
describe "running update_users_following_followers_counts" do
--
2.43.0
From c1c962e1a80873a22cdc328fffb446f550892b10 Mon Sep 17 00:00:00 2001
From: ilja
Date: Mon, 23 Jan 2023 09:07:44 +0100
Subject: [PATCH 18/36] Add docs for pleroma_ctl database prune_objects
--prune-orphaned-activities
I also added extra info on VACUUM FULL
---
docs/docs/administration/CLI_tasks/database.md | 16 +++++++++++-----
1 file changed, 11 insertions(+), 5 deletions(-)
diff --git a/docs/docs/administration/CLI_tasks/database.md b/docs/docs/administration/CLI_tasks/database.md
index 915139cf7..3d7424d1c 100644
--- a/docs/docs/administration/CLI_tasks/database.md
+++ b/docs/docs/administration/CLI_tasks/database.md
@@ -21,7 +21,6 @@ Replaces embedded objects with references to them in the `objects` table. Only n
mix pleroma.database remove_embedded_objects [option ...]
```
-
### Options
- `--vacuum` - run `VACUUM FULL` after the embedded objects are replaced with their references
@@ -29,8 +28,11 @@ Replaces embedded objects with references to them in the `objects` table. Only n
This will prune remote posts older than 90 days (configurable with [`config :pleroma, :instance, remote_post_retention_days`](../../configuration/cheatsheet.md#instance)) from the database. Pruned posts may be refetched in some cases.
+!!! note
+ The disk space will only be reclaimed after a proper vacuum. By default Postgresql does this for you on a regular basis, but if your instance has been running for a long time and there are many rows deleted, it may be advantageous to use `VACUUM FULL` (e.g. by using the `--vacuum` option).
+
!!! danger
- The disk space will only be reclaimed after `VACUUM FULL`. You may run out of disk space during the execution of the task or vacuuming if you don't have about 1/3rds of the database size free.
+ You may run out of disk space during the execution of the task or vacuuming if you don't have about 1/3rds of the database size free. Vacuum causes a substantial increase in I/O traffic, and may lead to a degraded experience while it is running.
=== "OTP"
@@ -46,9 +48,10 @@ This will prune remote posts older than 90 days (configurable with [`config :ple
### Options
-- `--keep-threads` - don't prune posts when they are part of a thread where at least one post has seen local interaction (e.g. one of the posts is a local post, or is favourited by a local user, or has been repeated by a local user...)
-- `--keep-non-public` - keep non-public posts like DM's and followers-only, even if they are remote
-- `--vacuum` - run `VACUUM FULL` after the objects are pruned
+- `--keep-threads` - Don't prune posts when they are part of a thread where at least one post has seen local interaction (e.g. one of the posts is a local post, or is favourited by a local user, or has been repeated by a local user...). It also wont delete posts when at least one of the posts in that thread is kept (e.g. because one of the posts has seen recent activity).
+- `--keep-non-public` - Keep non-public posts like DM's and followers-only, even if they are remote.
+- `--prune-orphaned-activities` - Also prune orphaned activities afterwards. Activities are things like Like, Create, Announce, Flag (aka reports)... They can significantly help reduce the database size.
+- `--vacuum` - Run `VACUUM FULL` after the objects are pruned. This should not be used on a regular basis, but is useful if your instance has been running for a long time before pruning.
## Create a conversation for all existing DMs
@@ -96,6 +99,9 @@ Can be safely re-run
## Vacuum the database
+!!! note
+ By default Postgresql has an autovacuum deamon running. While the tasks described here can help in some cases, they shouldn't be needed on a regular basis. See [the Postgresql docs on vacuuming](https://www.postgresql.org/docs/current/sql-vacuum.html) for more information on this.
+
### Analyze
Running an `analyze` vacuum job can improve performance by updating statistics used by the query planner. **It is safe to cancel this.**
--
2.43.0
From 328b4d93b750f181966b08bff048f0912e2ad6b3 Mon Sep 17 00:00:00 2001
From: ilja
Date: Mon, 23 Jan 2023 09:43:16 +0100
Subject: [PATCH 19/36] Changelog + remove some unneeded comments from the
tests
---
CHANGELOG.md | 4 +++-
test/mix/tasks/pleroma/database_test.exs | 11 -----------
2 files changed, 3 insertions(+), 12 deletions(-)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 1da10fae4..0295b1860 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -7,9 +7,11 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
## Unreleased
## Fixed
-
- Allowed contentMap to be updated on edit
+### Added
+- Extend the mix task `prune_objects` with option `--prune-orphaned-activities` to also prune orphaned activities, allowing to reclaim even more database space
+
## 2023.02
### Added
diff --git a/test/mix/tasks/pleroma/database_test.exs b/test/mix/tasks/pleroma/database_test.exs
index 402856f3d..9edb2c115 100644
--- a/test/mix/tasks/pleroma/database_test.exs
+++ b/test/mix/tasks/pleroma/database_test.exs
@@ -416,7 +416,6 @@ test "We don't have unexpected tables which may contain objects that are referen
end
test "it prunes orphaned activities with the --prune-orphaned-activities" do
- # Add a remote activity which references an Object
%Object{} |> Map.merge(%{data: %{"id" => "object_for_activity"}}) |> Repo.insert()
%Activity{}
@@ -426,7 +425,6 @@ test "it prunes orphaned activities with the --prune-orphaned-activities" do
})
|> Repo.insert()
- # Add a remote activity which references an activity
%Activity{}
|> Map.merge(%{
local: false,
@@ -437,7 +435,6 @@ test "it prunes orphaned activities with the --prune-orphaned-activities" do
})
|> Repo.insert()
- # Add a remote activity which references an Actor
%User{} |> Map.merge(%{ap_id: "actor"}) |> Repo.insert()
%Activity{}
@@ -447,7 +444,6 @@ test "it prunes orphaned activities with the --prune-orphaned-activities" do
})
|> Repo.insert()
- # Add a remote activity without existing referenced object, activity or actor
%Activity{}
|> Map.merge(%{
local: false,
@@ -458,7 +454,6 @@ test "it prunes orphaned activities with the --prune-orphaned-activities" do
})
|> Repo.insert()
- # Add a local activity without existing referenced object, activity or actor
%Activity{}
|> Map.merge(%{
local: true,
@@ -466,8 +461,6 @@ test "it prunes orphaned activities with the --prune-orphaned-activities" do
})
|> Repo.insert()
- # The remote activities without existing reference, and only the remote activities without existing reference, are deleted
- # if, and only if, we provide the --prune-orphaned-activities option
assert length(Repo.all(Activity)) == 5
Mix.Tasks.Pleroma.Database.run(["prune_objects"])
assert length(Repo.all(Activity)) == 5
@@ -486,7 +479,6 @@ test "it prunes orphaned activities with the --prune-orphaned-activities when th
%Object{} |> Map.merge(%{data: %{"id" => "existing_object"}}) |> Repo.insert()
%User{} |> Map.merge(%{ap_id: "existing_actor"}) |> Repo.insert()
- # Multiple objects, one object exists (keep)
%Activity{}
|> Map.merge(%{
local: false,
@@ -497,7 +489,6 @@ test "it prunes orphaned activities with the --prune-orphaned-activities when th
})
|> Repo.insert()
- # Multiple objects, one actor exists (keep)
%Activity{}
|> Map.merge(%{
local: false,
@@ -508,7 +499,6 @@ test "it prunes orphaned activities with the --prune-orphaned-activities when th
})
|> Repo.insert()
- # Multiple objects, one activity exists (keep)
%Activity{}
|> Map.merge(%{
local: false,
@@ -519,7 +509,6 @@ test "it prunes orphaned activities with the --prune-orphaned-activities when th
})
|> Repo.insert()
- # Multiple objects none exist (prune)
%Activity{}
|> Map.merge(%{
local: false,
--
2.43.0
From 08d49fba7d52e3eda5292913f1a466326f6b0cdf Mon Sep 17 00:00:00 2001
From: FloatingGhost
Date: Sun, 26 Feb 2023 21:25:57 +0000
Subject: [PATCH 20/36] fine then no fun allowed, y'all don't deserve it
---
priv/scrubbers/default.ex | 2 --
1 file changed, 2 deletions(-)
diff --git a/priv/scrubbers/default.ex b/priv/scrubbers/default.ex
index 771f27ac1..37ffaef3a 100644
--- a/priv/scrubbers/default.ex
+++ b/priv/scrubbers/default.ex
@@ -56,8 +56,6 @@ defmodule Pleroma.HTML.Scrubber.Default do
Meta.allow_tag_with_these_attributes(:u, [])
Meta.allow_tag_with_these_attributes(:ul, [])
- Meta.allow_tags_with_style_attributes([:span])
-
Meta.allow_tag_with_this_attribute_values(:span, "class", [
"h-card",
"quote-inline",
--
2.43.0
From 45a11aa20ff9dd1909ec5bee54abcafbf50f4c6f Mon Sep 17 00:00:00 2001
From: FloatingGhost
Date: Sun, 26 Feb 2023 22:12:31 +0000
Subject: [PATCH 21/36] add changelog entry for MFM
---
CHANGELOG.md | 3 +++
1 file changed, 3 insertions(+)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index ef288366e..859a09e7d 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -15,6 +15,9 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
### Added
- Extend the mix task `prune_objects` with option `--prune-orphaned-activities` to also prune orphaned activities, allowing to reclaim even more database space
+### Removed
+- Possibility of using the `style` parameter on `span` elements. This will break certain MFM parameters.
+
## 2023.02
### Added
--
2.43.0
From 531a55018429236d01db83832b7525b0a99a346e Mon Sep 17 00:00:00 2001
From: flisk
Date: Sat, 18 Feb 2023 14:13:04 +0100
Subject: [PATCH 22/36] fix invalid proxy_hide_header in example config
---
docs/docs/configuration/storing_remote_media.md | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/docs/docs/configuration/storing_remote_media.md b/docs/docs/configuration/storing_remote_media.md
index ebea01339..1d60053ca 100644
--- a/docs/docs/configuration/storing_remote_media.md
+++ b/docs/docs/configuration/storing_remote_media.md
@@ -23,7 +23,8 @@ as soon as the post is received by your instance.
proxy_buffering on;
chunked_transfer_encoding on;
proxy_ignore_headers Cache-Control Expires;
- proxy_hide_header Cache-Control Expires;
+ proxy_hide_header Cache-Control;
+ proxy_hide_header Expires;
proxy_pass http://127.0.0.1:4000;
}
```
--
2.43.0
From cb28b8f0fea6fba2e5370dec6e35da1e022a93bd Mon Sep 17 00:00:00 2001
From: flisk
Date: Sun, 26 Feb 2023 23:42:28 +0100
Subject: [PATCH 23/36] updating docs: start akko first, then upgrade frontend
---
docs/docs/administration/updating.md | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/docs/docs/administration/updating.md b/docs/docs/administration/updating.md
index d0c955e1a..6cea56e5c 100644
--- a/docs/docs/administration/updating.md
+++ b/docs/docs/administration/updating.md
@@ -26,11 +26,11 @@ su -s "$SHELL" akkoma
# Run database migrations
./bin/pleroma_ctl migrate
-# Update frontend(s). See Frontend Configuration doc for more information.
-./bin/pleroma_ctl frontend install pleroma-fe --ref stable
-
# Start akkoma
./bin/pleroma daemon # or using the system service manager (e.g. systemctl start akkoma)
+
+# Update frontend(s). See Frontend Configuration doc for more information.
+./bin/pleroma_ctl frontend install pleroma-fe --ref stable
```
If you selected an alternate flavour on installation,
@@ -59,9 +59,9 @@ sudo systemctl stop akkoma
# Run database migrations
mix ecto.migrate
-# Update Pleroma-FE frontend to latest stable. For other Frontends see Frontend Configration doc for more information.
-mix pleroma.frontend install pleroma-fe --ref stable
-
# Start akkoma (replace with your system service manager's equivalent if different)
sudo systemctl start akkoma
+
+# Update Pleroma-FE frontend to latest stable. For other Frontends see Frontend Configuration doc for more information.
+mix pleroma.frontend install pleroma-fe --ref stable
```
--
2.43.0
From 1ab0b3a0e23c7c6648e42093b18fdeec7dfa7fab Mon Sep 17 00:00:00 2001
From: flisk
Date: Sun, 26 Feb 2023 23:39:18 +0100
Subject: [PATCH 24/36] match nginx config to install config and extend docs a
bit
---
.../configuration/storing_remote_media.md | 36 ++++++++++++-------
1 file changed, 24 insertions(+), 12 deletions(-)
diff --git a/docs/docs/configuration/storing_remote_media.md b/docs/docs/configuration/storing_remote_media.md
index 1d60053ca..deb1651b8 100644
--- a/docs/docs/configuration/storing_remote_media.md
+++ b/docs/docs/configuration/storing_remote_media.md
@@ -6,34 +6,46 @@ as soon as the post is received by your instance.
## Nginx
-```
- proxy_cache_path /long/term/storage/path/akkoma-media-cache levels=1:2
- keys_zone=akkoma_media_cache:10m inactive=1y use_temp_path=off;
+The following are excerpts from the [suggested nginx config](../../../installation/nginx/akkoma.nginx) that demonstrates the necessary config for the media proxy to work.
+A `proxy_cache_path` must be defined, for example:
+
+```
+proxy_cache_path /long/term/storage/path/akkoma-media-cache levels=1:2
+ keys_zone=akkoma_media_cache:10m inactive=1y use_temp_path=off;
+```
+
+The `proxy_cache_path` must then be configured for use with media proxy paths:
+
+```
location ~ ^/(media|proxy) {
proxy_cache akkoma_media_cache;
slice 1m;
proxy_cache_key $host$uri$is_args$args$slice_range;
proxy_set_header Range $slice_range;
- proxy_http_version 1.1;
- proxy_cache_valid 206 301 302 304 1h;
- proxy_cache_valid 200 1y;
- proxy_cache_use_stale error timeout invalid_header updating;
+ proxy_cache_valid 200 206 301 304 1h;
+ proxy_cache_lock on;
proxy_ignore_client_abort on;
proxy_buffering on;
chunked_transfer_encoding on;
- proxy_ignore_headers Cache-Control Expires;
- proxy_hide_header Cache-Control;
- proxy_hide_header Expires;
- proxy_pass http://127.0.0.1:4000;
+ proxy_pass http://phoenix;
}
+}
```
+Ensure that `proxy_http_version 1.1;` is set for the above `location` block. In the suggested config, this is already the case.
+
## Akkoma
-Add to your `prod.secret.exs`:
+### File-based Configuration
+
+If you're using static file configuration, add the `MediaProxyWarmingPolicy` to your MRF policies. For example:
```
config :pleroma, :mrf,
policies: [Pleroma.Web.ActivityPub.MRF.MediaProxyWarmingPolicy]
```
+
+### Database Configuration
+
+In the admin interface, add `MediaProxyWarmingPolicy` to the `Policies` option under `Settings` → `MRF`.
--
2.43.0
From b88e6560e0775aa15e47fd50e34fe9dfc0c1ae80 Mon Sep 17 00:00:00 2001
From: FloatingGhost
Date: Thu, 2 Mar 2023 11:04:27 +0000
Subject: [PATCH 25/36] Reblog content should be ""
Fixes #450
---
lib/pleroma/web/mastodon_api/views/status_view.ex | 2 +-
.../object_validators/article_note_page_validator_test.exs | 2 +-
test/pleroma/web/mastodon_api/views/status_view_test.exs | 1 +
3 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/lib/pleroma/web/mastodon_api/views/status_view.ex b/lib/pleroma/web/mastodon_api/views/status_view.ex
index 48756e78b..79438571c 100644
--- a/lib/pleroma/web/mastodon_api/views/status_view.ex
+++ b/lib/pleroma/web/mastodon_api/views/status_view.ex
@@ -183,7 +183,7 @@ def render(
in_reply_to_id: nil,
in_reply_to_account_id: nil,
reblog: reblogged,
- content: reblogged[:content] || "",
+ content: "",
created_at: created_at,
reblogs_count: 0,
replies_count: 0,
diff --git a/test/pleroma/web/activity_pub/object_validators/article_note_page_validator_test.exs b/test/pleroma/web/activity_pub/object_validators/article_note_page_validator_test.exs
index 523a17c17..f1aee27d4 100644
--- a/test/pleroma/web/activity_pub/object_validators/article_note_page_validator_test.exs
+++ b/test/pleroma/web/activity_pub/object_validators/article_note_page_validator_test.exs
@@ -135,7 +135,7 @@ test "a misskey MFM status with a content field should work and be linked", _ do
assert content =~ "@oops_not_a_mention"
assert content =~
- "mfm goes here aaa"
+ "mfm goes here aaa"
assert content =~ "some text
newline"
end
diff --git a/test/pleroma/web/mastodon_api/views/status_view_test.exs b/test/pleroma/web/mastodon_api/views/status_view_test.exs
index b3f0a1781..682c633f4 100644
--- a/test/pleroma/web/mastodon_api/views/status_view_test.exs
+++ b/test/pleroma/web/mastodon_api/views/status_view_test.exs
@@ -594,6 +594,7 @@ test "a reblog" do
represented = StatusView.render("show.json", %{for: user, activity: reblog})
assert represented[:id] == to_string(reblog.id)
+ assert represented[:content] == ""
assert represented[:reblog][:id] == to_string(activity.id)
assert represented[:emojis] == []
assert_schema(represented, "Status", Pleroma.Web.ApiSpec.spec())
--
2.43.0
From 87d5e5b06a9fff960c1918ba4256c43e2545abc5 Mon Sep 17 00:00:00 2001
From: FloatingGhost
Date: Wed, 8 Mar 2023 17:39:35 +0000
Subject: [PATCH 26/36] Allow moderators to get the admin scope again
Fixes #463
---
lib/pleroma/web/o_auth/scopes.ex | 2 ++
.../web/o_auth/o_auth_controller_test.exs | 36 +++++++++++++++++++
2 files changed, 38 insertions(+)
diff --git a/lib/pleroma/web/o_auth/scopes.ex b/lib/pleroma/web/o_auth/scopes.ex
index 344ecd631..a170eb33b 100644
--- a/lib/pleroma/web/o_auth/scopes.ex
+++ b/lib/pleroma/web/o_auth/scopes.ex
@@ -71,6 +71,8 @@ def validate(scopes, app_scopes, _user) do
"""
def filter_admin_scopes(scopes, %Pleroma.User{is_admin: true}), do: scopes
+ def filter_admin_scopes(scopes, %Pleroma.User{is_moderator: true}), do: scopes
+
def filter_admin_scopes(scopes, _user) do
drop_scopes = OAuthScopesPlug.filter_descendants(scopes, ["admin"])
Enum.reject(scopes, fn scope -> Enum.member?(drop_scopes, scope) end)
diff --git a/test/pleroma/web/o_auth/o_auth_controller_test.exs b/test/pleroma/web/o_auth/o_auth_controller_test.exs
index 303bc2cf2..9924023fe 100644
--- a/test/pleroma/web/o_auth/o_auth_controller_test.exs
+++ b/test/pleroma/web/o_auth/o_auth_controller_test.exs
@@ -728,6 +728,42 @@ test "redirects with oauth authorization, " <>
assert auth.scopes == scopes_subset
end
+ test "redirects with oauth authorization, " <>
+ "granting requested app-supported scopes to moderators" do
+ app_scopes = ["read", "write", "admin", "secret_scope"]
+ app = insert(:oauth_app, scopes: app_scopes)
+ redirect_uri = OAuthController.default_redirect_uri(app)
+ scopes_subset = ["read:subscope", "write", "admin"]
+ admin = insert(:user, is_moderator: true)
+
+ # In case scope param is missing, expecting _all_ app-supported scopes to be granted
+ conn =
+ post(
+ build_conn(),
+ "/oauth/authorize",
+ %{
+ "authorization" => %{
+ "name" => admin.nickname,
+ "password" => "test",
+ "client_id" => app.client_id,
+ "redirect_uri" => redirect_uri,
+ "scope" => scopes_subset,
+ "state" => "statepassed"
+ }
+ }
+ )
+
+ target = redirected_to(conn)
+ assert target =~ redirect_uri
+
+ query = URI.parse(target).query |> URI.query_decoder() |> Map.new()
+
+ assert %{"state" => "statepassed", "code" => code} = query
+ auth = Repo.get_by(Authorization, token: code)
+ assert auth
+ assert auth.scopes == scopes_subset
+ end
+
test "redirects with oauth authorization, " <>
"granting requested app-supported scopes for non-admin users" do
app_scopes = ["read", "write", "secret_scope", "admin"]
--
2.43.0
From 8a4437d2bee6ae5f07935a8a6471e8c8dac7f3b1 Mon Sep 17 00:00:00 2001
From: FloatingGhost
Date: Thu, 9 Mar 2023 19:13:14 +0000
Subject: [PATCH 27/36] Allow expires_at in filter requests
Fixes #492
---
.../api_spec/operations/filter_operation.ex | 6 ++++
lib/pleroma/web/plugs/http_security_plug.ex | 2 ++
.../masto_fe/fedibird.index.html.eex | 1 +
.../controllers/filter_controller_test.exs | 34 +++++++++++++++++++
.../web/o_auth/o_auth_controller_test.exs | 2 +-
5 files changed, 44 insertions(+), 1 deletion(-)
diff --git a/lib/pleroma/web/api_spec/operations/filter_operation.ex b/lib/pleroma/web/api_spec/operations/filter_operation.ex
index 5102921bc..ac0444aef 100644
--- a/lib/pleroma/web/api_spec/operations/filter_operation.ex
+++ b/lib/pleroma/web/api_spec/operations/filter_operation.ex
@@ -225,6 +225,12 @@ defp update_request do
type: :integer,
description:
"Number of seconds from now the filter should expire. Otherwise, null for a filter that doesn't expire."
+ },
+ expires_at: %Schema{
+ nullable: true,
+ type: :string,
+ description:
+ "When the filter should no longer be applied. String (ISO 8601 Datetime), or null if the filter does not expire."
}
},
required: [:phrase, :context],
diff --git a/lib/pleroma/web/plugs/http_security_plug.ex b/lib/pleroma/web/plugs/http_security_plug.ex
index b1f1ada94..6841b13aa 100644
--- a/lib/pleroma/web/plugs/http_security_plug.ex
+++ b/lib/pleroma/web/plugs/http_security_plug.ex
@@ -116,6 +116,8 @@ defp csp_string(conn) do
script_src = "script-src 'self' '#{nonce_tag}'"
+ script_src = if Mix.env() == :dev, do: [script_src, " 'unsafe-eval'"], else: script_src
+
report = if report_uri, do: ["report-uri ", report_uri, ";report-to csp-endpoint"]
insecure = if scheme == "https", do: "upgrade-insecure-requests"
diff --git a/lib/pleroma/web/templates/masto_fe/fedibird.index.html.eex b/lib/pleroma/web/templates/masto_fe/fedibird.index.html.eex
index 02c421831..6730c0ecc 100644
--- a/lib/pleroma/web/templates/masto_fe/fedibird.index.html.eex
+++ b/lib/pleroma/web/templates/masto_fe/fedibird.index.html.eex
@@ -19,6 +19,7 @@
+
diff --git a/test/pleroma/web/mastodon_api/controllers/filter_controller_test.exs b/test/pleroma/web/mastodon_api/controllers/filter_controller_test.exs
index 99f037483..1d8a67e6b 100644
--- a/test/pleroma/web/mastodon_api/controllers/filter_controller_test.exs
+++ b/test/pleroma/web/mastodon_api/controllers/filter_controller_test.exs
@@ -85,6 +85,40 @@ test "a filter with expires_in", %{conn: conn, user: user} do
assert Repo.aggregate(Filter, :count, :id) == 0
end
+
+ test "a filter with expires_at", %{conn: conn, user: user} do
+ response =
+ with_mock NaiveDateTime, [:passthrough], utc_now: fn -> ~N[2017-03-17 17:09:58] end do
+ conn
+ |> put_req_header("content-type", "application/json")
+ |> post("/api/v1/filters", %{
+ "phrase" => "bad memes",
+ context: ["home"],
+ expires_at: "2017-03-17T17:19:58.000Z"
+ })
+ |> json_response_and_validate_schema(200)
+ end
+
+ assert response["irreversible"] == false
+
+ assert response["expires_at"] == "2017-03-17T17:19:58.000Z"
+
+ filter = Filter.get(response["id"], user)
+
+ id = filter.id
+
+ assert_enqueued(
+ worker: PurgeExpiredFilter,
+ args: %{filter_id: filter.id}
+ )
+
+ assert {:ok, %{id: ^id}} =
+ perform_job(PurgeExpiredFilter, %{
+ filter_id: filter.id
+ })
+
+ assert Repo.aggregate(Filter, :count, :id) == 0
+ end
end
test "fetching a list of filters" do
diff --git a/test/pleroma/web/o_auth/o_auth_controller_test.exs b/test/pleroma/web/o_auth/o_auth_controller_test.exs
index 9924023fe..c996a403c 100644
--- a/test/pleroma/web/o_auth/o_auth_controller_test.exs
+++ b/test/pleroma/web/o_auth/o_auth_controller_test.exs
@@ -729,7 +729,7 @@ test "redirects with oauth authorization, " <>
end
test "redirects with oauth authorization, " <>
- "granting requested app-supported scopes to moderators" do
+ "granting requested app-supported scopes to moderators" do
app_scopes = ["read", "write", "admin", "secret_scope"]
app = insert(:oauth_app, scopes: app_scopes)
redirect_uri = OAuthController.default_redirect_uri(app)
--
2.43.0
From 964a85531948a9fa338f8277e18aecb8ca2f4c4e Mon Sep 17 00:00:00 2001
From: foxing
Date: Thu, 9 Mar 2023 20:40:28 +0000
Subject: [PATCH 28/36] Display Quote posts in the api features list to allow
external clients to enable compatibility with it. (#496)
Expose quote posting in the api as a feature.
Copies what the quote post PR for pleroma does to allow external clients to enable and disable features based on the feature-set of the instance.
As far as I am aware, akkoma doesn't allow you to disable quote posting, so this doesn't need anything fancy and it's just a hard on switch.
I tried to get one for the bubble tl to work also, but I'm not quite sure how to do it so that it switches off the feature when the bubble tl is disabled. I would argue that it could and ideally should be done as well though.
I also discovered a pretty tame bug in the testing of it, that deleting the DB entry for the bubble tl does not stop the bubble TL from actually working and it will continue to display the panel on the about page, I'll just leave it as a note here.
Reviewed-on: https://akkoma.dev/AkkomaGang/akkoma/pulls/496
Co-authored-by: foxing
Co-committed-by: foxing
---
lib/pleroma/web/mastodon_api/views/instance_view.ex | 1 +
1 file changed, 1 insertion(+)
diff --git a/lib/pleroma/web/mastodon_api/views/instance_view.ex b/lib/pleroma/web/mastodon_api/views/instance_view.ex
index 4fed1af74..2717da99d 100644
--- a/lib/pleroma/web/mastodon_api/views/instance_view.ex
+++ b/lib/pleroma/web/mastodon_api/views/instance_view.ex
@@ -65,6 +65,7 @@ def features do
"shareable_emoji_packs",
"multifetch",
"pleroma:api/v1/notifications:include_types_filter",
+ "quote_posting",
"editing",
if Config.get([:media_proxy, :enabled]) do
"media_proxy"
--
2.43.0
From b2112302ce49a4bdf0d0a0779854cd9f1a838ff3 Mon Sep 17 00:00:00 2001
From: FloatingGhost
Date: Fri, 10 Mar 2023 03:51:24 +0000
Subject: [PATCH 29/36] Add more information about failed verifications
---
lib/pleroma/user.ex | 10 +++++++---
lib/pleroma/web/rel_me.ex | 15 +++++++++------
test/pleroma/web/rel_me_test.exs | 7 +++----
3 files changed, 19 insertions(+), 13 deletions(-)
diff --git a/lib/pleroma/user.ex b/lib/pleroma/user.ex
index 7a1e5628e..f94202af5 100644
--- a/lib/pleroma/user.ex
+++ b/lib/pleroma/user.ex
@@ -2077,10 +2077,14 @@ def parse_bio(bio, user) when is_binary(bio) and bio != "" do
# TODO: get profile URLs other than user.ap_id
profile_urls = [user.ap_id]
- bio
- |> CommonUtils.format_input("text/plain",
+ CommonUtils.format_input(bio, "text/plain",
mentions_format: :full,
- rel: &RelMe.maybe_put_rel_me(&1, profile_urls)
+ rel: fn link ->
+ case RelMe.maybe_put_rel_me(link, profile_urls) do
+ "me" -> "me"
+ _ -> nil
+ end
+ end
)
|> elem(0)
end
diff --git a/lib/pleroma/web/rel_me.ex b/lib/pleroma/web/rel_me.ex
index 98a3ae8ee..afb525dbe 100644
--- a/lib/pleroma/web/rel_me.ex
+++ b/lib/pleroma/web/rel_me.ex
@@ -37,15 +37,18 @@ defp parse_url(url) do
end
def maybe_put_rel_me("http" <> _ = target_page, profile_urls) when is_list(profile_urls) do
- {:ok, rel_me_hrefs} = parse(target_page)
- true = Enum.any?(rel_me_hrefs, fn x -> x in profile_urls end)
-
- "me"
+ with {:parse, {:ok, rel_me_hrefs}} <- {:parse, parse(target_page)},
+ {:link_match, true} <-
+ {:link_match, Enum.any?(rel_me_hrefs, fn x -> x in profile_urls end)} do
+ "me"
+ else
+ e -> {:error, {:could_not_verify, target_page, e}}
+ end
rescue
- _ -> nil
+ e -> {:error, {:could_not_fetch, target_page, e}}
end
def maybe_put_rel_me(_, _) do
- nil
+ {:error, :invalid_url}
end
end
diff --git a/test/pleroma/web/rel_me_test.exs b/test/pleroma/web/rel_me_test.exs
index 313b163b5..fc7abd732 100644
--- a/test/pleroma/web/rel_me_test.exs
+++ b/test/pleroma/web/rel_me_test.exs
@@ -26,13 +26,12 @@ test "parse/1" do
test "maybe_put_rel_me/2" do
profile_urls = ["https://social.example.org/users/lain"]
attr = "me"
- fallback = nil
assert Pleroma.Web.RelMe.maybe_put_rel_me("http://example.com/rel_me/null", profile_urls) ==
- fallback
+ {:error, {:could_not_verify, "http://example.com/rel_me/null", {:link_match, false}}}
- assert Pleroma.Web.RelMe.maybe_put_rel_me("http://example.com/rel_me/error", profile_urls) ==
- fallback
+ assert {:error, {:could_not_fetch, "http://example.com/rel_me/error", _}} =
+ Pleroma.Web.RelMe.maybe_put_rel_me("http://example.com/rel_me/error", profile_urls)
assert Pleroma.Web.RelMe.maybe_put_rel_me("http://example.com/rel_me/anchor", profile_urls) ==
attr
--
2.43.0
From f1e836b1838a11232c5bc8978ee1f0cc7c6d226e Mon Sep 17 00:00:00 2001
From: quad
Date: Fri, 10 Mar 2023 15:51:56 +0000
Subject: [PATCH 30/36] Fix typo in installation/akkoma.service
---
installation/akkoma.service | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/installation/akkoma.service b/installation/akkoma.service
index 3d7c062ff..012e9185e 100644
--- a/installation/akkoma.service
+++ b/installation/akkoma.service
@@ -7,7 +7,7 @@ ExecReload=/bin/kill $MAINPID
Restart=on-failure
; Uncomment this if you're on Arch Linux
-; Evironment="PATH=/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl"
+; Environment="PATH=/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl"
; Name of the user that runs the Akkoma service.
User=akkoma
--
2.43.0
From e124a109c1897529b4b9eae563f550b9fb5dfb50 Mon Sep 17 00:00:00 2001
From: floatingghost
Date: Fri, 10 Mar 2023 18:46:49 +0000
Subject: [PATCH 31/36] Remove _misskey_reaction matching (#500)
Co-authored-by: FloatingGhost
Reviewed-on: https://akkoma.dev/AkkomaGang/akkoma/pulls/500
---
lib/pleroma/emoji.ex | 4 +++
.../emoji_react_validator.ex | 6 +---
.../web/activity_pub/transmogrifier.ex | 29 +++++++-----------
mix.lock | 30 +++++++++----------
.../transmogrifier/like_handling_test.exs | 2 +-
5 files changed, 31 insertions(+), 40 deletions(-)
diff --git a/lib/pleroma/emoji.ex b/lib/pleroma/emoji.ex
index dbe9abe8d..933f4275a 100644
--- a/lib/pleroma/emoji.ex
+++ b/lib/pleroma/emoji.ex
@@ -21,6 +21,7 @@ defmodule Pleroma.Emoji do
:named_table,
{:read_concurrency, true}
]
+ @emoji_regex ~r/:[A-Za-z0-9_-]+(@.+)?:/
defstruct [:code, :file, :tags, :safe_code, :safe_file]
@@ -205,4 +206,7 @@ def fully_qualify_emoji(unquote(unqualified)), do: unquote(qualified)
end
def fully_qualify_emoji(emoji), do: emoji
+
+ def matches_shortcode?(nil), do: false
+ def matches_shortcode?(s), do: Regex.match?(@emoji_regex, s)
end
diff --git a/lib/pleroma/web/activity_pub/object_validators/emoji_react_validator.ex b/lib/pleroma/web/activity_pub/object_validators/emoji_react_validator.ex
index 6109a0355..80ec65cd7 100644
--- a/lib/pleroma/web/activity_pub/object_validators/emoji_react_validator.ex
+++ b/lib/pleroma/web/activity_pub/object_validators/emoji_react_validator.ex
@@ -13,7 +13,6 @@ defmodule Pleroma.Web.ActivityPub.ObjectValidators.EmojiReactValidator do
import Pleroma.Web.ActivityPub.ObjectValidators.CommonValidations
@primary_key false
- @emoji_regex ~r/:[A-Za-z0-9_-]+(@.+)?:/
embedded_schema do
quote do
@@ -75,9 +74,6 @@ defp fix(data) do
end
end
- defp matches_shortcode?(nil), do: false
- defp matches_shortcode?(s), do: Regex.match?(@emoji_regex, s)
-
defp fix_emoji_qualification(%{"content" => emoji} = data) do
new_emoji = Pleroma.Emoji.fully_qualify_emoji(emoji)
@@ -98,7 +94,7 @@ defp fix_emoji_qualification(data), do: data
defp validate_emoji(cng) do
content = get_field(cng, :content)
- if Emoji.is_unicode_emoji?(content) || matches_shortcode?(content) do
+ if Emoji.is_unicode_emoji?(content) || Emoji.matches_shortcode?(content) do
cng
else
cng
diff --git a/lib/pleroma/web/activity_pub/transmogrifier.ex b/lib/pleroma/web/activity_pub/transmogrifier.ex
index 2ff0e8a74..7081213e7 100644
--- a/lib/pleroma/web/activity_pub/transmogrifier.ex
+++ b/lib/pleroma/web/activity_pub/transmogrifier.ex
@@ -419,28 +419,19 @@ def handle_incoming(%{"id" => id}, _options) when is_binary(id) and byte_size(id
def handle_incoming(
%{
"type" => "Like",
- "_misskey_reaction" => reaction,
- "tag" => _
+ "content" => reaction
} = data,
options
) do
- data
- |> Map.put("type", "EmojiReact")
- |> Map.put("content", reaction)
- |> handle_incoming(options)
- end
-
- def handle_incoming(
- %{
- "type" => "Like",
- "_misskey_reaction" => reaction
- } = data,
- options
- ) do
- data
- |> Map.put("type", "EmojiReact")
- |> Map.put("content", reaction)
- |> handle_incoming(options)
+ if Pleroma.Emoji.is_unicode_emoji?(reaction) or Pleroma.Emoji.matches_shortcode?(reaction) do
+ data
+ |> Map.put("type", "EmojiReact")
+ |> handle_incoming(options)
+ else
+ data
+ |> Map.delete("content")
+ |> handle_incoming(options)
+ end
end
def handle_incoming(
diff --git a/mix.lock b/mix.lock
index ae78425d8..369d1ed25 100644
--- a/mix.lock
+++ b/mix.lock
@@ -5,10 +5,10 @@
"bcrypt_elixir": {:hex, :bcrypt_elixir, "2.3.1", "5114d780459a04f2b4aeef52307de23de961b69e13a5cd98a911e39fda13f420", [:make, :mix], [{:comeonin, "~> 5.3", [hex: :comeonin, repo: "hexpm", optional: false]}, {:elixir_make, "~> 0.6", [hex: :elixir_make, repo: "hexpm", optional: false]}], "hexpm", "42182d5f46764def15bf9af83739e3bf4ad22661b1c34fc3e88558efced07279"},
"benchee": {:hex, :benchee, "1.1.0", "f3a43817209a92a1fade36ef36b86e1052627fd8934a8b937ac9ab3a76c43062", [:mix], [{:deep_merge, "~> 1.0", [hex: :deep_merge, repo: "hexpm", optional: false]}, {:statistex, "~> 1.0", [hex: :statistex, repo: "hexpm", optional: false]}], "hexpm", "7da57d545003165a012b587077f6ba90b89210fd88074ce3c60ce239eb5e6d93"},
"bunt": {:hex, :bunt, "0.2.1", "e2d4792f7bc0ced7583ab54922808919518d0e57ee162901a16a1b6664ef3b14", [:mix], [], "hexpm", "a330bfb4245239787b15005e66ae6845c9cd524a288f0d141c148b02603777a5"},
- "cachex": {:hex, :cachex, "3.5.0", "f715390a9e93125980187dcd7c4036ece92d273fbd9ec009a8ffa480abdc51f8", [:mix], [{:eternal, "~> 1.2", [hex: :eternal, repo: "hexpm", optional: false]}, {:jumper, "~> 1.0", [hex: :jumper, repo: "hexpm", optional: false]}, {:sleeplocks, "~> 1.1", [hex: :sleeplocks, repo: "hexpm", optional: false]}, {:unsafe, "~> 1.0", [hex: :unsafe, repo: "hexpm", optional: false]}], "hexpm", "fac2ebfa200dd9ffba08cdcef404426ccadfcb92281ca34f810535712d02b049"},
+ "cachex": {:hex, :cachex, "3.6.0", "14a1bfbeee060dd9bec25a5b6f4e4691e3670ebda28c8ba2884b12fe30b36bf8", [:mix], [{:eternal, "~> 1.2", [hex: :eternal, repo: "hexpm", optional: false]}, {:jumper, "~> 1.0", [hex: :jumper, repo: "hexpm", optional: false]}, {:sleeplocks, "~> 1.1", [hex: :sleeplocks, repo: "hexpm", optional: false]}, {:unsafe, "~> 1.0", [hex: :unsafe, repo: "hexpm", optional: false]}], "hexpm", "ebf24e373883bc8e0c8d894a63bbe102ae13d918f790121f5cfe6e485cc8e2e2"},
"calendar": {:hex, :calendar, "1.0.0", "f52073a708528482ec33d0a171954ca610fe2bd28f1e871f247dc7f1565fa807", [:mix], [{:tzdata, "~> 0.1.201603 or ~> 0.5.20 or ~> 1.0", [hex: :tzdata, repo: "hexpm", optional: false]}], "hexpm", "990e9581920c82912a5ee50e62ff5ef96da6b15949a2ee4734f935fdef0f0a6f"},
"captcha": {:git, "https://git.pleroma.social/pleroma/elixir-libraries/elixir-captcha.git", "e0f16822d578866e186a0974d65ad58cddc1e2ab", [ref: "e0f16822d578866e186a0974d65ad58cddc1e2ab"]},
- "castore": {:hex, :castore, "0.1.20", "62a0126cbb7cb3e259257827b9190f88316eb7aa3fdac01fd6f2dfd64e7f46e9", [:mix], [], "hexpm", "a020b7650529c986c454a4035b6b13a328e288466986307bea3aadb4c95ac98a"},
+ "castore": {:hex, :castore, "0.1.22", "4127549e411bedd012ca3a308dede574f43819fe9394254ca55ab4895abfa1a2", [:mix], [], "hexpm", "c17576df47eb5aa1ee40cc4134316a99f5cad3e215d5c77b8dd3cfef12a22cac"},
"certifi": {:hex, :certifi, "2.9.0", "6f2a475689dd47f19fb74334859d460a2dc4e3252a3324bd2111b8f0429e7e21", [:rebar3], [], "hexpm", "266da46bdb06d6c6d35fde799bcb28d36d985d424ad7c08b5bb48f5b5cdd4641"},
"combine": {:hex, :combine, "0.10.0", "eff8224eeb56498a2af13011d142c5e7997a80c8f5b97c499f84c841032e429f", [:mix], [], "hexpm", "1b1dbc1790073076580d0d1d64e42eae2366583e7aecd455d1215b0d16f2451b"},
"comeonin": {:hex, :comeonin, "5.3.3", "2c564dac95a35650e9b6acfe6d2952083d8a08e4a89b93a481acb552b325892e", [:mix], [], "hexpm", "3e38c9c2cb080828116597ca8807bb482618a315bfafd98c90bc22a821cc84df"},
@@ -24,8 +24,8 @@
"decimal": {:hex, :decimal, "2.0.0", "a78296e617b0f5dd4c6caf57c714431347912ffb1d0842e998e9792b5642d697", [:mix], [], "hexpm", "34666e9c55dea81013e77d9d87370fe6cb6291d1ef32f46a1600230b1d44f577"},
"deep_merge": {:hex, :deep_merge, "1.0.0", "b4aa1a0d1acac393bdf38b2291af38cb1d4a52806cf7a4906f718e1feb5ee961", [:mix], [], "hexpm", "ce708e5f094b9cd4e8f2be4f00d2f4250c4095be93f8cd6d018c753894885430"},
"dialyxir": {:hex, :dialyxir, "1.2.0", "58344b3e87c2e7095304c81a9ae65cb68b613e28340690dfe1a5597fd08dec37", [:mix], [{:erlex, ">= 0.2.6", [hex: :erlex, repo: "hexpm", optional: false]}], "hexpm", "61072136427a851674cab81762be4dbeae7679f85b1272b6d25c3a839aff8463"},
- "earmark": {:hex, :earmark, "1.4.34", "d7f89d3bbd7567a0bffc465e0a949f8f8dcbe43909c3acf96f4761a302cea10c", [:mix], [{:earmark_parser, "~> 1.4.29", [hex: :earmark_parser, repo: "hexpm", optional: false]}], "hexpm", "90b106f3dad85b133b10d7d628167c88246123fd1cecb4557d83d21ec9e65504"},
- "earmark_parser": {:hex, :earmark_parser, "1.4.29", "149d50dcb3a93d9f3d6f3ecf18c918fb5a2d3c001b5d3305c926cddfbd33355b", [:mix], [], "hexpm", "4902af1b3eb139016aed210888748db8070b8125c2342ce3dcae4f38dcc63503"},
+ "earmark": {:hex, :earmark, "1.4.37", "56ce845c543393aa3f9b294c818c3d783452a4a67e4ab18c4303a954a8b59363", [:mix], [{:earmark_parser, "~> 1.4.31", [hex: :earmark_parser, repo: "hexpm", optional: false]}], "hexpm", "d86d5e12868db86d5321b00e62a4bbcb4150346e4acc9a90a041fb188a5cb106"},
+ "earmark_parser": {:hex, :earmark_parser, "1.4.31", "a93921cdc6b9b869f519213d5bc79d9e218ba768d7270d46fdcf1c01bacff9e2", [:mix], [], "hexpm", "317d367ee0335ef037a87e46c91a2269fef6306413f731e8ec11fc45a7efd059"},
"eblurhash": {:hex, :eblurhash, "1.2.2", "7da4255aaea984b31bb71155f673257353b0e0554d0d30dcf859547e74602582", [:rebar3], [], "hexpm", "8c20ca00904de023a835a9dcb7b7762fed32264c85a80c3cafa85288e405044c"},
"ecto": {:hex, :ecto, "3.9.4", "3ee68e25dbe0c36f980f1ba5dd41ee0d3eb0873bccae8aeaf1a2647242bffa35", [:mix], [{:decimal, "~> 1.6 or ~> 2.0", [hex: :decimal, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}, {:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "de5f988c142a3aa4ec18b85a4ec34a2390b65b24f02385c1144252ff6ff8ee75"},
"ecto_enum": {:hex, :ecto_enum, "1.4.0", "d14b00e04b974afc69c251632d1e49594d899067ee2b376277efd8233027aec8", [:mix], [{:ecto, ">= 3.0.0", [hex: :ecto, repo: "hexpm", optional: false]}, {:ecto_sql, "> 3.0.0", [hex: :ecto_sql, repo: "hexpm", optional: false]}, {:mariaex, ">= 0.0.0", [hex: :mariaex, repo: "hexpm", optional: true]}, {:postgrex, ">= 0.0.0", [hex: :postgrex, repo: "hexpm", optional: true]}], "hexpm", "8fb55c087181c2b15eee406519dc22578fa60dd82c088be376d0010172764ee4"},
@@ -38,7 +38,7 @@
"ex_aws": {:hex, :ex_aws, "2.1.9", "dc4865ecc20a05190a34a0ac5213e3e5e2b0a75a0c2835e923ae7bfeac5e3c31", [:mix], [{:configparser_ex, "~> 4.0", [hex: :configparser_ex, repo: "hexpm", optional: true]}, {:hackney, "~> 1.9", [hex: :hackney, repo: "hexpm", optional: true]}, {:jason, "~> 1.1", [hex: :jason, repo: "hexpm", optional: true]}, {:jsx, "~> 3.0", [hex: :jsx, repo: "hexpm", optional: true]}, {:sweet_xml, "~> 0.6", [hex: :sweet_xml, repo: "hexpm", optional: true]}], "hexpm", "3e6c776703c9076001fbe1f7c049535f042cb2afa0d2cbd3b47cbc4e92ac0d10"},
"ex_aws_s3": {:hex, :ex_aws_s3, "2.4.0", "ce8decb6b523381812798396bc0e3aaa62282e1b40520125d1f4eff4abdff0f4", [:mix], [{:ex_aws, "~> 2.0", [hex: :ex_aws, repo: "hexpm", optional: false]}, {:sweet_xml, ">= 0.0.0", [hex: :sweet_xml, repo: "hexpm", optional: true]}], "hexpm", "85dda6e27754d94582869d39cba3241d9ea60b6aa4167f9c88e309dc687e56bb"},
"ex_const": {:hex, :ex_const, "0.2.4", "d06e540c9d834865b012a17407761455efa71d0ce91e5831e86881b9c9d82448", [:mix], [], "hexpm", "96fd346610cc992b8f896ed26a98be82ac4efb065a0578f334a32d60a3ba9767"},
- "ex_doc": {:hex, :ex_doc, "0.29.1", "b1c652fa5f92ee9cf15c75271168027f92039b3877094290a75abcaac82a9f77", [:mix], [{:earmark_parser, "~> 1.4.19", [hex: :earmark_parser, repo: "hexpm", optional: false]}, {:makeup_elixir, "~> 0.14", [hex: :makeup_elixir, repo: "hexpm", optional: false]}, {:makeup_erlang, "~> 0.1", [hex: :makeup_erlang, repo: "hexpm", optional: false]}], "hexpm", "b7745fa6374a36daf484e2a2012274950e084815b936b1319aeebcf7809574f6"},
+ "ex_doc": {:hex, :ex_doc, "0.29.2", "dfa97532ba66910b2a3016a4bbd796f41a86fc71dd5227e96f4c8581fdf0fdf0", [:mix], [{:earmark_parser, "~> 1.4.19", [hex: :earmark_parser, repo: "hexpm", optional: false]}, {:makeup_elixir, "~> 0.14", [hex: :makeup_elixir, repo: "hexpm", optional: false]}, {:makeup_erlang, "~> 0.1", [hex: :makeup_erlang, repo: "hexpm", optional: false]}], "hexpm", "6b5d7139eda18a753e3250e27e4a929f8d2c880dd0d460cb9986305dea3e03af"},
"ex_machina": {:hex, :ex_machina, "2.7.0", "b792cc3127fd0680fecdb6299235b4727a4944a09ff0fa904cc639272cd92dc7", [:mix], [{:ecto, "~> 2.2 or ~> 3.0", [hex: :ecto, repo: "hexpm", optional: true]}, {:ecto_sql, "~> 3.0", [hex: :ecto_sql, repo: "hexpm", optional: true]}], "hexpm", "419aa7a39bde11894c87a615c4ecaa52d8f107bbdd81d810465186f783245bf8"},
"ex_syslogger": {:hex, :ex_syslogger, "1.5.2", "72b6aa2d47a236e999171f2e1ec18698740f40af0bd02c8c650bf5f1fd1bac79", [:mix], [{:poison, ">= 1.5.0", [hex: :poison, repo: "hexpm", optional: true]}, {:syslog, "~> 1.1.0", [hex: :syslog, repo: "hexpm", optional: false]}], "hexpm", "ab9fab4136dbc62651ec6f16fa4842f10cf02ab4433fa3d0976c01be99398399"},
"excoveralls": {:hex, :excoveralls, "0.15.1", "83c8cf7973dd9d1d853dce37a2fb98aaf29b564bf7d01866e409abf59dac2c0e", [:mix], [{:hackney, "~> 1.16", [hex: :hackney, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}], "hexpm", "f8416bd90c0082d56a2178cf46c837595a06575f70a5624f164a1ffe37de07e7"},
@@ -47,7 +47,7 @@
"file_system": {:hex, :file_system, "0.2.10", "fb082005a9cd1711c05b5248710f8826b02d7d1784e7c3451f9c1231d4fc162d", [:mix], [], "hexpm", "41195edbfb562a593726eda3b3e8b103a309b733ad25f3d642ba49696bf715dc"},
"finch": {:hex, :finch, "0.14.0", "619bfdee18fc135190bf590356c4bf5d5f71f916adb12aec94caa3fa9267a4bc", [:mix], [{:castore, "~> 0.1", [hex: :castore, repo: "hexpm", optional: false]}, {:mime, "~> 1.0 or ~> 2.0", [hex: :mime, repo: "hexpm", optional: false]}, {:mint, "~> 1.3", [hex: :mint, repo: "hexpm", optional: false]}, {:nimble_options, "~> 0.4", [hex: :nimble_options, repo: "hexpm", optional: false]}, {:nimble_pool, "~> 0.2.6", [hex: :nimble_pool, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "5459acaf18c4fdb47a8c22fb3baff5d8173106217c8e56c5ba0b93e66501a8dd"},
"flake_id": {:hex, :flake_id, "0.1.0", "7716b086d2e405d09b647121a166498a0d93d1a623bead243e1f74216079ccb3", [:mix], [{:base62, "~> 1.2", [hex: :base62, repo: "hexpm", optional: false]}, {:ecto, ">= 2.0.0", [hex: :ecto, repo: "hexpm", optional: true]}], "hexpm", "31fc8090fde1acd267c07c36ea7365b8604055f897d3a53dd967658c691bd827"},
- "floki": {:hex, :floki, "0.34.0", "002d0cc194b48794d74711731db004fafeb328fe676976f160685262d43706a8", [:mix], [], "hexpm", "9c3a9f43f40dde00332a589bd9d389b90c1f518aef500364d00636acc5ebc99c"},
+ "floki": {:hex, :floki, "0.34.2", "5fad07ef153b3b8ec110b6b155ec3780c4b2c4906297d0b4be1a7162d04a7e02", [:mix], [], "hexpm", "26b9d50f0f01796bc6be611ca815c5e0de034d2128e39cc9702eee6b66a4d1c8"},
"gen_smtp": {:hex, :gen_smtp, "0.15.0", "9f51960c17769b26833b50df0b96123605a8024738b62db747fece14eb2fbfcc", [:rebar3], [], "hexpm", "29bd14a88030980849c7ed2447b8db6d6c9278a28b11a44cafe41b791205440f"},
"gettext": {:hex, :gettext, "0.20.0", "75ad71de05f2ef56991dbae224d35c68b098dd0e26918def5bb45591d5c8d429", [:mix], [], "hexpm", "1c03b177435e93a47441d7f681a7040bd2a816ece9e2666d1c9001035121eb3d"},
"hackney": {:hex, :hackney, "1.18.1", "f48bf88f521f2a229fc7bae88cf4f85adc9cd9bcf23b5dc8eb6a1788c662c4f6", [:rebar3], [{:certifi, "~> 2.9.0", [hex: :certifi, repo: "hexpm", optional: false]}, {:idna, "~> 6.1.0", [hex: :idna, repo: "hexpm", optional: false]}, {:metrics, "~> 1.0.0", [hex: :metrics, repo: "hexpm", optional: false]}, {:mimerl, "~> 1.1", [hex: :mimerl, repo: "hexpm", optional: false]}, {:parse_trans, "3.3.1", [hex: :parse_trans, repo: "hexpm", optional: false]}, {:ssl_verify_fun, "~> 1.1.0", [hex: :ssl_verify_fun, repo: "hexpm", optional: false]}, {:unicode_util_compat, "~> 0.7.0", [hex: :unicode_util_compat, repo: "hexpm", optional: false]}], "hexpm", "a4ecdaff44297e9b5894ae499e9a070ea1888c84afdd1fd9b7b2bc384950128e"},
@@ -58,7 +58,7 @@
"idna": {:hex, :idna, "6.1.1", "8a63070e9f7d0c62eb9d9fcb360a7de382448200fbbd1b106cc96d3d8099df8d", [:rebar3], [{:unicode_util_compat, "~> 0.7.0", [hex: :unicode_util_compat, repo: "hexpm", optional: false]}], "hexpm", "92376eb7894412ed19ac475e4a86f7b413c1b9fbb5bd16dccd57934157944cea"},
"inet_cidr": {:hex, :inet_cidr, "1.0.4", "a05744ab7c221ca8e395c926c3919a821eb512e8f36547c062f62c4ca0cf3d6e", [:mix], [], "hexpm", "64a2d30189704ae41ca7dbdd587f5291db5d1dda1414e0774c29ffc81088c1bc"},
"jason": {:hex, :jason, "1.4.0", "e855647bc964a44e2f67df589ccf49105ae039d4179db7f6271dfd3843dc27e6", [:mix], [{:decimal, "~> 1.0 or ~> 2.0", [hex: :decimal, repo: "hexpm", optional: true]}], "hexpm", "79a3791085b2a0f743ca04cec0f7be26443738779d09302e01318f97bdb82121"},
- "joken": {:hex, :joken, "2.5.0", "09be497d804b8115eb6f07615cef2e60c2a1008fb89dc0aef0d4c4b4609b99aa", [:mix], [{:jose, "~> 1.11.2", [hex: :jose, repo: "hexpm", optional: false]}], "hexpm", "22b25c89617c5ed8ca7b31026340a25ea0f9ca7160f9706b79be9ed81fdf74e7"},
+ "joken": {:hex, :joken, "2.6.0", "b9dd9b6d52e3e6fcb6c65e151ad38bf4bc286382b5b6f97079c47ade6b1bcc6a", [:mix], [{:jose, "~> 1.11.5", [hex: :jose, repo: "hexpm", optional: false]}], "hexpm", "5a95b05a71cd0b54abd35378aeb1d487a23a52c324fa7efdffc512b655b5aaa7"},
"jose": {:hex, :jose, "1.11.5", "3bc2d75ffa5e2c941ca93e5696b54978323191988eb8d225c2e663ddfefd515e", [:mix, :rebar3], [], "hexpm", "dcd3b215bafe02ea7c5b23dafd3eb8062a5cd8f2d904fd9caa323d37034ab384"},
"jumper": {:hex, :jumper, "1.0.1", "3c00542ef1a83532b72269fab9f0f0c82bf23a35e27d278bfd9ed0865cecabff", [:mix], [], "hexpm", "318c59078ac220e966d27af3646026db9b5a5e6703cb2aa3e26bcfaba65b7433"},
"linkify": {:git, "https://akkoma.dev/AkkomaGang/linkify.git", "2567e2c1073fa371fd26fd66dfa5bc77b6919c16", [branch: "bugfix/line-ending-buffer"]},
@@ -72,7 +72,7 @@
"mfm_parser": {:git, "https://akkoma.dev/AkkomaGang/mfm-parser.git", "912fba81152d4d572e457fd5427f9875b2bc3dbe", [ref: "912fba81152d4d572e457fd5427f9875b2bc3dbe"]},
"mime": {:hex, :mime, "1.6.0", "dabde576a497cef4bbdd60aceee8160e02a6c89250d6c0b29e56c0dfb00db3d2", [:mix], [], "hexpm", "31a1a8613f8321143dde1dafc36006a17d28d02bdfecb9e95a880fa7aabd19a7"},
"mimerl": {:hex, :mimerl, "1.2.0", "67e2d3f571088d5cfd3e550c383094b47159f3eee8ffa08e64106cdf5e981be3", [:rebar3], [], "hexpm", "f278585650aa581986264638ebf698f8bb19df297f66ad91b18910dfc6e19323"},
- "mint": {:hex, :mint, "1.4.2", "50330223429a6e1260b2ca5415f69b0ab086141bc76dc2fbf34d7c389a6675b2", [:mix], [{:castore, "~> 0.1.0", [hex: :castore, repo: "hexpm", optional: true]}, {:hpax, "~> 0.1.1", [hex: :hpax, repo: "hexpm", optional: false]}], "hexpm", "ce75a5bbcc59b4d7d8d70f8b2fc284b1751ffb35c7b6a6302b5192f8ab4ddd80"},
+ "mint": {:hex, :mint, "1.5.1", "8db5239e56738552d85af398798c80648db0e90f343c8469f6c6d8898944fb6f", [:mix], [{:castore, "~> 0.1.0 or ~> 1.0", [hex: :castore, repo: "hexpm", optional: true]}, {:hpax, "~> 0.1.1", [hex: :hpax, repo: "hexpm", optional: false]}], "hexpm", "4a63e1e76a7c3956abd2c72f370a0d0aecddc3976dea5c27eccbecfa5e7d5b1e"},
"mock": {:hex, :mock, "0.3.7", "75b3bbf1466d7e486ea2052a73c6e062c6256fb429d6797999ab02fa32f29e03", [:mix], [{:meck, "~> 0.9.2", [hex: :meck, repo: "hexpm", optional: false]}], "hexpm", "4da49a4609e41fd99b7836945c26f373623ea968cfb6282742bcb94440cf7e5c"},
"mogrify": {:hex, :mogrify, "0.9.2", "b360984adea7dd6a55f18028e6327973c58de7f548fdb86c9859848aa904d5b0", [:mix], [], "hexpm", "c18d10fd70ca20e2585301616c89f6e4f7159d92efc9cc8ee579e00c886f699d"},
"mox": {:hex, :mox, "1.0.2", "dc2057289ac478b35760ba74165b4b3f402f68803dd5aecd3bfd19c183815d64", [:mix], [], "hexpm", "f9864921b3aaf763c8741b5b8e6f908f44566f1e427b2630e89e9a73b981fef2"},
@@ -80,20 +80,20 @@
"nimble_parsec": {:hex, :nimble_parsec, "1.2.3", "244836e6e3f1200c7f30cb56733fd808744eca61fd182f731eac4af635cc6d0b", [:mix], [], "hexpm", "c8d789e39b9131acf7b99291e93dae60ab48ef14a7ee9d58c6964f59efb570b0"},
"nimble_pool": {:hex, :nimble_pool, "0.2.6", "91f2f4c357da4c4a0a548286c84a3a28004f68f05609b4534526871a22053cde", [:mix], [], "hexpm", "1c715055095d3f2705c4e236c18b618420a35490da94149ff8b580a2144f653f"},
"oban": {:hex, :oban, "2.12.1", "f604d7e6a8be9fda4a9b0f6cebbd633deba569f85dbff70c4d25d99a6f023177", [:mix], [{:ecto_sql, "~> 3.6", [hex: :ecto_sql, repo: "hexpm", optional: false]}, {:jason, "~> 1.1", [hex: :jason, repo: "hexpm", optional: false]}, {:postgrex, "~> 0.16", [hex: :postgrex, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "9b1844c2b74e0d788b73e5144b0c9d5674cb775eae29d88a36f3c3b48d42d058"},
- "open_api_spex": {:hex, :open_api_spex, "3.16.0", "9843af4e87550cd8ac5821b10e4c74f1d51f0d4e3310f824d780614743423b25", [:mix], [{:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}, {:plug, "~> 1.7", [hex: :plug, repo: "hexpm", optional: false]}, {:poison, "~> 3.0 or ~> 4.0 or ~> 5.0", [hex: :poison, repo: "hexpm", optional: true]}, {:ymlr, "~> 2.0 or ~> 3.0", [hex: :ymlr, repo: "hexpm", optional: true]}], "hexpm", "bb0be24a648b73e8fc8cbda17f514b8486262275e8b33e8b5ae66283df972129"},
+ "open_api_spex": {:hex, :open_api_spex, "3.16.1", "8137c338129d63060b4b04947c6c57429f86267045c479c703a38a6d3f98dee1", [:mix], [{:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}, {:plug, "~> 1.7", [hex: :plug, repo: "hexpm", optional: false]}, {:poison, "~> 3.0 or ~> 4.0 or ~> 5.0", [hex: :poison, repo: "hexpm", optional: true]}, {:ymlr, "~> 2.0 or ~> 3.0", [hex: :ymlr, repo: "hexpm", optional: true]}], "hexpm", "ef6fd778ac121af866b48b75ad4ad256b6ff33949113ea4aa1629af8bfdfdbfb"},
"parse_trans": {:hex, :parse_trans, "3.3.1", "16328ab840cc09919bd10dab29e431da3af9e9e7e7e6f0089dd5a2d2820011d8", [:rebar3], [], "hexpm", "07cd9577885f56362d414e8c4c4e6bdf10d43a8767abb92d24cbe8b24c54888b"},
- "phoenix": {:hex, :phoenix, "1.6.15", "0a1d96bbc10747fd83525370d691953cdb6f3ccbac61aa01b4acb012474b047d", [:mix], [{:castore, ">= 0.0.0", [hex: :castore, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}, {:phoenix_pubsub, "~> 2.0", [hex: :phoenix_pubsub, repo: "hexpm", optional: false]}, {:phoenix_view, "~> 1.0 or ~> 2.0", [hex: :phoenix_view, repo: "hexpm", optional: false]}, {:plug, "~> 1.10", [hex: :plug, repo: "hexpm", optional: false]}, {:plug_cowboy, "~> 2.2", [hex: :plug_cowboy, repo: "hexpm", optional: true]}, {:plug_crypto, "~> 1.2", [hex: :plug_crypto, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "d70ab9fbf6b394755ea88b644d34d79d8b146e490973151f248cacd122d20672"},
+ "phoenix": {:hex, :phoenix, "1.6.16", "e5bdd18c7a06da5852a25c7befb72246de4ddc289182285f8685a40b7b5f5451", [:mix], [{:castore, ">= 0.0.0", [hex: :castore, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}, {:phoenix_pubsub, "~> 2.0", [hex: :phoenix_pubsub, repo: "hexpm", optional: false]}, {:phoenix_view, "~> 1.0 or ~> 2.0", [hex: :phoenix_view, repo: "hexpm", optional: false]}, {:plug, "~> 1.10", [hex: :plug, repo: "hexpm", optional: false]}, {:plug_cowboy, "~> 2.2", [hex: :plug_cowboy, repo: "hexpm", optional: true]}, {:plug_crypto, "~> 1.2", [hex: :plug_crypto, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "e15989ff34f670a96b95ef6d1d25bad0d9c50df5df40b671d8f4a669e050ac39"},
"phoenix_ecto": {:hex, :phoenix_ecto, "4.4.0", "0672ed4e4808b3fbed494dded89958e22fb882de47a97634c0b13e7b0b5f7720", [:mix], [{:ecto, "~> 3.3", [hex: :ecto, repo: "hexpm", optional: false]}, {:phoenix_html, "~> 2.14.2 or ~> 3.0", [hex: :phoenix_html, repo: "hexpm", optional: true]}, {:plug, "~> 1.9", [hex: :plug, repo: "hexpm", optional: false]}], "hexpm", "09864e558ed31ee00bd48fcc1d4fc58ae9678c9e81649075431e69dbabb43cc1"},
- "phoenix_html": {:hex, :phoenix_html, "3.2.0", "1c1219d4b6cb22ac72f12f73dc5fad6c7563104d083f711c3fcd8551a1f4ae11", [:mix], [{:plug, "~> 1.5", [hex: :plug, repo: "hexpm", optional: true]}], "hexpm", "36ec97ba56d25c0136ef1992c37957e4246b649d620958a1f9fa86165f8bc54f"},
+ "phoenix_html": {:hex, :phoenix_html, "3.3.1", "4788757e804a30baac6b3fc9695bf5562465dd3f1da8eb8460ad5b404d9a2178", [:mix], [{:plug, "~> 1.5", [hex: :plug, repo: "hexpm", optional: true]}], "hexpm", "bed1906edd4906a15fd7b412b85b05e521e1f67c9a85418c55999277e553d0d3"},
"phoenix_live_dashboard": {:hex, :phoenix_live_dashboard, "0.7.2", "97cc4ff2dba1ebe504db72cb45098cb8e91f11160528b980bd282cc45c73b29c", [:mix], [{:ecto, "~> 3.6.2 or ~> 3.7", [hex: :ecto, repo: "hexpm", optional: true]}, {:ecto_mysql_extras, "~> 0.5", [hex: :ecto_mysql_extras, repo: "hexpm", optional: true]}, {:ecto_psql_extras, "~> 0.7", [hex: :ecto_psql_extras, repo: "hexpm", optional: true]}, {:mime, "~> 1.6 or ~> 2.0", [hex: :mime, repo: "hexpm", optional: false]}, {:phoenix_live_view, "~> 0.18.3", [hex: :phoenix_live_view, repo: "hexpm", optional: false]}, {:telemetry_metrics, "~> 0.6 or ~> 1.0", [hex: :telemetry_metrics, repo: "hexpm", optional: false]}], "hexpm", "0e5fdf063c7a3b620c566a30fcf68b7ee02e5e46fe48ee46a6ec3ba382dc05b7"},
- "phoenix_live_view": {:hex, :phoenix_live_view, "0.18.6", "460c36977643d76fc8e0b6b3c4bba703c0ef21abc74233cf7dc15d1c1696832f", [:mix], [{:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}, {:phoenix, "~> 1.6.15 or ~> 1.7.0", [hex: :phoenix, repo: "hexpm", optional: false]}, {:phoenix_html, "~> 3.1", [hex: :phoenix_html, repo: "hexpm", optional: false]}, {:phoenix_template, "~> 1.0", [hex: :phoenix_template, repo: "hexpm", optional: false]}, {:phoenix_view, "~> 2.0", [hex: :phoenix_view, repo: "hexpm", optional: true]}, {:telemetry, "~> 0.4.2 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "ce2768fb44c3c370df13fc4f0dc70623b662a93a201d8d7d87c4ba6542bc6b73"},
+ "phoenix_live_view": {:hex, :phoenix_live_view, "0.18.17", "74938b02f3c531bed3f87fe1ea39af6b5b2d26ab1405e77e76b8ef5df9ffa8a1", [:mix], [{:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}, {:phoenix, "~> 1.6.15 or ~> 1.7.0", [hex: :phoenix, repo: "hexpm", optional: false]}, {:phoenix_html, "~> 3.3", [hex: :phoenix_html, repo: "hexpm", optional: false]}, {:phoenix_template, "~> 1.0", [hex: :phoenix_template, repo: "hexpm", optional: false]}, {:phoenix_view, "~> 2.0", [hex: :phoenix_view, repo: "hexpm", optional: true]}, {:telemetry, "~> 0.4.2 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "f4b5710e19a29b8dc93b7af4bab4739c067a3cb759af01ffc3057165453dce38"},
"phoenix_pubsub": {:hex, :phoenix_pubsub, "2.1.1", "ba04e489ef03763bf28a17eb2eaddc2c20c6d217e2150a61e3298b0f4c2012b5", [:mix], [], "hexpm", "81367c6d1eea5878ad726be80808eb5a787a23dee699f96e72b1109c57cdd8d9"},
"phoenix_swoosh": {:hex, :phoenix_swoosh, "0.3.4", "615f8f393135de7e0cbb4bd00ba238b1e0cd324b0d90efbaee613c2f02ca5e5c", [:mix], [{:hackney, "~> 1.9", [hex: :hackney, repo: "hexpm", optional: false]}, {:phoenix, "~> 1.4", [hex: :phoenix, repo: "hexpm", optional: false]}, {:phoenix_html, "~> 2.14 or ~> 3.0", [hex: :phoenix_html, repo: "hexpm", optional: false]}, {:swoosh, "~> 1.0", [hex: :swoosh, repo: "hexpm", optional: false]}], "hexpm", "3971221846232021ab5e3c7489fd62ec5bfd6a2e01cae10a317ccf6fb350571c"},
- "phoenix_template": {:hex, :phoenix_template, "1.0.0", "c57bc5044f25f007dc86ab21895688c098a9f846a8dda6bc40e2d0ddc146e38f", [:mix], [{:phoenix_html, "~> 2.14.2 or ~> 3.0", [hex: :phoenix_html, repo: "hexpm", optional: true]}], "hexpm", "1b066f99a26fd22064c12b2600a9a6e56700f591bf7b20b418054ea38b4d4357"},
+ "phoenix_template": {:hex, :phoenix_template, "1.0.1", "85f79e3ad1b0180abb43f9725973e3b8c2c3354a87245f91431eec60553ed3ef", [:mix], [{:phoenix_html, "~> 2.14.2 or ~> 3.0", [hex: :phoenix_html, repo: "hexpm", optional: true]}], "hexpm", "157dc078f6226334c91cb32c1865bf3911686f8bcd6bcff86736f6253e6993ee"},
"phoenix_view": {:hex, :phoenix_view, "2.0.2", "6bd4d2fd595ef80d33b439ede6a19326b78f0f1d8d62b9a318e3d9c1af351098", [:mix], [{:phoenix_html, "~> 2.14.2 or ~> 3.0", [hex: :phoenix_html, repo: "hexpm", optional: true]}, {:phoenix_template, "~> 1.0", [hex: :phoenix_template, repo: "hexpm", optional: false]}], "hexpm", "a929e7230ea5c7ee0e149ffcf44ce7cf7f4b6d2bfe1752dd7c084cdff152d36f"},
"plug": {:hex, :plug, "1.14.0", "ba4f558468f69cbd9f6b356d25443d0b796fbdc887e03fa89001384a9cac638f", [:mix], [{:mime, "~> 1.0 or ~> 2.0", [hex: :mime, repo: "hexpm", optional: false]}, {:plug_crypto, "~> 1.1.1 or ~> 1.2", [hex: :plug_crypto, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4.3 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "bf020432c7d4feb7b3af16a0c2701455cbbbb95e5b6866132cb09eb0c29adc14"},
"plug_cowboy": {:hex, :plug_cowboy, "2.6.0", "d1cf12ff96a1ca4f52207c5271a6c351a4733f413803488d75b70ccf44aebec2", [:mix], [{:cowboy, "~> 2.7", [hex: :cowboy, repo: "hexpm", optional: false]}, {:cowboy_telemetry, "~> 0.3", [hex: :cowboy_telemetry, repo: "hexpm", optional: false]}, {:plug, "~> 1.14", [hex: :plug, repo: "hexpm", optional: false]}], "hexpm", "073cf20b753ce6682ed72905cd62a2d4bd9bad1bf9f7feb02a1b8e525bd94fa6"},
- "plug_crypto": {:hex, :plug_crypto, "1.2.3", "8f77d13aeb32bfd9e654cb68f0af517b371fb34c56c9f2b58fe3df1235c1251a", [:mix], [], "hexpm", "b5672099c6ad5c202c45f5a403f21a3411247f164e4a8fab056e5cd8a290f4a2"},
+ "plug_crypto": {:hex, :plug_crypto, "1.2.4", "34c380ef387cc7e8d537854ddd4b7096c79a4397d53587cb80419c782b03fdbc", [:mix], [], "hexpm", "4de415f03faec94d9da9be8c12cb51e9c98cbf66d732b6df669d4562d8e91acc"},
"plug_static_index_html": {:hex, :plug_static_index_html, "1.0.0", "840123d4d3975585133485ea86af73cb2600afd7f2a976f9f5fd8b3808e636a0", [:mix], [{:plug, "~> 1.0", [hex: :plug, repo: "hexpm", optional: false]}], "hexpm", "79fd4fcf34d110605c26560cbae8f23c603ec4158c08298bd4360fdea90bb5cf"},
"poison": {:hex, :poison, "5.0.0", "d2b54589ab4157bbb82ec2050757779bfed724463a544b6e20d79855a9e43b24", [:mix], [{:decimal, "~> 2.0", [hex: :decimal, repo: "hexpm", optional: true]}], "hexpm", "11dc6117c501b80c62a7594f941d043982a1bd05a1184280c0d9166eb4d8d3fc"},
"poolboy": {:hex, :poolboy, "1.5.2", "392b007a1693a64540cead79830443abf5762f5d30cf50bc95cb2c1aaafa006b", [:rebar3], [], "hexpm", "dad79704ce5440f3d5a3681c8590b9dc25d1a561e8f5a9c995281012860901e3"},
@@ -120,7 +120,7 @@
"timex": {:hex, :timex, "3.7.9", "790cdfc4acfce434e442f98c02ea6d84d0239073bfd668968f82ac63e9a6788d", [:mix], [{:combine, "~> 0.10", [hex: :combine, repo: "hexpm", optional: false]}, {:gettext, "~> 0.10", [hex: :gettext, repo: "hexpm", optional: false]}, {:tzdata, "~> 1.1", [hex: :tzdata, repo: "hexpm", optional: false]}], "hexpm", "64691582e5bb87130f721fc709acfb70f24405833998fabf35be968984860ce1"},
"trailing_format_plug": {:hex, :trailing_format_plug, "0.0.7", "64b877f912cf7273bed03379936df39894149e35137ac9509117e59866e10e45", [:mix], [{:plug, "> 0.12.0", [hex: :plug, repo: "hexpm", optional: false]}], "hexpm", "bd4fde4c15f3e993a999e019d64347489b91b7a9096af68b2bdadd192afa693f"},
"tzdata": {:hex, :tzdata, "1.1.1", "20c8043476dfda8504952d00adac41c6eda23912278add38edc140ae0c5bcc46", [:mix], [{:hackney, "~> 1.17", [hex: :hackney, repo: "hexpm", optional: false]}], "hexpm", "a69cec8352eafcd2e198dea28a34113b60fdc6cb57eb5ad65c10292a6ba89787"},
- "ueberauth": {:hex, :ueberauth, "0.10.3", "4a3bd7ab7b5d93d301d264f0f6858392654ee92171f4437d067d1ae227c051d9", [:mix], [{:plug, "~> 1.5", [hex: :plug, repo: "hexpm", optional: false]}], "hexpm", "1394f36a6c64e97f2038cf95228e7e52b4cb75417962e30418fbe9902b30e6d3"},
+ "ueberauth": {:hex, :ueberauth, "0.10.5", "806adb703df87e55b5615cf365e809f84c20c68aa8c08ff8a416a5a6644c4b02", [:mix], [{:plug, "~> 1.5", [hex: :plug, repo: "hexpm", optional: false]}], "hexpm", "3efd1f31d490a125c7ed453b926f7c31d78b97b8a854c755f5c40064bf3ac9e1"},
"unicode_util_compat": {:hex, :unicode_util_compat, "0.7.0", "bc84380c9ab48177092f43ac89e4dfa2c6d62b40b8bd132b1059ecc7232f9a78", [:rebar3], [], "hexpm", "25eee6d67df61960cf6a794239566599b09e17e668d3700247bc498638152521"},
"unsafe": {:hex, :unsafe, "1.0.1", "a27e1874f72ee49312e0a9ec2e0b27924214a05e3ddac90e91727bc76f8613d8", [:mix], [], "hexpm", "6c7729a2d214806450d29766abc2afaa7a2cbecf415be64f36a6691afebb50e5"},
"vex": {:hex, :vex, "0.9.0", "613ea5eb3055662e7178b83e25b2df0975f68c3d8bb67c1645f0573e1a78d606", [:mix], [], "hexpm", "c69fff44d5c8aa3f1faee71bba1dcab05dd36364c5a629df8bb11751240c857f"},
diff --git a/test/pleroma/web/activity_pub/transmogrifier/like_handling_test.exs b/test/pleroma/web/activity_pub/transmogrifier/like_handling_test.exs
index ad3692f74..4890d5135 100644
--- a/test/pleroma/web/activity_pub/transmogrifier/like_handling_test.exs
+++ b/test/pleroma/web/activity_pub/transmogrifier/like_handling_test.exs
@@ -63,7 +63,7 @@ test "it works for incoming misskey likes that contain unicode emojis, turning t
File.read!("test/fixtures/misskey-like.json")
|> Jason.decode!()
|> Map.put("object", activity.data["object"])
- |> Map.put("_misskey_reaction", "⭐")
+ |> Map.put("content", "⭐")
_actor = insert(:user, ap_id: data["actor"], local: false)
--
2.43.0
From 99775886126ba35476db47ae116afb0f1dc2f0e6 Mon Sep 17 00:00:00 2001
From: FloatingGhost
Date: Fri, 10 Mar 2023 18:49:08 +0000
Subject: [PATCH 32/36] we should probably use ||
---
lib/pleroma/web/activity_pub/transmogrifier.ex | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lib/pleroma/web/activity_pub/transmogrifier.ex b/lib/pleroma/web/activity_pub/transmogrifier.ex
index 7081213e7..5c96bf060 100644
--- a/lib/pleroma/web/activity_pub/transmogrifier.ex
+++ b/lib/pleroma/web/activity_pub/transmogrifier.ex
@@ -423,7 +423,7 @@ def handle_incoming(
} = data,
options
) do
- if Pleroma.Emoji.is_unicode_emoji?(reaction) or Pleroma.Emoji.matches_shortcode?(reaction) do
+ if Pleroma.Emoji.is_unicode_emoji?(reaction) || Pleroma.Emoji.matches_shortcode?(reaction) do
data
|> Map.put("type", "EmojiReact")
|> handle_incoming(options)
--
2.43.0
From 5ca22c2459fb7d9c0d734aaa892c8058d6ab56c0 Mon Sep 17 00:00:00 2001
From: FloatingGhost
Date: Sat, 11 Mar 2023 17:24:49 +0000
Subject: [PATCH 33/36] ensure we can't have a null in appends
---
lib/pleroma/web/mastodon_api/views/status_view.ex | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/lib/pleroma/web/mastodon_api/views/status_view.ex b/lib/pleroma/web/mastodon_api/views/status_view.ex
index 79438571c..3868da8d9 100644
--- a/lib/pleroma/web/mastodon_api/views/status_view.ex
+++ b/lib/pleroma/web/mastodon_api/views/status_view.ex
@@ -227,8 +227,10 @@ def render("show.json", %{activity: %{data: %{"object" => _object}} = activity}
|> Enum.filter(fn tag -> is_map(tag) and tag["type"] == "Mention" end)
|> Enum.map(fn tag -> tag["href"] end)
+ to_data = if is_nil(object.data["to"]), do: [], else: object.data["to"]
+
mentions =
- (object.data["to"] ++ tag_mentions)
+ (to_data ++ tag_mentions)
|> Enum.uniq()
|> Enum.map(fn
Pleroma.Constants.as_public() -> nil
--
2.43.0
From 800fe40407fe6408a0c4db3a71d5186a78539bf8 Mon Sep 17 00:00:00 2001
From: FloatingGhost
Date: Sat, 11 Mar 2023 17:26:21 +0000
Subject: [PATCH 34/36] Bump version
---
CHANGELOG.md | 4 +++-
mix.exs | 2 +-
2 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 859a09e7d..d620c4f3b 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -4,13 +4,15 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
-## Unreleased
+## 2023.03
## Fixed
- Allowed contentMap to be updated on edit
+- Filter creation now accepts expires\_at
### Changed
- Restoring the database from a dump now goes much faster without need for work-arounds
+- Misskey reaction matching uses `content` parameter now
### Added
- Extend the mix task `prune_objects` with option `--prune-orphaned-activities` to also prune orphaned activities, allowing to reclaim even more database space
diff --git a/mix.exs b/mix.exs
index 7cc4d1fa6..8d8f4b5b9 100644
--- a/mix.exs
+++ b/mix.exs
@@ -4,7 +4,7 @@ defmodule Pleroma.Mixfile do
def project do
[
app: :pleroma,
- version: version("3.6.0"),
+ version: version("3.7.0"),
elixir: "~> 1.12",
elixirc_paths: elixirc_paths(Mix.env()),
compilers: [:phoenix] ++ Mix.compilers(),
--
2.43.0
From 70803d796601428f52f585d6fdd3b218f5f3912c Mon Sep 17 00:00:00 2001
From: FloatingGhost
Date: Sat, 11 Mar 2023 18:24:44 +0000
Subject: [PATCH 35/36] Remove mix.env reference
---
lib/pleroma/web/plugs/http_security_plug.ex | 2 --
1 file changed, 2 deletions(-)
diff --git a/lib/pleroma/web/plugs/http_security_plug.ex b/lib/pleroma/web/plugs/http_security_plug.ex
index 6841b13aa..b1f1ada94 100644
--- a/lib/pleroma/web/plugs/http_security_plug.ex
+++ b/lib/pleroma/web/plugs/http_security_plug.ex
@@ -116,8 +116,6 @@ defp csp_string(conn) do
script_src = "script-src 'self' '#{nonce_tag}'"
- script_src = if Mix.env() == :dev, do: [script_src, " 'unsafe-eval'"], else: script_src
-
report = if report_uri, do: ["report-uri ", report_uri, ";report-to csp-endpoint"]
insecure = if scheme == "https", do: "upgrade-insecure-requests"
--
2.43.0
From 58f75ac062aa54a139125c1742f3fe59563a345b Mon Sep 17 00:00:00 2001
From: FloatingGhost
Date: Sat, 11 Mar 2023 18:24:57 +0000
Subject: [PATCH 36/36] patch version
---
mix.exs | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/mix.exs b/mix.exs
index 8d8f4b5b9..098ea15b0 100644
--- a/mix.exs
+++ b/mix.exs
@@ -4,7 +4,7 @@ defmodule Pleroma.Mixfile do
def project do
[
app: :pleroma,
- version: version("3.7.0"),
+ version: version("3.7.1"),
elixir: "~> 1.12",
elixirc_paths: elixirc_paths(Mix.env()),
compilers: [:phoenix] ++ Mix.compilers(),
--
2.43.0