commit: d7f9d30b2cad51fa2a9acb1ae02091b3140f829b
parent 2b1ef1bbdfaeac3c4ee55cfa38bcd0942fed725c
Author: mkljczk <git@mkljczk.pl>
Date: Sat, 22 Feb 2025 16:01:50 +0100
Merge downstream changes
Signed-off-by: mkljczk <git@mkljczk.pl>
Diffstat:
2 files changed, 16 insertions(+), 2 deletions(-)
diff --git a/lib/pleroma/language/language_detector.ex b/lib/pleroma/language/language_detector.ex
@@ -3,8 +3,17 @@
# SPDX-License-Identifier: AGPL-3.0-only
defmodule Pleroma.Language.LanguageDetector do
+ import Pleroma.EctoType.ActivityPub.ObjectValidators.LanguageCode,
+ only: [good_locale_code?: 1]
+
@words_threshold 4
+ def configured? do
+ provider = get_provider()
+
+ !!provider and provider.configured?
+ end
+
def missing_dependencies do
provider = get_provider()
@@ -34,7 +43,12 @@ defmodule Pleroma.Language.LanguageDetector do
if word_count < @words_threshold or !provider or !provider.configured? do
nil
else
- provider.detect(text)
+ with language <- provider.detect(text),
+ true <- good_locale_code?(language) do
+ language
+ else
+ _ -> nil
+ end
end
end
diff --git a/lib/pleroma/web/mastodon_api/views/instance_view.ex b/lib/pleroma/web/mastodon_api/views/instance_view.ex
@@ -146,7 +146,7 @@ defmodule Pleroma.Web.MastodonAPI.InstanceView do
"pleroma:get:main/ostatus",
"pleroma:group_actors",
"pleroma:bookmark_folders",
- if Config.get([Pleroma.Language.LanguageDetector, :provider]) do
+ if Pleroma.Language.LanguageDetector.configured?() do
"pleroma:language_detection"
end
]