Complemento ActivityPub

Sí, y es una diferencia sutil por diseño. La suposición aquí es que la mayoría de los usuarios que leen este tema/publicación no necesitan saber de inmediato que “esta publicación proviene de un usuario fuera de esta comunidad”. Es interesante saberlo como administrador o como alguien que implementa la función, pero la mayoría de las personas quieren centrarse en el contenido. Por lo tanto, optamos por ser relativamente discretos sobre las tecnicalidades de ActivityPub de una publicación.

2 Me gusta

Entonces mis usuarios son diferentes. Definitivamente querían saber. Pero ese debe ser un ejemplo de diferencias culturales y de cuán cercanos somos los finlandeses al comportamiento asocial (por parte de los creadores de contenido estadounidenses, porque tenemos cero habilidad para la charla trivial en magnitud estadounidense :joy:).

Pero fue relativamente fácil de ajustar usando CSS, así que los valores predeterminados están bien (y una solución está aquí si alguien alguna vez se pregunta lo mismo).

2 Me gusta

Respondí desde Mastodon a una publicación de Discourse y la respuesta no aparece en Discourse. ¿Es un error, o tal vez tal función aún no está implementada, o tal vez no está previsto implementar tal función?

Es un error o algo más. Acabo de tener una discusión en la que el tema se publicó en Mastodon, recibí un comentario desde allí, respondí al tema y eso también fue visible allí.

Pregunta estándar: ¿usas la versión reciente?

1 me gusta

Sí, instalé el plugin recientemente, aunque tuve que usar este fork (PR pendiente) para que funcionara: GitHub - kuba-orlik/discourse-activity-pub: Adds ActivityPub support to Discourse.

PR: Fix wrong inbox/outbox URLs by kuba-orlik · Pull Request #193 · discourse/discourse-activity-pub · GitHub

2 Me gusta

Hola, ¿puedes ayudar a responder algunas preguntas relacionadas de manera general con la moderación para las cuales no he podido encontrar respuestas, por favor?

  • Una vez que una publicación ha sido federada, ¿pueden los administradores locales moderarla? Quiero decir, editarla, esconderla, eliminarla…
  • ¿Qué pasa si la publicación se edita en la instancia de origen? ¿Se actualiza en la instancia federada?
  • Si los moderadores quieren contactar al usuario federado usando la opción de bandera o mensaje/chat, ¿pueden hacerlo? ¿O estos usuarios remotos no son usuarios reales en la instancia local?
  • Si tengo una cuenta con el mismo nombre de usuario y dirección de correo electrónico en dos instancias federadas, ¿seguirán siendo consideradas como dos cuentas diferentes en cada instancia? ¿No hay forma de “fusionarlas”.
  1. sí (o debería)
  2. no, pero puedes eliminar a un actor problemático (en Mastodon otros usuarios pueden reportar, pero lo que sucede depende del administrador en ese extremo)
  3. Discourse nunca ve los correos electrónicos a través de ActivityPub. En lugar de eso, puede haber varias icaria@... donde la “parte del dominio”, el nombre de las instancias, cambia, y todas esas cuentas siguen siendo propiedad de la misma persona. No puedes fusionar esas cuentas porque entonces en realidad estarías prohibiendo a los servidores obtener temas/publicaciones.
1 me gusta

Ok, hemos habilitado el plugin en nuestra instancia, hemos creado un actor conectado a una etiqueta y hemos federado nuestra primera publicación al Fediverso. ¡Muy emocionante! E impresionante.

Algunas preguntas (que podrían ser sugerencias de características faltantes, pero todavía estoy tratando de entender qué está disponible):

Como usuario de Discourse que ve el tema federado, ¿hay alguna forma de obtener un enlace al toot (mensaje) correspondiente en Mastodon, para poder impulsarlo fácilmente allí? No pude encontrarlo en el pequeño registro agregado al tema:

Como usuario de Mastodon que ve un toot proveniente de Discourse, ¿hay alguna forma fácil de encontrar la cuenta de Mastodon del actor para seguirla? Pueden ver la cuenta del publicador, pero no la del actor. Si siguen el enlace al foro, no pude encontrar una manera de deducir cómo encontrar al actor.

¿Por qué el plugin está impulsando todas las respuestas, en lugar de dejarlas como simples respuestas, las típicas respuestas “silenciosas y públicas”? Estos impulsos crean mucho ruido adicional para quienes siguen al actor en Mastodon.

¿Qué se supone que debe suceder cuando un usuario de Mastodon inicia una nueva publicación (no una respuesta) y menciona la cuenta del actor o la cuenta de un usuario de Discourse?

Finalmente, esto no parece normal y estamos recibiendo muchas de ellas (más de cien en unas pocas horas)

Job exception: stack level too deep

activesupport-7.2.2.1/lib/active_support/core_ext/object/blank.rb:166:in `present?'
/var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/json_ld.rb:57:in `base_object_id'
/var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/json_ld.rb:58:in `base_object_id'

(snip, decenas de estas)

/var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/json_ld.rb:58:in `base_object_id'
/var/www/discourse/plugins/discourse-activity-pub/app/jobs/discourse_activity_pub_process.rb:25:in `process_id'
/var/www/discourse/plugins/discourse-activity-pub/app/jobs/discourse_activity_pub_process.rb:8:in `execute'
/var/www/discourse/app/jobs/base.rb:316:in `block (2 levels) in perform'
rails_multisite-6.1.0/lib/rails_multisite/connection_management/null_instance.rb:49:in `with_connection'
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'
sidekiq-7.3.9/lib/sidekiq/processor.rb:220:in `execute_job'
sidekiq-7.3.9/lib/sidekiq/processor.rb:185:in `block (4 levels) in process'
sidekiq-7.3.9/lib/sidekiq/middleware/chain.rb:180:in `traverse'
sidekiq-7.3.9/lib/sidekiq/middleware/chain.rb:183:in `block in traverse'
/var/www/discourse/lib/sidekiq/pausable.rb:132:in `call'
sidekiq-7.3.9/lib/sidekiq/middleware/chain.rb:182:in `traverse'
sidekiq-7.3.9/lib/sidekiq/middleware/chain.rb:183:in `block in traverse'
sidekiq-7.3.9/lib/sidekiq/job/interrupt_handler.rb:9:in `call'
sidekiq-7.3.9/lib/sidekiq/middleware/chain.rb:182:in `traverse'
sidekiq-7.3.9/lib/sidekiq/middleware/chain.rb:183:in `block in traverse'
sidekiq-7.3.9/lib/sidekiq/metrics/tracking.rb:26:in `track'
sidekiq-7.3.9/lib/sidekiq/metrics/tracking.rb:134:in `call'
sidekiq-7.3.9/lib/sidekiq/middleware/chain.rb:182:in `traverse'
sidekiq-7.3.9/lib/sidekiq/middleware/chain.rb:173:in `invoke'
sidekiq-7.3.9/lib/sidekiq/processor.rb:184:in `block (3 levels) in process'
sidekiq-7.3.9/lib/sidekiq/processor.rb:145:in `block (6 levels) in dispatch'
sidekiq-7.3.9/lib/sidekiq/job_retry.rb:118:in `local'
sidekiq-7.3.9/lib/sidekiq/processor.rb:144:in `block (5 levels) in dispatch'
sidekiq-7.3.9/lib/sidekiq/config.rb:39:in `block in <class:Config>'
sidekiq-7.3.9/lib/sidekiq/processor.rb:139:in `block (4 levels) in dispatch'
sidekiq-7.3.9/lib/sidekiq/processor.rb:281:in `stats'
sidekiq-7.3.9/lib/sidekiq/processor.rb:134:in `block (3 levels) in dispatch'
sidekiq-7.3.9/lib/sidekiq/job_logger.rb:15:in `call'
sidekiq-7.3.9/lib/sidekiq/processor.rb:133:in `block (2 levels) in dispatch'
sidekiq-7.3.9/lib/sidekiq/job_retry.rb:85:in `global'
sidekiq-7.3.9/lib/sidekiq/processor.rb:132:in `block in dispatch'
sidekiq-7.3.9/lib/sidekiq/job_logger.rb:40:in `prepare'
sidekiq-7.3.9/lib/sidekiq/processor.rb:131:in `dispatch'
sidekiq-7.3.9/lib/sidekiq/processor.rb:183:in `block (2 levels) in process'
sidekiq-7.3.9/lib/sidekiq/processor.rb:182:in `handle_interrupt'
sidekiq-7.3.9/lib/sidekiq/processor.rb:182:in `block in process'
sidekiq-7.3.9/lib/sidekiq/processor.rb:181:in `handle_interrupt'
sidekiq-7.3.9/lib/sidekiq/processor.rb:181:in `process'
sidekiq-7.3.9/lib/sidekiq/processor.rb:86:in `process_one'
sidekiq-7.3.9/lib/sidekiq/processor.rb:76:in `run'
sidekiq-7.3.9/lib/sidekiq/component.rb:10:in `watchdog'
sidekiq-7.3.9/lib/sidekiq/component.rb:19:in `block in safe_thread'

Si haces clic en la etiqueta “Nota” en esa captura de pantalla, obtendrás un enlace al objeto Nota en Discourse, pero no estoy seguro de que sea lo que buscas. ¿Podrías explicar un poco más sobre lo que esperas que suceda? Quizás comparte una pequeña historia de usuario sobre lo que esperas hacer.

¿Te refieres al usuario de Discourse? Actualmente no puedes seguir a usuarios de Discourse.

¿Podrías explicar qué esperas que suceda aquí? Quizás con una historia de usuario.

Esto debería abordarse cuando se fusione.

1 me gusta

¿Lo es? ¿O es básicamente lo mismo que las preguntas anteriores de Job exception: stack level too deep?

1 me gusta

¡De hecho! Me había perdido el informe anterior. PR en breve.

1 me gusta

Pasa, demasiado en el plato :joy:

Gracias.

1 me gusta

¡Claro!

Como usuario de Discourse que también tiene una cuenta de Mastodon, veo un nuevo tema federado en mi Discourse y quiero impulsarlo rápidamente (volver a compartirlo) desde mi cuenta de Mastodon, para que todos mis seguidores de Mastodon se enteren y quizás respondan desde sus cuentas de Mastodon, trayendo mucha retroalimentación federada al tema en Discourse (¡y quizás algunos de ellos que no conocían el foro se unan a Discourse como resultado!)

Bien, para hacer esto, el usuario necesita encontrar fácilmente una URL que pueda pegar en el cuadro de búsqueda de su cliente de Mastodon, que servirá para el toot (mensaje) federado correspondiente a la publicación de Discourse.

No encuentro esta URL en la interfaz de Discourse. La única forma fácil de impulsar una publicación federada desde Discourse que he encontrado hasta ahora es seguir al actor de Discourse y tener la publicación en mi línea de tiempo de Mastodon. Esto está bien para aquellos que ya siguen al actor, pero no para aquellos usuarios de Discourse que aún no siguen al actor.

Espero haber podido explicar el problema y no confundir más las cosas. :wink: Publicaré la historia de usuario sobre el impulso continuo más tarde, después de comprender mejor el comportamiento actual.

1 me gusta

Si entendí bien, de esa manera apenas puedes encontrar nada en Mastodon.

Para mí, el problema de este tipo es la conversación en sí. Como todo son reboosts, tengo que encontrar la primera publicación antes de poder obtener el tema completo, porque los comentarios de un reboost nunca se muestran a los seguidores. Así que esa conversación desaparecerá.

Y si hago un reboost de un comentario de Discourse, se mostrará por “user-actor” que no se puede seguir.

Eso, y la clara falta de etiquetas (hash), son los principales signos de interrogación ahora, al menos para mí.

1 me gusta

Ok, he encontrado el enlace que quiero… en las respuestas, pero no en la publicación principal:

En las respuestas, es el icono de la federación en la esquina superior derecha, junto a “22h” en esta captura de pantalla.

Si haces clic en él, obtienes este diálogo:

Que, de hecho, apunta a la respuesta en Mastodon: icaria36 🎶: "@icaria36@the.socialmusic.network This is a test …" - SoNoMu

Me falta el icono y el enlace equivalente para la publicación principal. Probablemente esté en algún lugar obvio, pero no lo encuentro. :nerd_face:

EDITAR:

Ah, espera, ese enlace solo aparece para las publicaciones que provienen de Mastodon, no para las publicaciones nativas de Discourse. Me acabo de dar cuenta de que el pequeño icono tiene una versión azul y otra verde para diferenciar esto. El azul-verde no es una buena combinación de colores para distinguir un icono tan pequeño. Mi monitor de escritorio es bastante decente, no tengo daltonismo y, sin embargo, solo me he dado cuenta de la diferencia ahora, al observar estos iconos en detalle.

Para mí, un gran problema es que…

Como usuario de Mastodon que responde a una publicación federada de Discourse, quiero recibir una notificación de Mastodon si alguien responde a mi publicación o me menciona en Discourse.

Ahora mismo, es muy probable que las respuestas de los usuarios de Discourse a las publicaciones de los usuarios de Mastodon sean perdidas por los usuarios de Mastodon a los que se les responde, porque no ven notificaciones incluso cuando se les ha respondido o mencionado. Esto hace que las conversaciones reales sean aún más difíciles de lo que ya son en Mastodon, porque ni siquiera sabes que alguien ha respondido a tu comentario. De nuevo, a menos que me esté perdiendo algo.

PERO, por favor, tomen todo esto simplemente como comentarios para mejorar. Este plugin ya es impresionante, lo conservaremos y estaremos encantados de ayudar informando de problemas y probando nuevas funciones. ¡Muchas gracias @angus y equipo!

1 me gusta

¿Cuál es la diferencia entre “Publicar” y “Entregar”? Aquí hay una captura de pantalla de “Administración de temas”, de un tema ya publicado pero con una publicación… ¿no entregada? La publicación ya está federada correctamente en Mastodon, y me pregunto qué sucede cuando el administrador hace clic en “Entregar publicación n.º 1”.

Tanto la publicación como la entrega ocurren automáticamente si publicas en una categoría o etiqueta de ActivityPub (con la configuración relevante). La distinción entre ambas, y estos controles de administración, son para flexibilidad y casos de uso específicos.

Publicar = la publicación está disponible en el fediverso.
Entregar = la publicación se entrega a los seguidores del/los actor(es) relevante(s).

Esa acción te permite entregar la misma publicación cuando quieras, incluso después de que ya se haya entregado. Hay varios casos de uso para eso, por ejemplo:

  1. Inicialmente publicaste un tema sin entregar todas las publicaciones del tema a tus seguidores (porque no querías spam). Luego puedes entregar publicaciones individuales.

  2. La publicación se realizó antes de que un nuevo conjunto de seguidores siguiera a tu actor. Puedes entregar la misma publicación nuevamente.

Si haces clic en “Información del tema” para ese tema, deberías ver que la publicación ya se entregó si la publicación ya está federada en Mastodon.

2 Me gusta

Ok, ahora tenemos una historia de usuario real de un usuario real que explica muy bien el problema.

Si queremos compartir una publicación federada en particular con Fedi, ¿alguien sabe cómo hacerlo? Lo intenté:

  • mirando el perfil de @fediverse@the.socialmusic.network - no se ven publicaciones
  • mirando mi propio perfil de socialmusic - no se ven publicaciones
  • buscando en el foro de Discourse un botón de “compartir”: Masto no reconoce la URL en la búsqueda
2 Me gusta

¡Esa fui yo! Gracias por este emocionante plugin, estamos disfrutando experimentando con Federation en nuestro foro.

Tenía algunas preguntas, y disculpas si esto ya se ha abordado antes (busqué en el foro pero no vi nada).

  • En el lado de Mastodon/etc., ¿cómo se manejan las publicaciones privadas, solo para seguidores y no listadas?
  • Para un usuario preocupado por la privacidad, digamos alguien que ejecuta Gotosocial, ¿cómo se manejan sus respuestas federadas?

Estoy pensando particularmente en problemas de consentimiento: si alguien prefiere no tener sus publicaciones visibles en un foro público. Es posible que no se den cuenta de que el tema al que están respondiendo es visible públicamente en Discourse. Las publicaciones de los usuarios de Discourse están bien marcadas, pero si respondo a un usuario de AP en el mismo hilo, podría pasar por alto que originalmente es un tema de Discourse.

3 Me gusta