Errore 422 durante la traduzione di testo e collegamenti

Ricevo un errore 422 quando traduco testo semplice e link con LibreTranslate. Tuttavia, post simili (solo testo e link) vengono tradotti correttamente.

Sull’interfaccia utente, appare un popup che mostra “Errore 422”, niente di più.

Nei log di discourse, abbiamo il seguente stack trace (dice che non posso includere link nei messaggi):

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>'

Tre query raggiungono l’istanza di libretranslate prima che fallisca:

[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.*"

Per una query riuscita, ho di più:

[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.*"

Ecco il testo, è la sezione “about” di una categoria:

BON in a Box è un portale per strumenti e progetti, nonché un motore di pipeline modulare per EBV e indicatori. Maggiori informazioni. Qualsiasi discussione sulla piattaforma BON in a Box, sulle pipeline e sulle partnership può avvenire qui. Le discussioni sono aperte a tutti i membri di GEO BON.

Per segnalazioni di bug sul motore di pipeline e sull’interfaccia utente, si prega di aprire un’issue nel repository GitHub del motore di pipeline.
Se riscontri un problema con uno script o una pipeline, si prega di aprire un’issue nel repository GitHub delle pipeline.

1 Mi Piace

Potresti condividere su quale versione di Discourse ti trovi attualmente?

A causa del messaggio che indica l’impossibilità di pubblicare link, ho il sospetto che possa essere simile a questo Bug

Se è così, penso che potrebbe esserci una soluzione temporanea in atto che significa che un aggiornamento potrebbe risolvere questo problema. :crossed_fingers:

1 Mi Piace

Certamente, eccolo:

3.2.0.beta5-dev

(a840c295d8)

(Commit del 19 gennaio 2024… quindi abbastanza recente)

1 Mi Piace

La correzione per questo è stata unita nelle ultime ore: DEV: Exclude system users when calculating group user count by Drenmi · Pull Request #25400 · discourse/discourse · GitHub

Puoi ricompilare il tuo sito e farci sapere se risolve il problema?

2 Mi Piace

Testato oggi: corretto!

Grazie mille!

2 Mi Piace

Questo argomento è stato chiuso automaticamente dopo 6 giorni. Non sono più consentite nuove risposte.