Plugin ActivityPub

Sim, agora você pode alterar o preferredUsername dos Atores. Observe o seguinte sobre como isso interage com o Mastodon:

O nome de usuário exibido para o ator não mudará até que alguém realize uma consulta ao novo identificador. Seguir / Postar etc. continuará funcionando independentemente do nome de usuário exibido.

Eu esperava que meu PR para o Mastodon fosse mesclado antes de mesclar este

No entanto, considerando os testes de aceitação que demonstram que o Mastodon pode realmente lidar com alterações de nome de usuário e a passagem do tempo, decidi prosseguir com isso.

4 curtidas

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.

Os lançamentos “estáveis” são nomeados “estáveis” no sentido de “não mudar” e geralmente não são recomendados se você estiver fazendo alterações como introduzir novos plugins. O desenvolvimento de novos plugins geralmente é livre para seguir as versões de desenvolvimento atuais. Novos lançamentos “estáveis” são feitos apenas algumas vezes por ano, e isso seria uma limitação para trabalhos como este.

Gostaria que, neste momento, a CDCK removesse o nome “beta” de seus lançamentos contínuos, pois não é uma boa descrição. Isso continua introduzindo confusão como esta e cria expectativas desalinhadas. Mas 3.4.0-beta é quase certamente com o que você vai querer trabalhar com este plugin, pelo menos neste momento.

1 curtida

Obrigado @mcdanlj :pray:

1 curtida

Olá, o plugin ActivityPub suporta a adição de usuários do Threads? Tentei adicionar um usuário do Threads, mas parece que não consigo encontrá-lo. Obrigado pela sua ajuda!

2 curtidas

Olá @joo,

Embora qualquer implementação do ActivityPub que siga a especificação do ActivityPub deva funcionar imediatamente, ainda não tentei adicionar suporte explícito ao Threads, pois da última vez que verifiquei, não consegui acessar o ActivityPub no Threads (ou seja, em minhas próprias contas da Meta) nem encontrar nenhuma documentação sobre isso fora de alguns artigos de ajuda e posts de blog. Assim que for possível obter alguma informação sobre como ele está configurado, estarei olhando para adicionar algum suporte explícito para o Threads.

4 curtidas

Pelo que sei, deveria estar disponível em todos os lugares, exceto na UE. No entanto, um usuário do Threads precisa permitir a federação primeiro.

Há alguma maneira (fácil) de purgar tudo o que está relacionado ao plugin? O meu está uma bagunça agora.

Tentei o plugin há mais ou menos 9 meses, mas houve algo, não me lembro o quê, e eu o desativei.

Agora dei uma nova chance, mas parece que ele está preso no passado. Todo servidor Mastodon recebe um erro 403 do fórum. Instâncias não conseguem encontrar meus atores e, portanto, nenhum tópico é enviado adiante.

Não consigo seguir o Meta. Vejo o status pendente, mas quando mudo de página, a lista de seguidores está vazia. O mesmo acontece com usuários do Mastodon. Ele os encontra, mostra pendente, mas a lista está vazia novamente quando vou para outro lugar.

Tenho três usuários do Mastodon que conseguem encontrar meus atores, e todos eles são contas que usei para testar há nove meses. Mas mesmo isso não está funcionando bem.

Dois deles eram da minha instância auto-hospedada. Esse servidor foi destruído (por causa de uma experiência horrível com uma atualização do Mastodon que deu terrivelmente errado). Quando tento excluir esses dois, eles desaparecem da lista de seguidores, mas se eu mudar de página, eles voltam.

O terceiro consegue encontrar e seguir meus atores, mas nunca aparece na lista de seguidores. É um fantasma. E ele não recebe tópicos; apenas segue.

Todas as minhas configurações são puramente padrão.

No momento, não conheço outra solução senão limpar cada pedacinho sobre o plugin e ActivePub. Mas isso requer trabalhar com o banco de dados, certo?

3 curtidas

Olá @Jagster.

Não há motivo para purgar seus dados. A estrutura de dados subjacente do plugin não mudou desde o seu lançamento. Quando ela mudou, os dados foram migrados apropriadamente. Vamos descobrir o que está errado em vez disso.

Você poderia começar compartilhando um link para o seu fórum? Talvez me envie por chat aqui no meta. Tenho certeza de que podemos resolver as coisas :slight_smile:

1 curtida

Mesmo eu tendo diferentes tipos de servidores/serviços em uso, meu conhecimento e ponto de vista estão fortemente no nível do usuário final. E então soluções como destruição total parecem muito lógicas :joy:

Fórum público, então posso colocar aqui. E como é puramente finlandês, não pode ser contado como um anúncio… Isso leva diretamente a uma categoria onde o ActivePub está em uso: Ihminen, luonto & maailma - Katiskan foorumi

OT, mas os links de categoria sempre tiveram ../none :thinking:

9 posts foram divididos em um novo tópico: Como depurar problemas de conectividade com ActivityPub

Estou um pouco confuso novamente. O contexto é do meu fórum para o Mastodon — até mesmo isso pode ser algo mais geral.

Uma categoria federada e a visibilidade é pública. Mas está não listada no Mastodon — isso é o que o cadeado aberto significa, certo? O ícone deveria ser o globo indicando visibilidade pública. Claro, não listado também é público, de certa forma.

Qual é o motivo para não listar?

Olá @Jagster, que tipo de publicação você está usando?

Primeira postagem (pública, nota)

Apenas uma nota de que não me esqueci de você. Vou testar isso pessoalmente amanhã cedo.

2 curtidas

Legal. Todos nós tivemos um fim de semana e essa pergunta não é exatamente uma questão de prioridade máxima.

1 curtida

Uma pergunta rápida para esclarecer…

O que acontece quando você move uma postagem para um novo tópico habilitado para ActivityPub?

Acho o processo de

  1. responder a um tópico com uma postagem longa em uma categoria privada
  2. integrar o feedback de outros lá
  3. dividir a postagem em um novo tópico em uma categoria pública

uma alternativa adequada para Rascunhos, quando isso acontece na conversa. Mas então, a postagem movida tem um carimbo de data/hora no passado, o que me preocupa que o ActivityPub não a detecte quando ela for movida para uma categoria habilitada para ActivityPub.

Eu tinha certeza de que tinha abordado isso, mas nada é realmente abordado até que tenha uma especificação! Será abordado quando isso for mesclado.

Eu enumerei todas as principais permutações de movimentação de postagens na especificação.

Tópico
  mover_posts
    com posts em uma categoria ap
      com first_post habilitado
        ao mover para um tópico não-ap existente
          move os posts
          atualiza as referências de notas
          não cria novos objetos ou atividades
        ao mover para um tópico existente com first_post
          atualiza as referências de notas
          move os posts
          não cria novos objetos ou atividades
        ao mover para um novo tópico não-ap
          move os posts
          atualiza as referências de notas
          não cria novos objetos ou atividades
        ao mover para um novo tópico com first_post
          não cria novos objetos ou atividades
          não cria uma coleção para o novo tópico
          move os posts
          atualiza as referências de notas
      com full_topic habilitado
        ao mover para um tópico existente com full_topic
          não cria novas coleções, objetos ou atividades
          move os posts
          atualiza as referências de notas
        ao mover para um novo tópico não-ap
          atualiza as referências de notas
          move os posts
          não cria novas coleções, objetos ou atividades
        ao mover para um novo tópico com full_topic
          atualiza as referências de notas
          não cria novos objetos ou atividades
          cria uma coleção para o novo tópico
          move os posts
        ao mover para um tópico não-ap existente
          move os posts
          atualiza as referências de notas
          não cria novas coleções, objetos ou atividades
    com posts em uma categoria não ap
      ao mover para um tópico existente com full_topic
        não cria novas coleções, objetos ou atividades
        move os posts
      ao mover para um novo tópico com first_post
        não cria uma coleção para o novo tópico
        move os posts
        não cria novos objetos ou atividades
      ao mover para um tópico existente com first_post
        não cria novas coleções, objetos ou atividades
        move os posts
      ao mover para um novo tópico com full_topic
        move os posts
        não cria novos objetos ou atividades
        cria uma coleção para o novo tópico

Note que o acima se aplica mutatis mutandis aos atores de tags. Então, para responder à sua pergunta específica: suas postagens permanecerão não publicadas depois que você as mover, ou seja, o status ficará assim:

Note que o mesmo é verdadeiro se você alterar a categoria de um tópico, ou seja, mover um tópico não publicado para uma categoria (ou tag) AP.

Em ambos os casos (mover posts ou alterar a categoria), você pode então publicar manualmente a(s) postagem(ns) usando o recurso de publicação manual, embora isso esteja atualmente disponível apenas para tópicos associados a um ator de first post.

Adicionarei a publicação manual de posts movidos ou recategorizados com um ator de full topic em breve. Quero ter certeza de que as principais permutações desse recurso sejam consideradas, é por isso que atualmente não é possível.

2 curtidas

Esse seria o meu caso de uso então:

Hmm, algo está errado em Directions to O₅F₂FDEM - Announcements - OFFDEM, a categoria é Note/Full Topic, mas não posta nada para o Fediverse há muito tempo. E o ícone do ActivityPub não aparece na postagem. Existe alguma maneira de meio que redefinir / SIGHUP o Actor?

(@infodesk@oxygen.offdem.net)

Ha! Isso. Muito obrigado @angus, você é demais.

1 curtida

O ator vinculado no perfil de um usuário não sabe como usar o Pixelfed. Deve ser muito semelhante ao Mastodon, mas, claro, pode haver algumas diferenças.

O Pixelfed está crescendo rapidamente agora, graças ao Zuckerberg, então seria bom se fosse uma opção em algum momento.

O mesmo vale para o Bookwyrm — pode haver alguma demanda para conectar discussões em outro lugar. Em algum momento, de qualquer forma. Mas eu poderia facilmente ver a demanda para conectar discussões de livros ao Discourse. Eu sei — isso é basicamente o mesmo que abrir uma categoria esperando que ela gere algo :man_shrugging: