Complemento ActivityPub

Sí, ahora puedes cambiar el preferredUsername de los Actores. Ten en cuenta lo siguiente sobre cómo esto interactúa con Mastodon:

El nombre de usuario que se muestra para el actor no cambiará hasta que alguien realice una búsqueda del nuevo identificador. Seguir / Publicar, etc. seguirá funcionando independientemente del nombre de usuario que se muestre.

Esperaba que mi PR a Mastodon se fusionara antes de fusionar esto

Sin embargo, considerando las pruebas de aceptación que demuestran que Mastodon puede manejar cambios de nombre de usuario, y el paso del tiempo, decidí seguir adelante con esto.

4 Me gusta

Thanks @Angus for your response here. I checked the instance that I’m running, and it’s 3.3.2, which seems to be the latest. I also updated the plugin to the latest version, but the error persists. This is the most recent stack trace that I collected from /logs:

Stack trace activemodel (7.1.3.4) lib/active_model/attribute_methods.rb:489:in `method_missing'

plugins/discourse-activity-pub/plugin.rb:368:in `block (2 levels) in activate!’

lib/plugin/instance.rb:376:in `public_send’

lib/plugin/instance.rb:376:in `block (2 levels) in add_to_class’

plugins/discourse-activity-pub/plugin.rb:332:in `block (2 levels) in activate!’

lib/plugin/instance.rb:376:in `public_send’

lib/plugin/instance.rb:376:in `block (2 levels) in add_to_class’

plugins/discourse-activity-pub/plugin.rb:338:in `block (2 levels) in activate!’

lib/plugin/instance.rb:376:in `public_send’

lib/plugin/instance.rb:376:in `block (2 levels) in add_to_class’

plugins/discourse-activity-pub/app/models/discourse_activity_pub_object.rb:107:in `after_scheduled’

plugins/discourse-activity-pub/app/models/discourse_activity_pub_activity.rb:126:in `after_scheduled’

plugins/discourse-activity-pub/lib/discourse_activity_pub/delivery_handler.rb:89:in `after_scheduled’

plugins/discourse-activity-pub/lib/discourse_activity_pub/delivery_handler.rb:15:in `perform’

plugins/discourse-activity-pub/lib/discourse_activity_pub/delivery_handler.rb:27:in `perform’

plugins/discourse-activity-pub/app/models/concerns/discourse_activity_pub/ap/model_callbacks.rb:160:in `block in activity_pub_deliver_activity’

plugins/discourse-activity-pub/app/models/concerns/discourse_activity_pub/ap/model_callbacks.rb:159:in `each’

plugins/discourse-activity-pub/app/models/concerns/discourse_activity_pub/ap/model_callbacks.rb:159:in `activity_pub_deliver_activity’

plugins/discourse-activity-pub/app/models/concerns/discourse_activity_pub/ap/model_callbacks.rb:41:in `perform_activity_pub_activity’

plugins/discourse-activity-pub/plugin.rb:457:in `block (2 levels) in activate!’

lib/plugin/instance.rb:376:in `public_send’

lib/plugin/instance.rb:376:in `block (2 levels) in add_to_class’

plugins/discourse-activity-pub/plugin.rb:664:in `block (2 levels) in activate!’

lib/plugin/instance.rb:576:in `block in on’

lib/discourse_event.rb:12:in `block in trigger’

/home/cloudron/rbenv/versions/3.3.4/lib/ruby/3.3.0/set.rb:501:in `each_key’

/home/cloudron/rbenv/versions/3.3.4/lib/ruby/3.3.0/set.rb:501:in `each’

lib/discourse_event.rb:12:in `trigger’

lib/post_creator.rb:258:in `trigger_after_events’

lib/post_creator.rb:220:in `create’

lib/new_post_manager.rb:318:in `perform_create_post’

lib/new_post_manager.rb:252:in `perform’

app/controllers/posts_controller.rb:215:in `create’

actionpack (7.1.3.4) lib/action_controller/metal/basic_implicit_render.rb:6:in `send_action’

actionpack (7.1.3.4) lib/abstract_controller/base.rb:224:in `process_action’

actionpack (7.1.3.4) lib/action_controller/metal/rendering.rb:165:in `process_action’

actionpack (7.1.3.4) lib/abstract_controller/callbacks.rb:259:in `block in process_action’

activesupport (7.1.3.4) lib/active_support/callbacks.rb:121:in `block in run_callbacks’

app/controllers/application_controller.rb:424:in `block in with_resolved_locale’

i18n (1.14.5) lib/i18n.rb:351:in `with_locale’

app/controllers/application_controller.rb:424:in `with_resolved_locale’

activesupport (7.1.3.4) lib/active_support/callbacks.rb:130:in `block in run_callbacks’

activesupport (7.1.3.4) lib/active_support/callbacks.rb:141:in `run_callbacks’

actionpack (7.1.3.4) lib/abstract_controller/callbacks.rb:258:in `process_action’

actionpack (7.1.3.4) lib/action_controller/metal/rescue.rb:25:in `process_action’

actionpack (7.1.3.4) lib/action_controller/metal/instrumentation.rb:74:in `block in process_action’

activesupport (7.1.3.4) lib/active_support/notifications.rb:206:in `block in instrument’

activesupport (7.1.3.4) lib/active_support/notifications/instrumenter.rb:58:in `instrument’

activesupport (7.1.3.4) lib/active_support/notifications.rb:206:in `instrument’

actionpack (7.1.3.4) lib/action_controller/metal/instrumentation.rb:73:in `process_action’

actionpack (7.1.3.4) lib/action_controller/metal/params_wrapper.rb:261:in `process_action’

activerecord (7.1.3.4) lib/active_record/railties/controller_runtime.rb:32:in `process_action’

actionpack (7.1.3.4) lib/abstract_controller/base.rb:160:in `process’

actionview (7.1.3.4) lib/action_view/rendering.rb:40:in `process’

rack-mini-profiler (3.3.1) lib/mini_profiler/profiling_methods.rb:89:in `block in profile_method’

actionpack (7.1.3.4) lib/action_controller/metal.rb:227:in `dispatch’

actionpack (7.1.3.4) lib/action_controller/metal.rb:309:in `dispatch’

actionpack (7.1.3.4) lib/action_dispatch/routing/route_set.rb:49:in `dispatch’

actionpack (7.1.3.4) lib/action_dispatch/routing/route_set.rb:32:in `serve’

actionpack (7.1.3.4) lib/action_dispatch/journey/router.rb:51:in `block in serve’

actionpack (7.1.3.4) lib/action_dispatch/journey/router.rb:131:in `block in find_routes’

actionpack (7.1.3.4) lib/action_dispatch/journey/router.rb:124:in `each’

actionpack (7.1.3.4) lib/action_dispatch/journey/router.rb:124:in `find_routes’

actionpack (7.1.3.4) lib/action_dispatch/journey/router.rb:32:in `serve’

actionpack (7.1.3.4) lib/action_dispatch/routing/route_set.rb:882:in `call’

lib/middleware/omniauth_bypass_middleware.rb:64:in `call’

rack (2.2.9) lib/rack/tempfile_reaper.rb:15:in `call’

rack (2.2.9) lib/rack/conditional_get.rb:40:in `call’

rack (2.2.9) lib/rack/head.rb:12:in `call’

actionpack (7.1.3.4) lib/action_dispatch/http/permissions_policy.rb:36:in `call’

lib/content_security_policy/middleware.rb:12:in `call’

lib/middleware/anonymous_cache.rb:399:in `call’

lib/middleware/csp_script_nonce_injector.rb:12:in `call’

config/initializers/008-rack-cors.rb:14:in `call’

rack (2.2.9) lib/rack/session/abstract/id.rb:266:in `context’

rack (2.2.9) lib/rack/session/abstract/id.rb:260:in `call’

actionpack (7.1.3.4) lib/action_dispatch/middleware/cookies.rb:689:in `call’

actionpack (7.1.3.4) lib/action_dispatch/middleware/callbacks.rb:29:in `block in call’

activesupport (7.1.3.4) lib/active_support/callbacks.rb:101:in `run_callbacks’

actionpack (7.1.3.4) lib/action_dispatch/middleware/callbacks.rb:28:in `call’

actionpack (7.1.3.4) lib/action_dispatch/middleware/debug_exceptions.rb:29:in `call’

actionpack (7.1.3.4) lib/action_dispatch/middleware/show_exceptions.rb:31:in `call’

logster (2.20.0) lib/logster/middleware/reporter.rb:40:in `call’

lib/freedom_patches/rails_rack_logger_from_rails_7_2.rb:35:in `call_app’

lib/freedom_patches/rails_rack_logger_from_rails_7_2.rb:22:in `call’

config/initializers/100-quiet_logger.rb:20:in `call’

config/initializers/100-silence_logger.rb:29:in `call’

actionpack (7.1.3.4) lib/action_dispatch/middleware/request_id.rb:28:in `call’

lib/middleware/enforce_hostname.rb:24:in `call’

rack (2.2.9) lib/rack/method_override.rb:24:in `call’

actionpack (7.1.3.4) lib/action_dispatch/middleware/executor.rb:14:in `call’

actionpack (7.1.3.4) lib/action_dispatch/middleware/static.rb:25:in `call’

rack (2.2.9) lib/rack/sendfile.rb:110:in `call’

rack-mini-profiler (3.3.1) lib/mini_profiler.rb:191:in `call’

message_bus (4.3.8) lib/message_bus/rack/middleware.rb:60:in `call’

lib/middleware/request_tracker.rb:360:in `call’

actionpack (7.1.3.4) lib/action_dispatch/middleware/remote_ip.rb:92:in `call’

railties (7.1.3.4) lib/rails/engine.rb:536:in `call’

railties (7.1.3.4) lib/rails/railtie.rb:226:in `public_send’

railties (7.1.3.4) lib/rails/railtie.rb:226:in `method_missing’

rack (2.2.9) lib/rack/urlmap.rb:74:in `block in call’

rack (2.2.9) lib/rack/urlmap.rb:58:in `each’

rack (2.2.9) 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)>’

vendor/bundle/ruby/3.3.0/bin/unicorn:25:in `load’

vendor/bundle/ruby/3.3.0/bin/unicorn:25:in `<top (required)>’

bundler (2.5.9) lib/bundler/cli/exec.rb:58:in `load’

bundler (2.5.9) lib/bundler/cli/exec.rb:58:in `kernel_load’

bundler (2.5.9) lib/bundler/cli/exec.rb:23:in `run’

bundle activemodel (7.1.3.4) lib/active_model/attribute_methods.rb:489:in method_missing' plugins/discourse-activity-pub/plugin.rb:368:in block (2 levels) in activate!’
lib/plugin/instance.rb:376:in public_send' lib/plugin/instance.rb:376:in block (2 levels) in add_to_class’
plugins/discourse-activity-pub/plugin.rb:332:in block (2 levels) in activate!' lib/plugin/instance.rb:376:in public_send’
lib/plugin/instance.rb:376:in block (2 levels) in add_to_class' plugins/discourse-activity-pub/plugin.rb:338:in block (2 levels) in activate!’
lib/plugin/instance.rb:376:in public_send' lib/plugin/instance.rb:376:in block (2 levels) in add_to_class’
plugins/discourse-activity-pub/app/models/discourse_activity_pub_object.rb:107:in after_scheduled' plugins/discourse-activity-pub/app/models/discourse_activity_pub_activity.rb:126:in after_scheduled’
plugins/discourse-activity-pub/lib/discourse_activity_pub/delivery_handler.rb:89:in after_scheduled' plugins/discourse-activity-pub/lib/discourse_activity_pub/delivery_handler.rb:15:in perform’
plugins/discourse-activity-pub/lib/discourse_activity_pub/delivery_handler.rb:27:in perform' plugins/discourse-activity-pub/app/models/concerns/discourse_activity_pub/ap/model_callbacks.rb:160:in block in activity_pub_deliver_activity’
plugins/discourse-activity-pub/app/models/concerns/discourse_activity_pub/ap/model_callbacks.rb:159:in each' plugins/discourse-activity-pub/app/models/concerns/discourse_activity_pub/ap/model_callbacks.rb:159:in activity_pub_deliver_activity’
plugins/discourse-activity-pub/app/models/concerns/discourse_activity_pub/ap/model_callbacks.rb:41:in perform_activity_pub_activity' plugins/discourse-activity-pub/plugin.rb:457:in block (2 levels) in activate!’
lib/plugin/instance.rb:376:in public_send' lib/plugin/instance.rb:376:in block (2 levels) in add_to_class’
plugins/discourse-activity-pub/plugin.rb:664:in block (2 levels) in activate!' lib/plugin/instance.rb:576:in block in on’
lib/discourse_event.rb:12:in block in trigger' /home/cloudron/rbenv/versions/3.3.4/lib/ruby/3.3.0/set.rb:501:in each_key’
/home/cloudron/rbenv/versions/3.3.4/lib/ruby/3.3.0/set.rb:501:in each' lib/discourse_event.rb:12:in trigger’
lib/post_creator.rb:258:in trigger_after_events' lib/post_creator.rb:220:in create’
lib/new_post_manager.rb:318:in perform_create_post' lib/new_post_manager.rb:252:in perform’
app/controllers/posts_controller.rb:215:in create' actionpack (7.1.3.4) lib/action_controller/metal/basic_implicit_render.rb:6:in send_action’
actionpack (7.1.3.4) lib/abstract_controller/base.rb:224:in process_action' actionpack (7.1.3.4) lib/action_controller/metal/rendering.rb:165:in process_action’
actionpack (7.1.3.4) lib/abstract_controller/callbacks.rb:259:in block in process_action' activesupport (7.1.3.4) lib/active_support/callbacks.rb:121:in block in run_callbacks’
app/controllers/application_controller.rb:424:in block in with_resolved_locale' i18n (1.14.5) lib/i18n.rb:351:in with_locale’
app/controllers/application_controller.rb:424:in with_resolved_locale' activesupport (7.1.3.4) lib/active_support/callbacks.rb:130:in block in run_callbacks’
activesupport (7.1.3.4) lib/active_support/callbacks.rb:141:in run_callbacks' actionpack (7.1.3.4) lib/abstract_controller/callbacks.rb:258:in process_action’
actionpack (7.1.3.4) lib/action_controller/metal/rescue.rb:25:in process_action' actionpack (7.1.3.4) lib/action_controller/metal/instrumentation.rb:74:in block in process_action’
activesupport (7.1.3.4) lib/active_support/notifications.rb:206:in block in instrument' activesupport (7.1.3.4) lib/active_support/notifications/instrumenter.rb:58:in instrument’
activesupport (7.1.3.4) lib/active_support/notifications.rb:206:in instrument' actionpack (7.1.3.4) lib/action_controller/metal/instrumentation.rb:73:in process_action’
actionpack (7.1.3.4) lib/action_controller/metal/params_wrapper.rb:261:in process_action' activerecord (7.1.3.4) lib/active_record/railties/controller_runtime.rb:32:in process_action’
actionpack (7.1.3.4) lib/abstract_controller/base.rb:160:in process' actionview (7.1.3.4) lib/action_view/rendering.rb:40:in process’
rack-mini-profiler (3.3.1) lib/mini_profiler/profiling_methods.rb:89:in block in profile_method' actionpack (7.1.3.4) lib/action_controller/metal.rb:227:in dispatch’
actionpack (7.1.3.4) lib/action_controller/metal.rb:309:in dispatch' actionpack (7.1.3.4) lib/action_dispatch/routing/route_set.rb:49:in dispatch’
actionpack (7.1.3.4) lib/action_dispatch/routing/route_set.rb:32:in serve' actionpack (7.1.3.4) lib/action_dispatch/journey/router.rb:51:in block in serve’
actionpack (7.1.3.4) lib/action_dispatch/journey/router.rb:131:in block in find_routes' actionpack (7.1.3.4) lib/action_dispatch/journey/router.rb:124:in each’
actionpack (7.1.3.4) lib/action_dispatch/journey/router.rb:124:in find_routes' actionpack (7.1.3.4) lib/action_dispatch/journey/router.rb:32:in serve’
actionpack (7.1.3.4) lib/action_dispatch/routing/route_set.rb:882:in call' lib/middleware/omniauth_bypass_middleware.rb:64:in call’
rack (2.2.9) lib/rack/tempfile_reaper.rb:15:in call' rack (2.2.9) lib/rack/conditional_get.rb:40:in call’
rack (2.2.9) lib/rack/head.rb:12:in call' actionpack (7.1.3.4) lib/action_dispatch/http/permissions_policy.rb:36:in call’
lib/content_security_policy/middleware.rb:12:in call' lib/middleware/anonymous_cache.rb:399:in call’
lib/middleware/csp_script_nonce_injector.rb:12:in call' config/initializers/008-rack-cors.rb:14:in call’
rack (2.2.9) lib/rack/session/abstract/id.rb:266:in context' rack (2.2.9) lib/rack/session/abstract/id.rb:260:in call’
actionpack (7.1.3.4) lib/action_dispatch/middleware/cookies.rb:689:in call' actionpack (7.1.3.4) lib/action_dispatch/middleware/callbacks.rb:29:in block in call’
activesupport (7.1.3.4) lib/active_support/callbacks.rb:101:in run_callbacks' actionpack (7.1.3.4) lib/action_dispatch/middleware/callbacks.rb:28:in call’
actionpack (7.1.3.4) lib/action_dispatch/middleware/debug_exceptions.rb:29:in call' actionpack (7.1.3.4) lib/action_dispatch/middleware/show_exceptions.rb:31:in call’
logster (2.20.0) lib/logster/middleware/reporter.rb:40:in call' lib/freedom_patches/rails_rack_logger_from_rails_7_2.rb:35:in call_app’
lib/freedom_patches/rails_rack_logger_from_rails_7_2.rb:22:in call' config/initializers/100-quiet_logger.rb:20:in call’
config/initializers/100-silence_logger.rb:29:in call' actionpack (7.1.3.4) lib/action_dispatch/middleware/request_id.rb:28:in call’
lib/middleware/enforce_hostname.rb:24:in call' rack (2.2.9) lib/rack/method_override.rb:24:in call’
actionpack (7.1.3.4) lib/action_dispatch/middleware/executor.rb:14:in call' actionpack (7.1.3.4) lib/action_dispatch/middleware/static.rb:25:in call’
rack (2.2.9) lib/rack/sendfile.rb:110:in call' rack-mini-profiler (3.3.1) lib/mini_profiler.rb:191:in call’
message_bus (4.3.8) lib/message_bus/rack/middleware.rb:60:in call' lib/middleware/request_tracker.rb:360:in call’
actionpack (7.1.3.4) lib/action_dispatch/middleware/remote_ip.rb:92:in call' railties (7.1.3.4) lib/rails/engine.rb:536:in call’
railties (7.1.3.4) lib/rails/railtie.rb:226:in public_send' railties (7.1.3.4) lib/rails/railtie.rb:226:in method_missing’
rack (2.2.9) lib/rack/urlmap.rb:74:in block in call' rack (2.2.9) lib/rack/urlmap.rb:58:in each’
rack (2.2.9) 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)>’
vendor/bundle/ruby/3.3.0/bin/unicorn:25:in load' vendor/bundle/ruby/3.3.0/bin/unicorn:25:in <top (required)>’
bundler (2.5.9) lib/bundler/cli/exec.rb:58:in load' bundler (2.5.9) lib/bundler/cli/exec.rb:58:in kernel_load’
bundler (2.5.9) lib/bundler/cli/exec.rb:23:in `run’
bundle

Which seems to be coming from here. Why would moderating_groups be missing as a method on the activity_pub_taxonomy object?

group_ids.push(*activity_pub_topic.activity_pub_taxonomy.moderating_groups.pluck(:id))

Thanks in advance! The work you’ve been here is amazing, and can’t wait to have it working in our forum and syndicate updates with it.

Las versiones “estables” se denominan “estables” en el sentido de “que no cambian” y, en general, no se recomiendan si estás realizando cambios como la introducción de nuevos complementos. El desarrollo de nuevos complementos, en general, es libre de seguir las versiones de desarrollo actuales. Las nuevas versiones “estables” se publican solo unas pocas veces al año, y eso sería una limitación para un trabajo como este.

En este punto, desearía que CDCK eliminara el prefijo “beta” de sus lanzamientos continuos porque realmente no es una buena descripción. Introduce confusión como esta y crea expectativas desajustadas. Pero 3.4.0-beta es casi con toda seguridad con lo que querrás trabajar con este complemento, al menos en este momento.

1 me gusta

Gracias @mcdanlj :pray:

1 me gusta

Hola, ¿el plugin ActivityPub admite la adición de usuarios de Threads? Intenté agregar un usuario de Threads, pero parece que no puedo encontrarlo. ¡Gracias por tu ayuda!

2 Me gusta

Hola @joo,

Si bien cualquier implementación de ActivityPub que siga la especificación de ActivityPub debería funcionar de inmediato, aún no he intentado agregar soporte explícito para Threads, ya que la última vez que lo revisé no pude acceder a ActivityPub en Threads (es decir, en mis propias cuentas de Meta), ni encontrar ninguna documentación al respecto fuera de algunos artículos de ayuda y publicaciones de blog. Tan pronto como sea posible obtener información sobre cómo está configurado, buscaré agregar soporte explícito para Threads.

4 Me gusta

Según tengo entendido, debería estar disponible en todas partes excepto en la UE. Sin embargo, un usuario de Threads debe permitir primero la federación.

¿Hay alguna forma (fácil) de purgar todo lo relacionado con el plugin? El mío es bastante un desastre ahora mismo.

Probé el plugin hace unos 9 meses, pero entonces hubo algo, no recuerdo qué, y lo deshabilité.

Ahora le he dado una nueva oportunidad, pero parece que está atascado en el pasado. Cada servidor de Mastodon recibe un error 403 del foro. Las instancias no pueden encontrar mis actores y, por lo tanto, no se envían más temas.

No puedo seguir a Meta. Veo el estado pendiente, pero cuando cambio de página, la lista de seguidores está vacía. Lo mismo ocurre con los usuarios de Mastodon. Los encuentra, muestra pendiente, pero la lista vuelve a estar vacía cuando voy a otro lugar.

Tengo tres usuarios de Mastodon que pueden encontrar mis actores, y todas ellas son cuentas que utilicé para probar hace nueve meses. Pero incluso eso no funciona bien.

Dos de ellos eran de mi instancia autoalojada. Ese servidor está destruido (debido a una horrible experiencia con una actualización de Mastodon que salió terriblemente mal). Cuando intento eliminar esos dos, desaparecen de la lista de seguidores, pero si cambio de página, vuelven a estar allí.

El tercero puede encontrar y seguir mis actores, pero nunca aparece en la lista de seguidores. Es un fantasma. Y no recibe temas; solo sigue.

Todas mis configuraciones son puramente estándar.

En este momento, no conozco ninguna otra solución que no sea limpiar cada bit sobre el plugin y ActivePub. Pero eso requiere trabajar con la base de datos, ¿verdad?

3 Me gusta

Hola @Jagster.

No hay ninguna razón para purgar tus datos. La estructura de datos subyacente del plugin no ha cambiado desde que se lanzó. Cuando ha cambiado, los datos se migran adecuadamente. Vamos a averiguar qué está mal en su lugar.

¿Podrías empezar compartiendo un enlace a tu foro? Quizás envíamelo por chat aquí en meta. Estoy seguro de que podemos arreglar las cosas :slight_smile:

1 me gusta

Incluso si tengo diferentes tipos de servidores/servicios en uso, mi conocimiento y punto de vista están fuertemente en el nivel del usuario final. Y entonces soluciones como la destrucción total se sienten muy lógicas :joy:

Foro público, así que puedo ponerlo aquí. Y como es puramente finlandés, no se puede contar como un anuncio… Esto lleva directamente a una categoría donde se utiliza ActivePub: Ihminen, luonto & maailma - Katiskan foorumi

OT, pero las categorías siempre han tenido ../none :thinking:

9 publicaciones se dividieron en un nuevo tema: Cómo depurar problemas de conectividad con ActivityPub

Estoy un poco confundido de nuevo. El contexto es de mi foro a Mastodon; incluso esto podría ser algo más general.

Una categoría se federará y la visibilidad es pública. Pero no está listada en Mastodon, ¿eso significa el candado abierto, verdad? El icono debería ser el globo terráqueo indicando visibilidad pública. Claro, no listado también es público, de alguna manera.

¿Cuál es la razón para no listarlo?

Hola @Jagster, ¿qué tipo de publicación estás usando?

Primera publicación (pública, nota)

Solo una nota para que sepas que no me he olvidado de ti. Lo probaré yo mismo mañana a primera hora.

2 Me gusta

Genial. Todos tuvimos fin de semana, y esa pregunta no es exactamente una cuestión de máxima prioridad.

1 me gusta

Una pregunta rápida para aclarar…

¿Qué sucede cuando mueves una publicación a un nuevo tema habilitado para ActivityPub?

Encuentro que el proceso de

  1. responder a un tema con una publicación larga en una categoría privada
  2. integrar los comentarios de otros allí
  3. dividir la publicación en un nuevo tema en una categoría pública

es una alternativa adecuada para los borradores, cuando simplemente ocurre en la conversación. Pero entonces, la publicación movida tiene una marca de tiempo en el pasado, lo que me preocupa que ActivityPub no la detecte cuando se mueva a una categoría habilitada para ActivityPub.

Estaba seguro de haber abordado esto, ¡pero nada se aborda realmente hasta que tiene una especificación! Se abordará cuando esto se fusione.

He enumerado todas las permutaciones principales de movimiento de publicaciones en la especificación.

Tema
  mover_publicaciones
    con publicaciones en una categoría ap
      con primer_post habilitado
        al mover a un tema no ap existente
          mueve las publicaciones
          actualiza las referencias de notas
          no crea nuevos objetos ni actividades
        al mover a un tema existente de primer_post
          actualiza las referencias de notas
          mueve las publicaciones
          no crea nuevos objetos ni actividades
        al mover a un nuevo tema no ap
          mueve las publicaciones
          actualiza las referencias de notas
          no crea nuevos objetos ni actividades
        al mover a un nuevo tema de primer_post
          no crea nuevos objetos ni actividades
          no crea una colección para el nuevo tema
          mueve las publicaciones
          actualiza las referencias de notas
      con full_topic habilitado
        al mover a un tema full_topic existente
          no crea nuevas colecciones, objetos ni actividades
          mueve las publicaciones
          actualiza las referencias de notas
        al mover a un nuevo tema no ap
          actualiza las referencias de notas
          mueve las publicaciones
          no crea nuevas colecciones, objetos ni actividades
        al mover a un nuevo tema full_topic
          actualiza las referencias de notas
          no crea nuevos objetos ni actividades
          crea una colección para el nuevo tema
          mueve las publicaciones
        al mover a un tema no ap existente
          mueve las publicaciones
          actualiza las referencias de notas
          no crea nuevas colecciones, objetos ni actividades
    con publicaciones en una categoría no ap
      al mover a un tema full_topic existente
        no crea nuevas colecciones, objetos ni actividades
        mueve las publicaciones
      al mover a un nuevo tema de primer_post
        no crea una colección para el nuevo tema
        mueve las publicaciones
        no crea nuevos objetos ni actividades
      al mover a un tema de primer_post existente
        no crea nuevas colecciones, objetos ni actividades
        mueve las publicaciones
      al mover a un nuevo tema full_topic
        mueve las publicaciones
        no crea nuevos objetos ni actividades
        crea una colección para el nuevo tema

Tenga en cuenta que lo anterior se aplica mutatis mutandis a los actores de etiquetas. Así que, para responder a su pregunta específica: sus publicaciones permanecerán sin publicar después de moverlas, es decir, el estado se verá así:

Tenga en cuenta que lo mismo ocurre si cambia la categoría de un tema, es decir, mover un tema no publicado a una categoría (o etiqueta) AP.

En ambos casos (mover publicaciones o cambiar la categoría) puede publicar manualmente la(s) publicación(es) utilizando la función de publicación manual, aunque actualmente solo está disponible para temas asociados con un Actor de primer post.

Añadiré la publicación manual de publicaciones movidas o recategorizadas con un Actor de tema completo pronto. Quiero asegurarme de que se consideren las permutaciones principales de esa función, por eso actualmente no es posible.

2 Me gusta

Ese sería mi caso de uso entonces:

Hmmm, algo anda mal en Directions to O₅F₂FDEM - Announcements - OFFDEM, la categoría es Note/Full Topic, pero no ha publicado nada en el Fediverso durante mucho tiempo. Y el icono de ActivityPub no aparece en la publicación. ¿Hay alguna forma de restablecer / SIGHUP el Actor?

(@infodesk@oxygen.offdem.net)

¡Ja! Esto. Muchas gracias @angus, eres genial.

1 me gusta

El actor vinculado en el perfil de un usuario no sabe cómo usar Pixelfed. Debería ser muy similar a Mastodon, pero claro, puede haber algunas diferencias.

Pixelfed está creciendo rápidamente ahora, gracias a Zuckerberg, por lo que sería bueno si fuera una opción en algún momento.

Lo mismo ocurre con Bookwyrm — podría haber cierta demanda para conectar discusiones en otro lugar. En algún momento, de todos modos. Pero podría ver fácilmente la demanda de conectar discusiones de libros a Discourse. Lo sé — eso es básicamente lo mismo que abrir una categoría esperando que genere algo :man_shrugging: