テキストとリンクを翻訳する際にエラー422が発生

LibreTranslate でプレーンテキストとリンクを翻訳すると 422 エラーが発生します。ただし、同様の投稿(テキストとリンクのみ)は正常に翻訳されます。

UI では、「422 error」というポップアップが表示されるだけで、それ以上の情報はありません。

Discourse のログには、次のスタックトレースが表示されます(メッセージにリンクを含めることはできないと表示されています)。

Failed to handle exception in exception app middleware : ActiveRecord::RecordInvalid : Validation échouée : Nous sommes désolés, vous ne pouvez pas inclure de liens dans vos messages.
activerecord-7.0.8/lib/active_record/validations.rb:80:in `raise_validation_error'
activerecord-7.0.8/lib/active_record/validations.rb:53:in `save!'
activerecord-7.0.8/lib/active_record/transactions.rb:302:in `block in save!'
activerecord-7.0.8/lib/active_record/transactions.rb:354:in `block in with_transaction_returning_status'
activerecord-7.0.8/lib/active_record/connection_adapters/abstract/transaction.rb:319:in `block in within_new_transaction'
activesupport-7.0.8/lib/active_support/concurrency/load_interlock_aware_monitor.rb:25:in `handle_interrupt'
activesupport-7.0.8/lib/active_support/concurrency/load_interlock_aware_monitor.rb:25:in `block in synchronize'
activesupport-7.0.8/lib/active_support/concurrency/load_interlock_aware_monitor.rb:21:in `handle_interrupt'
activesupport-7.0.8/lib/active_support/concurrency/load_interlock_aware_monitor.rb:21:in `synchronize'
activerecord-7.0.8/lib/active_record/connection_adapters/abstract/transaction.rb:317:in `within_new_transaction'
activerecord-7.0.8/lib/active_record/connection_adapters/abstract/database_statements.rb:316:in `transaction'
activerecord-7.0.8/lib/active_record/transactions.rb:350:in `with_transaction_returning_status'
activerecord-7.0.8/lib/active_record/transactions.rb:302:in `save!'
activerecord-7.0.8/lib/active_record/suppressor.rb:54:in `save!'
/var/www/discourse/plugins/discourse-translator/services/discourse_translator/base.rb:46:in `from_custom_fields'
/var/www/discourse/plugins/discourse-translator/services/discourse_translator/libretranslate.rb:115:in `translate'
/var/www/discourse/plugins/discourse-translator/plugin.rb:78:in `translate'
actionpack-7.0.8/lib/action_controller/metal/basic_implicit_render.rb:6:in `send_action'
actionpack-7.0.8/lib/abstract_controller/base.rb:215:in `process_action'
actionpack-7.0.8/lib/action_controller/metal/rendering.rb:165:in `process_action'
actionpack-7.0.8/lib/abstract_controller/callbacks.rb:234:in `block in process_action'
activesupport-7.0.8/lib/active_support/callbacks.rb:118:in `block in run_callbacks'
/var/www/discourse/app/controllers/application_controller.rb:423:in `block in with_resolved_locale'
i18n-1.14.1/lib/i18n.rb:322:in `with_locale'
/var/www/discourse/app/controllers/application_controller.rb:423:in `with_resolved_locale'
activesupport-7.0.8/lib/active_support/callbacks.rb:127:in `block in run_callbacks'
activesupport-7.0.8/lib/active_support/callbacks.rb:138:in `run_callbacks'
actionpack-7.0.8/lib/abstract_controller/callbacks.rb:233:in `process_action'
actionpack-7.0.8/lib/action_controller/metal/rescue.rb:23:in `process_action'
actionpack-7.0.8/lib/action_controller/metal/instrumentation.rb:67:in `block in process_action'
activesupport-7.0.8/lib/active_support/notifications.rb:206:in `block in instrument'
activesupport-7.0.8/lib/active_support/notifications/instrumenter.rb:24:in `instrument'
activesupport-7.0.8/lib/active_support/notifications.rb:206:in `instrument'
actionpack-7.0.8/lib/action_controller/metal/instrumentation.rb:66:in `process_action'
actionpack-7.0.8/lib/action_controller/metal/params_wrapper.rb:259:in `process_action'
activerecord-7.0.8/lib/active_record/railties/controller_runtime.rb:27:in `process_action'
actionpack-7.0.8/lib/abstract_controller/base.rb:151:in `process'
actionview-7.0.8/lib/action_view/rendering.rb:39:in `process'
rack-mini-profiler-3.3.0/lib/mini_profiler/profiling_methods.rb:89:in `block in profile_method'
actionpack-7.0.8/lib/action_controller/metal.rb:188:in `dispatch'
actionpack-7.0.8/lib/action_controller/metal.rb:251:in `dispatch'
actionpack-7.0.8/lib/action_dispatch/routing/route_set.rb:49:in `dispatch'
actionpack-7.0.8/lib/action_dispatch/routing/route_set.rb:32:in `serve'
actionpack-7.0.8/lib/action_dispatch/journey/router.rb:50:in `block in serve'
actionpack-7.0.8/lib/action_dispatch/journey/router.rb:32:in `each'
actionpack-7.0.8/lib/action_dispatch/journey/router.rb:32:in `serve'
actionpack-7.0.8/lib/action_dispatch/routing/route_set.rb:852:in `call'
railties-7.0.8/lib/rails/engine.rb:530:in `call'
railties-7.0.8/lib/rails/railtie.rb:226:in `public_send'
railties-7.0.8/lib/rails/railtie.rb:226:in `method_missing'
actionpack-7.0.8/lib/action_dispatch/routing/mapper.rb:19:in `block in <class:Constraints>'
actionpack-7.0.8/lib/action_dispatch/routing/mapper.rb:48:in `serve'
actionpack-7.0.8/lib/action_dispatch/journey/router.rb:50:in `block in serve'
actionpack-7.0.8/lib/action_dispatch/journey/router.rb:32:in `each'
actionpack-7.0.8/lib/action_dispatch/journey/router.rb:32:in `serve'
actionpack-7.0.8/lib/action_dispatch/routing/route_set.rb:852:in `call'
/var/www/discourse/lib/middleware/omniauth_bypass_middleware.rb:64:in `call'
rack-2.2.8/lib/rack/tempfile_reaper.rb:15:in `call'
rack-2.2.8/lib/rack/conditional_get.rb:40:in `call'
rack-2.2.8/lib/rack/head.rb:12:in `call'
actionpack-7.0.8/lib/action_dispatch/http/permissions_policy.rb:38:in `call'
/var/www/discourse/lib/content_security_policy/middleware.rb:12:in `call'
/var/www/discourse/lib/middleware/anonymous_cache.rb:393:in `call'
/var/www/discourse/lib/middleware/gtm_script_nonce_injector.rb:10:in `call'
/var/www/discourse/config/initializers/008-rack-cors.rb:14:in `call'
rack-2.2.8/lib/rack/session/abstract/id.rb:266:in `context'
rack-2.2.8/lib/rack/session/abstract/id.rb:260:in `call'
actionpack-7.0.8/lib/action_dispatch/middleware/cookies.rb:704:in `call'
actionpack-7.0.8/lib/action_dispatch/middleware/callbacks.rb:27:in `block in call'
activesupport-7.0.8/lib/active_support/callbacks.rb:99:in `run_callbacks'
actionpack-7.0.8/lib/action_dispatch/middleware/callbacks.rb:26:in `call'
actionpack-7.0.8/lib/action_dispatch/middleware/debug_exceptions.rb:28:in `call'
actionpack-7.0.8/lib/action_dispatch/middleware/show_exceptions.rb:29:in `call'
logster-2.15.0/lib/logster/middleware/reporter.rb:40:in `call'
railties-7.0.8/lib/rails/rack/logger.rb:40:in `call_app'
railties-7.0.8/lib/rails/rack/logger.rb:27:in `call'
/var/www/discourse/config/initializers/100-quiet_logger.rb:20:in `call'
/var/www/discourse/config/initializers/100-silence_logger.rb:29:in `call'
actionpack-7.0.8/lib/action_dispatch/middleware/remote_ip.rb:93:in `call'
actionpack-7.0.8/lib/action_dispatch/middleware/request_id.rb:26:in `call'
/var/www/discourse/lib/middleware/enforce_hostname.rb:24:in `call'
rack-2.2.8/lib/rack/method_override.rb:24:in `call'
actionpack-7.0.8/lib/action_dispatch/middleware/executor.rb:14:in `call'
rack-2.2.8/lib/rack/sendfile.rb:110:in `call'
actionpack-7.0.8/lib/action_dispatch/middleware/host_authorization.rb:131:in `call'
rack-mini-profiler-3.3.0/lib/mini_profiler.rb:191:in `call'
message_bus-4.3.8/lib/message_bus/rack/middleware.rb:60:in `call'
/var/www/discourse/lib/middleware/request_tracker.rb:236:in `call'
railties-7.0.8/lib/rails/engine.rb:530:in `call'
railties-7.0.8/lib/rails/railtie.rb:226:in `public_send'
railties-7.0.8/lib/rails/railtie.rb:226:in `method_missing'
rack-2.2.8/lib/rack/urlmap.rb:74:in `block in call'
rack-2.2.8/lib/rack/urlmap.rb:58:in `each'
rack-2.2.8/lib/rack/urlmap.rb:58:in `call'
unicorn-6.1.0/lib/unicorn/http_server.rb:634:in `process_client'
unicorn-6.1.0/lib/unicorn/http_server.rb:739:in `worker_loop'
unicorn-6.1.0/lib/unicorn/http_server.rb:547:in `spawn_missing_workers'
unicorn-6.1.0/lib/unicorn/http_server.rb:143:in `start'
unicorn-6.1.0/bin/unicorn:128:in `<top (required)>'
/var/www/discourse/vendor/bundle/ruby/3.2.0/bin/unicorn:25:in `load'
/var/www/discourse/vendor/bundle/ruby/3.2.0/bin/unicorn:25:in `<main>'

LibreTranslate インスタンスには、失敗する前に 3 つのクエリが到達します。

[25/Jan/2024:15:56:36 +0000] "POST /libretranslatedetect HTTP/1.1" 200 39 "-" "-" "170.187.194.*"
[25/Jan/2024:15:56:36 +0000] "GET /libretranslatelanguages HTTP/1.1" 200 11115 "-" "excon/0.109.0" "170.187.194.*"
[25/Jan/2024:15:56:40 +0000] "POST /libretranslatetranslate HTTP/1.1" 200 852 "-" "-" "170.187.194.*"

成功したクエリでは、さらに多くのクエリがあります。

[25/Jan/2024:16:05:37 +0000] "POST /libretranslatedetect HTTP/1.1" 200 39 "-" "-" "170.187.194.*"
[25/Jan/2024:16:05:37 +0000] "POST /libretranslatedetect HTTP/1.1" 200 39 "-" "-" "170.187.194.*"
[25/Jan/2024:16:05:41 +0000] "POST /libretranslatedetect HTTP/1.1" 200 39 "-" "-" "170.187.194.*"
[25/Jan/2024:16:05:41 +0000] "GET /libretranslatelanguages HTTP/1.1" 200 11115 "-" "excon/0.109.0" "170.187.194.*"
[25/Jan/2024:16:05:42 +0000] "POST /libretranslatetranslate HTTP/1.1" 200 132 "-" "-" "170.187.194.*"

これはカテゴリの「概要」セクションのテキストです。

BON in a Box は、EBV および指標のツールおよびプロジェクトポータルであり、モジュラーパイプラインエンジンです。詳細情報。BON in a Box プラットフォーム、パイプライン、およびパートナーシップに関するあらゆる議論はここで行うことができます。議論はすべての GEO BON メンバーに公開されています。

パイプラインエンジンと UI のバグレポートについては、パイプラインエンジンの GitHub リポジトリに問題を提出してください。
スクリプトまたはパイプラインに問題が見つかった場合は、パイプラインの GitHub リポジトリに問題を提出してください。

「いいね!」 1

現在お使いの Discourse のバージョンを教えていただけますでしょうか?

リンクを投稿できないというメッセージが表示されるため、これが Bug の件と同様の不具合ではないかと疑っています。

もしそうであれば、一時的な修正が適用されている可能性があり、アップデートで解決するかもしれません。:crossed_fingers:

「いいね!」 1

承知いたしました。以下に翻訳を示します。

3.2.0.beta5-dev

(a840c295d8)

(2024年1月19日のコミット…かなり最近です)

「いいね!」 1

この修正は数時間前にマージされました: DEV: Exclude system users when calculating group user count by Drenmi · Pull Request #25400 · discourse/discourse · GitHub

サイトを再構築して、問題が解決するかどうかお知らせいただけますか?

「いいね!」 2

テストしました:修正されました!

ありがとうございました!

「いいね!」 2

このトピックは6日間後に自動的に閉じられました。返信はもう許可されていません。