Cómo depurar problemas de conectividad con ActivityPub

Aquí tienes algunas cosas que puedes intentar si no consigues que tu instancia de Discourse se comunique con otros servidores en el Fediverso.

  1. Si tienes un servicio que filtra las solicitudes a tu servidor, como un geo-bloqueador o Cloudflare, intenta desactivarlo.

  2. Intenta desactivar el ajuste del sitio activity pub require signed requests (requerir solicitudes firmadas de activity pub).

  3. Habilita los ajustes del sitio activity pub verbose logging (registro detallado de activity pub) y activity pub object logging (registro de objetos de activity pub) y busca entradas en /logs que contengan [Discourse Activity Pub]. Informa de esos registros aquí.

  4. Comprueba si los ajustes del sitio activity pub allowed request origins (orígenes de solicitud permitidos de activity pub) o activity pub blocked request origins (orígenes de solicitud bloqueados de activity pub) tienen entradas. Ten en cuenta que si permites dominios específicos, las solicitudes de todos los demás dominios serán bloqueadas.

2 Me gusta

Solo para ti, no en este problema. Lo he intentado. Pero puedo dejar que nuestros amigos de Singapur y Rusia llamen a las puertas un rato y yo lo desactivo. Solo un segundo.

Y hecho.

Ok. ¿Cómo está configurado ese geo-bloqueador? Si estás enrutando tu tráfico a través de un servicio como Cloudflare, es posible que esté eliminando encabezados de las solicitudes (incluso con el bloqueador desactivado). ActivityPub también requiere encabezados específicos para la validación y autenticación de solicitudes.

Veo muchos errores 403. Por eso mi primer pensamiento fue que se trataba de una lista de bots o de bloqueo geográfico. Pero no encuentro nada en los user agents al revisar error.log y lo intento principalmente desde instancias ubicadas en Finlandia o fuera de algunos países muy problemáticos. Australia fue un dolor de cabeza en algún momento (si realmente necesitamos el bloqueo geográfico aquí es tema de otra discusión, pero debido a mi historial con WordPress lo estoy usando).

Algo como esto:

[Discourse Activity Pub] La solicitud GET recibida por https://foorumi.katiska.eu/ap/actor/701e86455ed584115e0d22ddf294698c falló: 403 Forbidden

Entiendo que algo así sucedería si hay una instancia que no he permitido, pero sucede con todas.

Sin embargo, puedo conectar mi usuario de Discourse a un usuario de Mastodon.

Usando un plugin de Discourse. Nada complicado. No estoy usando Cloudflare porque no tiene sentido en un foro pequeño ubicado en Finlandia y que sirve a usuarios finlandeses.

Ok, lo siguiente que hay que intentar es deshabilitar la configuración del sitio activity pub require signed requests. Hazme saber cuando lo hayas hecho (solo estoy pensando en voz alta, creo que convertiré este tema de “Estoy recibiendo 403” en una wiki, ya que veo que aparece con bastante frecuencia).

Además, ¿qué plugin? ¿Y cómo funciona?

No sé cómo está funcionando.

Puedo hacer una reconstrucción sin él y probar. Pero no entiendo del todo cómo podría afectar cuando todo lo demás funciona :thinking:

Ya lo intenté. Principalmente porque, hasta donde sé, la mayoría de las instancias no lo usan. Sin embargo, no ayudó. Pero lo deshabilité. ¿Es lo mismo que los servidores de Mastodon tienen una configuración para?

ActivityPub requiere más interconexión que cualquier otra cosa que estés usando. No digo que ese plugin sea la causa, pero cualquier cosa que filtre todas las solicitudes a tu servidor (como tendría que hacer cualquier bloqueador geográfico) podría causar problemas con ActivityPub. Si algún otro plugin que estés usando pudiera caer en esta categoría (es decir, filtrar solicitudes a tu servidor), compártelo también.

Efectivamente, sí.

Ok, lo siguiente que hay que probar son tus configuraciones específicas:

  1. Confirma que activity_pub_enabled sea true.
  2. Confirma el estado actual de activity_pub_allowed_request_origins y activity_pub_blocked_request_origins.
  3. Además, comparte la configuración actual del actor de categoría que compartiste.
  1. ¿Hay una forma más fácil de obtener una lista de activity_pub_allowed_request_origins? ¿Rails o algo que se pueda copiar y pegar? Pero incluye todos los dominios que he probado, es decir, mastodontti.fi y mastodon.social.
    activity_pub_blocked_request_origins: fedsearch.io

Reconstruiré sin bloqueo geográfico en este momento.

No hay suerte con el bloqueo geográfico.

Todavía me pregunto si ActivityPub de mi foro vive de alguna manera en el pasado y tiene un par de mordiscos en la posición equivocada.

  • Mi perfil en mastodontti.fi sigue mi categoría, pero no recibe nada. No puedo verlo en el lado del foro. Esa cuenta estuvo en uso hace 9 meses cuando intenté ActivityPub por última vez.
  • Tengo dos seguidores en el foro que no puedo eliminar. Esos dos también son del pasado. Puede haber un problema con el servidor de mastodon que maté totalmente mal. ¿Pero no debería tener ningún papel en el foro?

Pero la razón principal es 403, y de dónde viene.

Si bien esto es posible, la única forma de abordar problemas como este, ya sea que estemos lidiando con ActivityPub o cualquier otra cosa, es abordar los problemas conocidos, antes de intentar encontrar problemas desconocidos.

Sí, centrémonos completamente en esto por ahora.

Ok, ¿puedes confirmarme ahora que activity_pub_verbose_logging y activity_pub_object_logging están habilitados? Cuando lo hagas, enviaré una solicitud y quiero que revises el foro /logs y me digas qué ves con [Discourse Activity Pub] en ellos. Asegúrate de tener habilitados todos los niveles de registro (por ejemplo, depuración e información) en tu visor de /log.

1 me gusta

Todos están encendidos.

Ok, envié algunas solicitudes. Avísame qué ves.

I think these.

GET request received by https://foorumi.katiska.eu/ap/actor/701e86455ed584115e0d22ddf294698c failed: 403 Kielletty

env etc
hostname	foorumi-hel-app
process_id	1069
application_version	486ff2a5643f7a5ac66ccef11a97d6c2a282c9ee
HTTP_HOST	foorumi.katiska.eu
REQUEST_URI	/ap/actor/701e86455ed584115e0d22ddf294698c
REQUEST_METHOD	GET
HTTP_ACCEPT	application/ld+json; profile="https://www.w3.org/ns/activitystreams"
HTTP_X_FORWARDED_FOR	178.222.29.79
HTTP_X_REAL_IP	178.222.29.79
time	1:12 pm
activesupport-7.2.2.1/lib/active_support/broadcast_logger.rb:130:in `block in warn'  
activesupport-7.2.2.1/lib/active_support/broadcast_logger.rb:231:in `block in dispatch'  
activesupport-7.2.2.1/lib/active_support/broadcast_logger.rb:231:in `each'  
activesupport-7.2.2.1/lib/active_support/broadcast_logger.rb:231:in `dispatch'  
activesupport-7.2.2.1/lib/active_support/broadcast_logger.rb:130:in `warn'  
/var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/logger.rb:22:in `log'  
/var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/logger.rb:59:in `warn'  
/var/www/discourse/plugins/discourse-activity-pub/app/controllers/discourse_activity_pub/ap/objects_controller.rb:128:in `log_request_error'  
/var/www/discourse/plugins/discourse-activity-pub/app/controllers/discourse_activity_pub/ap/objects_controller.rb:106:in `render_activity_pub_error'  
/var/www/discourse/plugins/discourse-activity-pub/app/controllers/concerns/discourse_activity_pub/domain_verification.rb:5:in `ensure_domain_allowed'  
activesupport-7.2.2.1/lib/active_support/callbacks.rb:362:in `block in make_lambda'  
activesupport-7.2.2.1/lib/active_support/callbacks.rb:179:in `block in call'  
actionpack-7.2.2.1/lib/abstract_controller/callbacks.rb:34:in `block (2 levels) in <module:Callbacks>'  
activesupport-7.2.2.1/lib/active_support/callbacks.rb:180:in `call'  
activesupport-7.2.2.1/lib/active_support/callbacks.rb:559:in `block in invoke_before'  
activesupport-7.2.2.1/lib/active_support/callbacks.rb:559:in `each'  
activesupport-7.2.2.1/lib/active_support/callbacks.rb:559:in `invoke_before'  
activesupport-7.2.2.1/lib/active_support/callbacks.rb:119:in `block in run_callbacks'  
/var/www/discourse/app/controllers/application_controller.rb:424:in `block in with_resolved_locale'  
i18n-1.14.6/lib/i18n.rb:353:in `with_locale'  
/var/www/discourse/app/controllers/application_controller.rb:424:in `with_resolved_locale'  
activesupport-7.2.2.1/lib/active_support/callbacks.rb:130:in `block in run_callbacks'  
activesupport-7.2.2.1/lib/active_support/callbacks.rb:141:in `run_callbacks'  
actionpack-7.2.2.1/lib/abstract_controller/callbacks.rb:260:in `process_action'  
actionpack-7.2.2.1/lib/action_controller/metal/rescue.rb:27:in `process_action'  
actionpack-7.2.2.1/lib/action_controller/metal/instrumentation.rb:77:in `block in process_action'  
activesupport-7.2.2.1/lib/active_support/notifications.rb:210:in `block in instrument'  
activesupport-7.2.2.1/lib/active_support/notifications/instrumenter.rb:58:in `instrument'  
activesupport-7.2.2.1/lib/active_support/notifications.rb:210:in `instrument'  
actionpack-7.2.2.1/lib/action_controller/metal/instrumentation.rb:76:in `process_action'  
actionpack-7.2.2.1/lib/action_controller/metal/params_wrapper.rb:259:in `process_action'  
activerecord-7.2.2.1/lib/active_record/railties/controller_runtime.rb:39:in `process_action'  
actionpack-7.2.2.1/lib/abstract_controller/base.rb:163:in `process'  
actionview-7.2.2.1/lib/action_view/rendering.rb:40:in `process'  
actionpack-7.2.2.1/lib/action_controller/metal.rb:252:in `dispatch'  
actionpack-7.2.2.1/lib/action_controller/metal.rb:335:in `dispatch'  
actionpack-7.2.2.1/lib/action_dispatch/routing/route_set.rb:67:in `dispatch'  
actionpack-7.2.2.1/lib/action_dispatch/routing/route_set.rb:50:in `serve'  
actionpack-7.2.2.1/lib/action_dispatch/journey/router.rb:53:in `block in serve'  
actionpack-7.2.2.1/lib/action_dispatch/journey/router.rb:133:in `block in find_routes'  
actionpack-7.2.2.1/lib/action_dispatch/journey/router.rb:126:in `each'  
actionpack-7.2.2.1/lib/action_dispatch/journey/router.rb:126:in `find_routes'  
actionpack-7.2.2.1/lib/action_dispatch/journey/router.rb:34:in `serve'  
actionpack-7.2.2.1/lib/action_dispatch/routing/route_set.rb:896:in `call'  
railties-7.2.2.1/lib/rails/engine.rb:535:in `call'  
railties-7.2.2.1/lib/rails/railtie.rb:226:in `public_send'  
railties-7.2.2.1/lib/rails/railtie.rb:226:in `method_missing'  
actionpack-7.2.2.1/lib/action_dispatch/routing/mapper.rb:33:in `block in <class:Constraints>'  
actionpack-7.2.2.1/lib/action_dispatch/routing/mapper.rb:62:in `serve'  
actionpack-7.2.2.1/lib/action_dispatch/journey/router.rb:53:in `block in serve'  
actionpack-7.2.2.1/lib/action_dispatch/journey/router.rb:133:in `block in find_routes'  
actionpack-7.2.2.1/lib/action_dispatch/journey/router.rb:126:in `each'  
actionpack-7.2.2.1/lib/action_dispatch/journey/router.rb:126:in `find_routes'  
actionpack-7.2.2.1/lib/action_dispatch/journey/router.rb:34:in `serve'  
actionpack-7.2.2.1/lib/action_dispatch/routing/route_set.rb:896:in `call'  
/var/www/discourse/lib/middleware/omniauth_bypass_middleware.rb:64:in `call'  
rack-2.2.10/lib/rack/tempfile_reaper.rb:15:in `call'  
rack-2.2.10/lib/rack/conditional_get.rb:27:in `call'  
rack-2.2.10/lib/rack/head.rb:12:in `call'  
actionpack-7.2.2.1/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:401:in `call'  
/var/www/discourse/lib/middleware/csp_script_nonce_injector.rb:12:in `call'  
/var/www/discourse/config/initializers/008-rack-cors.rb:14:in `call'  
rack-2.2.10/lib/rack/session/abstract/id.rb:266:in `context'  
rack-2.2.10/lib/rack/session/abstract/id.rb:260:in `call'  
actionpack-7.2.2.1/lib/action_dispatch/middleware/cookies.rb:704:in `call'  
actionpack-7.2.2.1/lib/action_dispatch/middleware/callbacks.rb:31:in `block in call'  
activesupport-7.2.2.1/lib/active_support/callbacks.rb:101:in `run_callbacks'  
actionpack-7.2.2.1/lib/action_dispatch/middleware/callbacks.rb:30:in `call'  
actionpack-7.2.2.1/lib/action_dispatch/middleware/debug_exceptions.rb:31:in `call'  
actionpack-7.2.2.1/lib/action_dispatch/middleware/show_exceptions.rb:32:in `call'  
logster-2.20.0/lib/logster/middleware/reporter.rb:40:in `call'  
railties-7.2.2.1/lib/rails/rack/logger.rb:41:in `call_app'  
railties-7.2.2.1/lib/rails/rack/logger.rb:29: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'  
request_store-1.7.0/lib/request_store/middleware.rb:19:in `call'  
actionpack-7.2.2.1/lib/action_dispatch/middleware/request_id.rb:33:in `call'  
/var/www/discourse/lib/middleware/enforce_hostname.rb:24:in `call'  
rack-2.2.10/lib/rack/method_override.rb:24:in `call'  
actionpack-7.2.2.1/lib/action_dispatch/middleware/executor.rb:16:in `call'  
rack-2.2.10/lib/rack/sendfile.rb:110:in `call'  
/var/www/discourse/lib/middleware/processing_request.rb:12:in `call'  
message_bus-4.3.8/lib/message_bus/rack/middleware.rb:60:in `call'  
/var/www/discourse/lib/middleware/request_tracker.rb:385:in `call'  
actionpack-7.2.2.1/lib/action_dispatch/middleware/remote_ip.rb:96:in `call'  
railties-7.2.2.1/lib/rails/engine.rb:535:in `call'  
railties-7.2.2.1/lib/rails/railtie.rb:226:in `public_send'  
railties-7.2.2.1/lib/rails/railtie.rb:226:in `method_missing'  
rack-2.2.10/lib/rack/urlmap.rb:74:in `block in call'  
rack-2.2.10/lib/rack/urlmap.rb:58:in `each'  
rack-2.2.10/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.3.0/bin/unicorn:25:in `load'  
/var/www/discourse/vendor/bundle/ruby/3.3.0/bin/unicorn:25:in `<main>' 

POST request received by https://foorumi.katiska.eu/ap/actor/996e21c65a6841b3a6c28f291af8e6c0/inbox failed: 403 Kielletty

env etc
hostname foorumi-hel-app
process_id 1069
application_version 486ff2a5643f7a5ac66ccef11a97d6c2a282c9ee
HTTP_HOST foorumi.katiska.eu
REQUEST_URI /ap/actor/996e21c65a6841b3a6c28f291af8e6c0/inbox
REQUEST_METHOD POST
HTTP_USER_AGENT http.rb/5.1.1 (Mastodon/4.1.21; +https://mastodon.sdf.org/)
HTTP_X_FORWARDED_FOR 66.148.120.148
HTTP_X_REAL_IP 66.148.120.148
time 1:13 pm
activesupport-7.2.2.1/lib/active_support/broadcast_logger.rb:130:in `block in warn'  
activesupport-7.2.2.1/lib/active_support/broadcast_logger.rb:231:in `block in dispatch'  
activesupport-7.2.2.1/lib/active_support/broadcast_logger.rb:231:in `each'  
activesupport-7.2.2.1/lib/active_support/broadcast_logger.rb:231:in `dispatch'  
activesupport-7.2.2.1/lib/active_support/broadcast_logger.rb:130:in `warn'  
/var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/logger.rb:22:in `log'  
/var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/logger.rb:59:in `warn'  
/var/www/discourse/plugins/discourse-activity-pub/app/controllers/discourse_activity_pub/ap/objects_controller.rb:128:in `log_request_error'  
/var/www/discourse/plugins/discourse-activity-pub/app/controllers/discourse_activity_pub/ap/objects_controller.rb:106:in `render_activity_pub_error'  
/var/www/discourse/plugins/discourse-activity-pub/app/controllers/concerns/discourse_activity_pub/domain_verification.rb:5:in `ensure_domain_allowed'  
activesupport-7.2.2.1/lib/active_support/callbacks.rb:362:in `block in make_lambda'  
activesupport-7.2.2.1/lib/active_support/callbacks.rb:179:in `block in call'  
actionpack-7.2.2.1/lib/abstract_controller/callbacks.rb:34:in `block (2 levels) in <module:Callbacks>'  
activesupport-7.2.2.1/lib/active_support/callbacks.rb:180:in `call'  
activesupport-7.2.2.1/lib/active_support/callbacks.rb:559:in `block in invoke_before'  
activesupport-7.2.2.1/lib/active_support/callbacks.rb:559:in `each'  
activesupport-7.2.2.1/lib/active_support/callbacks.rb:559:in `invoke_before'  
activesupport-7.2.2.1/lib/active_support/callbacks.rb:119:in `block in run_callbacks'  
/var/www/discourse/app/controllers/application_controller.rb:424:in `block in with_resolved_locale'  
i18n-1.14.6/lib/i18n.rb:353:in `with_locale'  
/var/www/discourse/app/controllers/application_controller.rb:424:in `with_resolved_locale'  
activesupport-7.2.2.1/lib/active_support/callbacks.rb:130:in `block in run_callbacks'  
activesupport-7.2.2.1/lib/active_support/callbacks.rb:141:in `run_callbacks'  
actionpack-7.2.2.1/lib/abstract_controller/callbacks.rb:260:in `process_action'  
actionpack-7.2.2.1/lib/action_controller/metal/rescue.rb:27:in `process_action'  
actionpack-7.2.2.1/lib/action_controller/metal/instrumentation.rb:77:in `block in process_action'  
activesupport-7.2.2.1/lib/active_support/notifications.rb:210:in `block in instrument'  
activesupport-7.2.2.1/lib/active_support/notifications/instrumenter.rb:58:in `instrument'  
activesupport-7.2.2.1/lib/active_support/notifications.rb:210:in `instrument'  
actionpack-7.2.2.1/lib/action_controller/metal/instrumentation.rb:76:in `process_action'  
actionpack-7.2.2.1/lib/action_controller/metal/params_wrapper.rb:259:in `process_action'  
activerecord-7.2.2.1/lib/active_record/railties/controller_runtime.rb:39:in `process_action'  
actionpack-7.2.2.1/lib/abstract_controller/base.rb:163:in `process'  
actionview-7.2.2.1/lib/action_view/rendering.rb:40:in `process'  
actionpack-7.2.2.1/lib/action_controller/metal.rb:252:in `dispatch'  
actionpack-7.2.2.1/lib/action_controller/metal.rb:335:in `dispatch'  
actionpack-7.2.2.1/lib/action_dispatch/routing/route_set.rb:67:in `dispatch'  
actionpack-7.2.2.1/lib/action_dispatch/routing/route_set.rb:50:in `serve'  
actionpack-7.2.2.1/lib/action_dispatch/journey/router.rb:53:in `block in serve'  
actionpack-7.2.2.1/lib/action_dispatch/journey/router.rb:133:in `block in find_routes'  
actionpack-7.2.2.1/lib/action_dispatch/journey/router.rb:126:in `each'  
actionpack-7.2.2.1/lib/action_dispatch/journey/router.rb:126:in `find_routes'  
actionpack-7.2.2.1/lib/action_dispatch/journey/router.rb:34:in `serve'  
actionpack-7.2.2.1/lib/action_dispatch/routing/route_set.rb:896:in `call'  
railties-7.2.2.1/lib/rails/engine.rb:535:in `call'  
railties-7.2.2.1/lib/rails/railtie.rb:226:in `public_send'  
railties-7.2.2.1/lib/rails/railtie.rb:226:in `method_missing'  
actionpack-7.2.2.1/lib/action_dispatch/routing/mapper.rb:33:in `block in <class:Constraints>'  
actionpack-7.2.2.1/lib/action_dispatch/routing/mapper.rb:62:in `serve'  
actionpack-7.2.2.1/lib/action_dispatch/journey/router.rb:53:in `block in serve'  
actionpack-7.2.2.1/lib/action_dispatch/journey/router.rb:133:in `block in find_routes'  
actionpack-7.2.2.1/lib/action_dispatch/journey/router.rb:126:in `each'  
actionpack-7.2.2.1/lib/action_dispatch/journey/router.rb:126:in `find_routes'  
actionpack-7.2.2.1/lib/action_dispatch/journey/router.rb:34:in `serve'  
actionpack-7.2.2.1/lib/action_dispatch/routing/route_set.rb:896:in `call'  
/var/www/discourse/lib/middleware/omniauth_bypass_middleware.rb:64:in `call'  
rack-2.2.10/lib/rack/tempfile_reaper.rb:15:in `call'  
rack-2.2.10/lib/rack/conditional_get.rb:40:in `call'  
rack-2.2.10/lib/rack/head.rb:12:in `call'  
actionpack-7.2.2.1/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:403:in `call'  
/var/www/discourse/lib/middleware/csp_script_nonce_injector.rb:12:in `call'  
/var/www/discourse/config/initializers/008-rack-cors.rb:14:in `call'  
rack-2.2.10/lib/rack/session/abstract/id.rb:266:in `context'  
rack-2.2.10/lib/rack/session/abstract/id.rb:260:in `call'  
actionpack-7.2.2.1/lib/action_dispatch/middleware/cookies.rb:704:in `call'  
actionpack-7.2.2.1/lib/action_dispatch/middleware/callbacks.rb:31:in `block in call'  
activesupport-7.2.2.1/lib/active_support/callbacks.rb:101:in `run_callbacks'  
actionpack-7.2.2.1/lib/action_dispatch/middleware/callbacks.rb:30:in `call'  
actionpack-7.2.2.1/lib/action_dispatch/middleware/debug_exceptions.rb:31:in `call'  
actionpack-7.2.2.1/lib/action_dispatch/middleware/show_exceptions.rb:32:in `call'  
logster-2.20.0/lib/logster/middleware/reporter.rb:40:in `call'  
railties-7.2.2.1/lib/rails/rack/logger.rb:41:in `call_app'  
railties-7.2.2.1/lib/rails/rack/logger.rb:29: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'  
request_store-1.7.0/lib/request_store/middleware.rb:19:in `call'  
actionpack-7.2.2.1/lib/action_dispatch/middleware/request_id.rb:33:in `call'  
/var/www/discourse/lib/middleware/enforce_hostname.rb:24:in `call'  
rack-2.2.10/lib/rack/method_override.rb:24:in `call'  
actionpack-7.2.2.1/lib/action_dispatch/middleware/executor.rb:16:in `call'  
rack-2.2.10/lib/rack/sendfile.rb:110:in `call'  
/var/www/discourse/lib/middleware/processing_request.rb:12:in `call'  
message_bus-4.3.8/lib/message_bus/rack/middleware.rb:60:in `call'  
/var/www/discourse/lib/middleware/request_tracker.rb:385:in `call'  
actionpack-7.2.2.1/lib/action_dispatch/middleware/remote_ip.rb:96:in `call'  
railties-7.2.2.1/lib/rails/engine.rb:535:in `call'  
railties-7.2.2.1/lib/rails/railtie.rb:226:in `public_send'  
railties-7.2.2.1/lib/rails/railtie.rb:226:in `method_missing'  
rack-2.2.10/lib/rack/urlmap.rb:74:in `block in call'  
rack-2.2.10/lib/rack/urlmap.rb:58:in `each'  
rack-2.2.10/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.3.0/bin/unicorn:25:in `load'  
/var/www/discourse/vendor/bundle/ruby/3.3.0/bin/unicorn:25:in `<main>' 

It is always same.

Ok, hemos encontrado el problema :slight_smile:

Tus solicitudes están siendo bloqueadas por las listas de permitir/denegar dominios. Por lo tanto, has:

  • introducido dominios en la lista activity pub allowed request origins. Esto significa que las solicitudes de todos los demás dominios serán bloqueadas; o
  • hay un error con este código.

Por favor, comparte exactamente lo que tienes en las configuraciones activity_pub_allowed_request_origins y activity_pub_blocked_request_origins.

Lo siento, capturas de pantalla :wink: No me molesté en empezar a escribir.

activity_pub_allowed_request_origins

Cada instancia que he probado está ahí, y un par más. Por ejemplo, mstdn.social NO la estoy usando, pero recibe muchos 402. Principalmente intento usar mastodontti.fi (esa tiene mi seguidor fantasma) y kvarkki.nexus (esa es mía) y esas no funcionan.

activity_pub_blocked_request_origins

fedsearch.io, nada más.

Para mí sería agradable un error, para ti no tanto. Pero si y cuando sea el único… :man_shrugging:

Entonces, obtienes un error porque el servidor que usaste no está en esa lista, ¿verdad?

He encontrado la causa de tu problema. Técnicamente no es un error, sino una omisión en cómo funciona la funcionalidad de permitir/denegar dominios (y con eso me refiero a cómo interactúa con Mastodon). La solución será permitir el uso de permitir/denegar dominios solo junto con el uso de solicitudes firmadas. He abierto una PR para ello.

Cuando eso se fusione, te pediré que pruebes de nuevo.

2 Me gusta

¡Sí! Lo hiciste, de nuevo. Los mensajes van aquí, allá y por todas partes. Y el seguimiento funciona en ambos sentidos.

¡Gracias! ¡Gran trabajo, sin duda!

3 Me gusta

Hi there. This is in response to this post over in this thread

  • No service filtering requests/geo-blockers, etc enabled.
  • activity pub require signed requests is disabled.
  • Nothing is listed within activity pub allowed request origins or activity pub blocked request origins.
  • The logs:

This is @padraig@mastodon.ie trying to follow @general@gamersandgeeks.net

  • [Discourse Activity Pub] GET request to https://mastodon.ie/users/padraig failed: Expected([200, 201, 202, 301, 302, 307, 308]) <=> Actual(401 Unauthorized)
backtrace/env
hostname	39Discourse-ubuntu-s-1vcpu-2gb-amd-ams3-01-app
process_id	787
application_version	f4857d3b1c6a33ce6a5e4d2675ae2538d2c36357
job	Jobs::DiscourseActivityPubProcess
db	default
time	9:52 pm

/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activesupport-7.2.2.1/lib/active_support/broadcast_logger.rb:130:in `block in warn'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activesupport-7.2.2.1/lib/active_support/broadcast_logger.rb:231:in `block in dispatch'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activesupport-7.2.2.1/lib/active_support/broadcast_logger.rb:231:in `each'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activesupport-7.2.2.1/lib/active_support/broadcast_logger.rb:231:in `dispatch'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activesupport-7.2.2.1/lib/active_support/broadcast_logger.rb:130:in `warn'
/var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/logger.rb:22:in `log'
/var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/logger.rb:59:in `warn'
/var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/request.rb:61:in `rescue in perform'
/var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/request.rb:48:in `perform'
/var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/request.rb:30:in `get_json_ld'
/var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/request.rb:118:in `get_json_ld'
/var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/json_ld.rb:57:in `request_object'
/var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/json_ld.rb:53:in `resolve_object'
/var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/ap/object.rb:200:in `resolve'
/var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/ap/object.rb:179:in `resolve_and_store'
/var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/ap/activity.rb:132:in `process_actor_and_object'
/var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/ap/activity.rb:56:in `process_activity'
/var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/ap/activity.rb:36:in `block in perform_transactions'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.2.2.1/lib/active_record/connection_adapters/abstract/transaction.rb:616:in `block in within_new_transaction'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activesupport-7.2.2.1/lib/active_support/concurrency/null_lock.rb:9:in `synchronize'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.2.2.1/lib/active_record/connection_adapters/abstract/transaction.rb:613:in `within_new_transaction'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.2.2.1/lib/active_record/connection_adapters/abstract/database_statements.rb:361:in `transaction'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.2.2.1/lib/active_record/transactions.rb:234:in `block in transaction'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.2.2.1/lib/active_record/connection_adapters/abstract/connection_pool.rb:421:in `with_connection'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.2.2.1/lib/active_record/connection_handling.rb:296:in `with_connection'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.2.2.1/lib/active_record/transactions.rb:233:in `transaction'
/var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/ap/activity.rb:34:in `perform_transactions'
/var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/ap/activity.rb:26:in `process'
/var/www/discourse/plugins/discourse-activity-pub/app/jobs/discourse_activity_pub_process.rb:12:in `execute'
/var/www/discourse/app/jobs/base.rb:316:in `block (2 levels) in perform'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rails_multisite-6.1.0/lib/rails_multisite/connection_management/null_instance.rb:49:in `with_connection'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rails_multisite-6.1.0/lib/rails_multisite/connection_management.rb:21:in `with_connection'
/var/www/discourse/app/jobs/base.rb:303:in `block in perform'
/var/www/discourse/app/jobs/base.rb:299:in `each'
/var/www/discourse/app/jobs/base.rb:299:in `perform'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:202:in `execute_job'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:170:in `block (2 levels) in process'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/middleware/chain.rb:177:in `block in invoke'
/var/www/discourse/lib/sidekiq/pausable.rb:132:in `call'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/middleware/chain.rb:179:in `block in invoke'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/middleware/chain.rb:182:in `invoke'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:169:in `block in process'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:136:in `block (6 levels) in dispatch'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/job_retry.rb:113:in `local'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:135:in `block (5 levels) in dispatch'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq.rb:44:in `block in <module:Sidekiq>'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:131:in `block (4 levels) in dispatch'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:263:in `stats'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:126:in `block (3 levels) in dispatch'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/job_logger.rb:13:in `call'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:125:in `block (2 levels) in dispatch'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/job_retry.rb:80:in `global'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:124:in `block in dispatch'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/job_logger.rb:39:in `prepare'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:123:in `dispatch'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:168:in `process'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:78:in `process_one'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:68:in `run'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/component.rb:8:in `watchdog'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/component.rb:17:in `block in safe_thread'
  • [Discourse Activity Pub] Failed to process https://mastodon.ie/users/padraig: Could not resolve actor
backtrace/env
hostname	39Discourse-ubuntu-s-1vcpu-2gb-amd-ams3-01-app
process_id	787
application_version	f4857d3b1c6a33ce6a5e4d2675ae2538d2c36357
job	Jobs::DiscourseActivityPubProcess
db	default
time	9:52 pm

/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activesupport-7.2.2.1/lib/active_support/broadcast_logger.rb:130:in `block in warn'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activesupport-7.2.2.1/lib/active_support/broadcast_logger.rb:231:in `block in dispatch'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activesupport-7.2.2.1/lib/active_support/broadcast_logger.rb:231:in `each'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activesupport-7.2.2.1/lib/active_support/broadcast_logger.rb:231:in `dispatch'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activesupport-7.2.2.1/lib/active_support/broadcast_logger.rb:130:in `warn'
/var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/logger.rb:22:in `log'
/var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/logger.rb:59:in `warn'
/var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/ap/object.rb:140:in `process_failed'
/var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/ap/object.rb:153:in `process_failed'
/var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/ap/object.rb:202:in `resolve'
/var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/ap/object.rb:179:in `resolve_and_store'
/var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/ap/activity.rb:132:in `process_actor_and_object'
/var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/ap/activity.rb:56:in `process_activity'
/var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/ap/activity.rb:36:in `block in perform_transactions'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.2.2.1/lib/active_record/connection_adapters/abstract/transaction.rb:616:in `block in within_new_transaction'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activesupport-7.2.2.1/lib/active_support/concurrency/null_lock.rb:9:in `synchronize'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.2.2.1/lib/active_record/connection_adapters/abstract/transaction.rb:613:in `within_new_transaction'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.2.2.1/lib/active_record/connection_adapters/abstract/database_statements.rb:361:in `transaction'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.2.2.1/lib/active_record/transactions.rb:234:in `block in transaction'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.2.2.1/lib/active_record/connection_adapters/abstract/connection_pool.rb:421:in `with_connection'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.2.2.1/lib/active_record/connection_handling.rb:296:in `with_connection'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.2.2.1/lib/active_record/transactions.rb:233:in `transaction'
/var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/ap/activity.rb:34:in `perform_transactions'
/var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/ap/activity.rb:26:in `process'
/var/www/discourse/plugins/discourse-activity-pub/app/jobs/discourse_activity_pub_process.rb:12:in `execute'
/var/www/discourse/app/jobs/base.rb:316:in `block (2 levels) in perform'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rails_multisite-6.1.0/lib/rails_multisite/connection_management/null_instance.rb:49:in `with_connection'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rails_multisite-6.1.0/lib/rails_multisite/connection_management.rb:21:in `with_connection'
/var/www/discourse/app/jobs/base.rb:303:in `block in perform'
/var/www/discourse/app/jobs/base.rb:299:in `each'
/var/www/discourse/app/jobs/base.rb:299:in `perform'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:202:in `execute_job'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:170:in `block (2 levels) in process'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/middleware/chain.rb:177:in `block in invoke'
/var/www/discourse/lib/sidekiq/pausable.rb:132:in `call'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/middleware/chain.rb:179:in `block in invoke'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/middleware/chain.rb:182:in `invoke'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:169:in `block in process'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:136:in `block (6 levels) in dispatch'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/job_retry.rb:113:in `local'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:135:in `block (5 levels) in dispatch'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq.rb:44:in `block in <module:Sidekiq>'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:131:in `block (4 levels) in dispatch'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:263:in `stats'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:126:in `block (3 levels) in dispatch'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/job_logger.rb:13:in `call'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:125:in `block (2 levels) in dispatch'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/job_retry.rb:80:in `global'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:124:in `block in dispatch'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/job_logger.rb:39:in `prepare'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:123:in `dispatch'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:168:in `process'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:78:in `process_one'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:68:in `run'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/component.rb:8:in `watchdog'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/component.rb:17:in `block in safe_thread'
  • [Discourse Activity Pub] Failed to process https://mastodon.ie/41434029-d0bc-47fa-8ffa-4fe22e28b919: Could not create actor
backtrace/env
hostname	39Discourse-ubuntu-s-1vcpu-2gb-amd-ams3-01-app
process_id	787
application_version	f4857d3b1c6a33ce6a5e4d2675ae2538d2c36357
job	Jobs::DiscourseActivityPubProcess
db	default
time	9:52 pm

/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activesupport-7.2.2.1/lib/active_support/broadcast_logger.rb:130:in `block in warn'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activesupport-7.2.2.1/lib/active_support/broadcast_logger.rb:231:in `block in dispatch'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activesupport-7.2.2.1/lib/active_support/broadcast_logger.rb:231:in `each'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activesupport-7.2.2.1/lib/active_support/broadcast_logger.rb:231:in `dispatch'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activesupport-7.2.2.1/lib/active_support/broadcast_logger.rb:130:in `warn'
/var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/logger.rb:22:in `log'
/var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/logger.rb:59:in `warn'
/var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/ap/object.rb:140:in `process_failed'
/var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/ap/activity.rb:133:in `process_actor_and_object'
/var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/ap/activity.rb:56:in `process_activity'
/var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/ap/activity.rb:36:in `block in perform_transactions'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.2.2.1/lib/active_record/connection_adapters/abstract/transaction.rb:616:in `block in within_new_transaction'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activesupport-7.2.2.1/lib/active_support/concurrency/null_lock.rb:9:in `synchronize'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.2.2.1/lib/active_record/connection_adapters/abstract/transaction.rb:613:in `within_new_transaction'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.2.2.1/lib/active_record/connection_adapters/abstract/database_statements.rb:361:in `transaction'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.2.2.1/lib/active_record/transactions.rb:234:in `block in transaction'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.2.2.1/lib/active_record/connection_adapters/abstract/connection_pool.rb:421:in `with_connection'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.2.2.1/lib/active_record/connection_handling.rb:296:in `with_connection'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.2.2.1/lib/active_record/transactions.rb:233:in `transaction'
/var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/ap/activity.rb:34:in `perform_transactions'
/var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/ap/activity.rb:26:in `process'
/var/www/discourse/plugins/discourse-activity-pub/app/jobs/discourse_activity_pub_process.rb:12:in `execute'
/var/www/discourse/app/jobs/base.rb:316:in `block (2 levels) in perform'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rails_multisite-6.1.0/lib/rails_multisite/connection_management/null_instance.rb:49:in `with_connection'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rails_multisite-6.1.0/lib/rails_multisite/connection_management.rb:21:in `with_connection'
/var/www/discourse/app/jobs/base.rb:303:in `block in perform'
/var/www/discourse/app/jobs/base.rb:299:in `each'
/var/www/discourse/app/jobs/base.rb:299:in `perform'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:202:in `execute_job'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:170:in `block (2 levels) in process'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/middleware/chain.rb:177:in `block in invoke'
/var/www/discourse/lib/sidekiq/pausable.rb:132:in `call'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/middleware/chain.rb:179:in `block in invoke'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/middleware/chain.rb:182:in `invoke'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:169:in `block in process'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:136:in `block (6 levels) in dispatch'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/job_retry.rb:113:in `local'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:135:in `block (5 levels) in dispatch'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq.rb:44:in `block in <module:Sidekiq>'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:131:in `block (4 levels) in dispatch'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:263:in `stats'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:126:in `block (3 levels) in dispatch'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/job_logger.rb:13:in `call'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:125:in `block (2 levels) in dispatch'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/job_retry.rb:80:in `global'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:124:in `block in dispatch'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/job_logger.rb:39:in `prepare'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:123:in `dispatch'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:168:in `process'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:78:in `process_one'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:68:in `run'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/component.rb:8:in `watchdog'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/component.rb:17:in `block in safe_thread'
  • [Discourse Activity Pub] DiscourseActivityPub::AP::Handlers::Warning
backtrace/env
hostname	39Discourse-ubuntu-s-1vcpu-2gb-amd-ams3-01-app
process_id	787
application_version	f4857d3b1c6a33ce6a5e4d2675ae2538d2c36357
job	Jobs::DiscourseActivityPubProcess
db	default
time	9:52 pm

/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activesupport-7.2.2.1/lib/active_support/broadcast_logger.rb:130:in `block in warn'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activesupport-7.2.2.1/lib/active_support/broadcast_logger.rb:231:in `block in dispatch'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activesupport-7.2.2.1/lib/active_support/broadcast_logger.rb:231:in `each'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activesupport-7.2.2.1/lib/active_support/broadcast_logger.rb:231:in `dispatch'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activesupport-7.2.2.1/lib/active_support/broadcast_logger.rb:130:in `warn'
/var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/logger.rb:22:in `log'
/var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/logger.rb:59:in `warn'
/var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/ap/activity.rb:42:in `rescue in block in perform_transactions'
/var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/ap/activity.rb:35:in `block in perform_transactions'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.2.2.1/lib/active_record/connection_adapters/abstract/transaction.rb:616:in `block in within_new_transaction'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activesupport-7.2.2.1/lib/active_support/concurrency/null_lock.rb:9:in `synchronize'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.2.2.1/lib/active_record/connection_adapters/abstract/transaction.rb:613:in `within_new_transaction'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.2.2.1/lib/active_record/connection_adapters/abstract/database_statements.rb:361:in `transaction'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.2.2.1/lib/active_record/transactions.rb:234:in `block in transaction'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.2.2.1/lib/active_record/connection_adapters/abstract/connection_pool.rb:421:in `with_connection'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.2.2.1/lib/active_record/connection_handling.rb:296:in `with_connection'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.2.2.1/lib/active_record/transactions.rb:233:in `transaction'
/var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/ap/activity.rb:34:in `perform_transactions'
/var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/ap/activity.rb:26:in `process'
/var/www/discourse/plugins/discourse-activity-pub/app/jobs/discourse_activity_pub_process.rb:12:in `execute'
/var/www/discourse/app/jobs/base.rb:316:in `block (2 levels) in perform'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rails_multisite-6.1.0/lib/rails_multisite/connection_management/null_instance.rb:49:in `with_connection'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rails_multisite-6.1.0/lib/rails_multisite/connection_management.rb:21:in `with_connection'
/var/www/discourse/app/jobs/base.rb:303:in `block in perform'
/var/www/discourse/app/jobs/base.rb:299:in `each'
/var/www/discourse/app/jobs/base.rb:299:in `perform'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:202:in `execute_job'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:170:in `block (2 levels) in process'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/middleware/chain.rb:177:in `block in invoke'
/var/www/discourse/lib/sidekiq/pausable.rb:132:in `call'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/middleware/chain.rb:179:in `block in invoke'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/middleware/chain.rb:182:in `invoke'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:169:in `block in process'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:136:in `block (6 levels) in dispatch'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/job_retry.rb:113:in `local'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:135:in `block (5 levels) in dispatch'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq.rb:44:in `block in <module:Sidekiq>'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:131:in `block (4 levels) in dispatch'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:263:in `stats'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:126:in `block (3 levels) in dispatch'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/job_logger.rb:13:in `call'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:125:in `block (2 levels) in dispatch'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/job_retry.rb:80:in `global'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:124:in `block in dispatch'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/job_logger.rb:39:in `prepare'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:123:in `dispatch'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:168:in `process'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:78:in `process_one'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:68:in `run'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/component.rb:8:in `watchdog'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/component.rb:17:in `block in safe_thread'

Hope this helps :slight_smile:

Gracias por los registros útiles. Como primer paso, ¿podrías seguir a announcements@test.pavilion.tech con padraig@mastodon.ie?

Hice clic en «Seguir» y parece que funcionó. :slight_smile: