logo

pleroma

My custom branche(s) on git.pleroma.social/pleroma/pleroma git clone https://anongit.hacktivis.me/git/pleroma.git/
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:

Mlib/pleroma/language/language_detector.ex16+++++++++++++++-
Mlib/pleroma/web/mastodon_api/views/instance_view.ex2+-
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 ]