Richieste di follow non accettate

Ho configurato il plugin ActivityPub, ma non riesco a seguire gli attori che ho configurato sulla mia istanza da nessuna altra app fedi. Quando provo a seguire:

news@forum.internet-czas-dzialac.pl

da un client Mastodon, e aggiorno l’interfaccia utente di Mastodon, la richiesta di follow rimane bloccata:

È rimasta bloccata su “ritira richiesta di follow” per ore. Annullare e inviare nuovamente una richiesta di follow non aiuta, rimane bloccata e non viene informata sui nuovi post nella categoria.

Riesco a riprodurlo, anche se vedo un’interfaccia leggermente diversa:

Puoi provare How to debug connectivity issues with ActivityPub per vedere se qualcosa di tutto ciò ti aiuta?

  1. Nessun geoblocker configurato sul mio server
  2. La disabilitazione della richiesta di richieste firmate nelle impostazioni del plugin su admin/site_settings/category/all_results?filter=plugin%3Adiscourse-activity-pub non ha risolto il problema
  3. Vedo i seguenti avvisi nei log:
[Discourse Activity Pub] Failed to process https://mastodon.social/users/Ifutig#delete: Object is not ready



[Discourse Activity Pub] DiscourseActivityPub::AP::Handlers::Warning
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:26:in `log'
/var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/logger.rb:63: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'
activerecord-7.2.2.1/lib/active_record/connection_adapters/abstract/transaction.rb:616:in `block in within_new_transaction'
activesupport-7.2.2.1/lib/active_support/concurrency/null_lock.rb:9:in `synchronize'
activerecord-7.2.2.1/lib/active_record/connection_adapters/abstract/transaction.rb:613:in `within_new_transaction'
activerecord-7.2.2.1/lib/active_record/connection_adapters/abstract/database_statements.rb:361:in `transaction'
activerecord-7.2.2.1/lib/active_record/transactions.rb:234:in `block in transaction'
activerecord-7.2.2.1/lib/active_record/connection_adapters/abstract/connection_pool.rb:415:in `with_connection'
activerecord-7.2.2.1/lib/active_record/connection_handling.rb:296:in `with_connection'
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:14:in `block in execute'
/var/www/discourse/lib/distributed_mutex.rb:53:in `block in synchronize'
/var/www/discourse/lib/distributed_mutex.rb:49:in `synchronize'
/var/www/discourse/lib/distributed_mutex.rb:49:in `synchronize'
/var/www/discourse/lib/distributed_mutex.rb:34:in `synchronize'
/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'

  1. Le impostazioni activity pub allowed request origins e activity pub blocked request origins sono vuote.

I log di Sidekiq di Mastodon riportano questo errore per la coda ActivityPub::DeliveryWorker chiamata con argomenti:

"{\\\"@context\\\":\\\"https://www.w3.org/ns/activitystreams\\\",\\\"id\\\":\\\"https://toot.kuba-orlik.name/users/kuba#follows/2702/undo\\\",\\\"type\\\":\\\"Undo\\\",\\\"actor\\\":\\\"https://toot.kuba-orlik.name/users/kuba\\\",\\\"object\\\":{\\\"id\\\":\\\"https://toot.kuba-orlik.name/afe35800-107b-4843-baf6-763052aa8a79\\\",\\\"type\\\":\\\"Follow\\\",\\\"actor\\\":\\\"https://toot.kuba-orlik.name/users/kuba\\\",\\\"object\\\":\\\"https://forum.internet-czas-dzialac.pl/ap/actor/3120ea9df156a8556848a862fc980366\\\"}}\", 1, \"/inbox\"
HTTP::Request::UnsupportedSchemeError: unknown scheme: on /inbox

Sembra che forse ap_id sia vuoto in questo frammento?


Sì, posso vedere che

curl -H "Accept: application/activity+json" https://forum.internet-czas-dzialac.pl/ap/actor/3120ea9df156a8556848a862fc980366 | jq

restituisce:

{
  "id": "https://forum.internet-czas-dzialac.pl/ap/actor/3120ea9df156a8556848a862fc980366",
  "type": "Group",
  "updated": "2025-03-14T12:23:02Z",
  "url": "https://forum.internet-czas-dzialac.pl/c/nowinki-od-icd/65",
  "name": "Forum ICD - Newsy",
  "inbox": "/inbox",
  "outbox": "/outbox",
  "followers": "https://forum.internet-czas-dzialac.pl/ap/actor/3120ea9df156a8556848a862fc980366/followers",
  "preferredUsername": "news",
  "publicKey": {
    "id": "https://forum.internet-czas-dzialac.pl/ap/actor/3120ea9df156a8556848a862fc980366#main-key",
    "owner": "https://forum.internet-czas-dzialac.pl/ap/actor/3120ea9df156a8556848a862fc980366",
    "publicKeyPem": "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA2JFbVH7kIfa/14CDnUww\n9x+XwOPsS0qyeec1jdasv8SqqCit22FwDsLhH6vWpSIDisEDOhTLZjFFtpwksA8d\nRZIdOFrFazPkUF69J5VDVGtLgjyRi/KkJewbVaUnxO8zNwnxyBYWe8QoMWbdFwto\nfNzvB/ht+9Pch8ksVzNPnrA3Z7egtWHWGNl5sQ+8eXOKzeMNOn73hCEKcOSPWulz\n1gbbdo0So5ThKpwXC0ViqcZy2yzyTFptdrvL7lphr0BywUsG6AruOuwmghw6eRNe\nFvzx0Pq01bUIyY+MXiYmN6sLMIDqi/kdoALzSE+tHcv7HzCLNuEJb1DCmZo56O2H\nSQIDAQAB\n-----END PUBLIC KEY-----\n"
  },
  "icon": {
    "type": "Image",
    "mediaType": "image/png",
    "url": "https://forum.internet-czas-dzialac.pl/uploads/default/original/1X/adbc19ebc6466183dc0387c3f59d86bd2861b5c9.png"
  },
  "@context": "https://www.w3.org/ns/activitystreams"
}

Puoi vedere che gli URL inbox e outbox non hanno il protocollo e il dominio.

Penso di aver trovato il problema. Ho inviato una PR che risolve questo problema:

Il succo della modifica è l’aggiunta di questi getter:

Il tuo problema è che gli oggetti vengono in qualche modo creati con ID in primo luogo. Non è correlato al serializer (o al fabricator). Potresti per favore condividere:

  1. L’ambiente del tuo discourse, ovvero come stai ospitando e quale versione di Discourse stai utilizzando.
  2. Qualsiasi altro plugin che stai utilizzando.

@kuba-orlik Il tuo problema è probabilmente causato da questo PR

Questo dovrebbe risolverlo:

Grazie per aver segnalato il problema e per la tua pazienza!

Grazie @angus per aver indagato! Sfortunatamente, anche con l’ultima versione, il problema persiste.

Sto auto-ospitando usando la configurazione docker ufficiale (./launcher rebuild app).

Sto eseguendo Discourse 3.5.0.beta2-dev

discourse-chat-integration, discourse-whos-online, discourse-telegram-notifications, discourse-assign

Pensavo potesse essere questo il caso, ma avevo provato a installare versioni precedenti a questo commit e avevo lo stesso problema :thinking:

Ho installato l’ultima versione del plugin (dal commit 0083654), e sfortunatamente il problema non è risolto. Un rapido controllo:

> curl -H "Accept: application/activity+json" https://forum.internet-czas-dzialac.pl/ap/actor/3120ea9df156a8556848a862fc980366 | jq
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  1298    0  1298    0     0   9151      0 --:--:-- --:--:-- --:--:--  9205
{
  "id": "https://forum.internet-czas-dzialac.pl/ap/actor/3120ea9df156a8556848a862fc980366",
  "type": "Group",
  "updated": "2025-03-14T12:23:02Z",
  "url": "https://forum.internet-czas-dzialac.pl/c/nowinki-od-icd/65",
  "name": "Forum ICD - Newsy",
  "inbox": "/inbox",
  "outbox": "/outbox",
  "followers": "https://forum.internet-czas-dzialac.pl/ap/actor/3120ea9df156a8556848a862fc980366/followers",
  "preferredUsername": "news",
  "publicKey": {
    "id": "https://forum.internet-czas-dzialac.pl/ap/actor/3120ea9df156a8556848a862fc980366#main-key",
    "owner": "https://forum.internet-czas-dzialac.pl/ap/actor/3120ea9df156a8556848a862fc980366",
    "publicKeyPem": "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA2JFbVH7kIfa/14CDnUww\n9x+XwOPsS0qyeec1jdasv8SqqCit22FwDsLhH6vWpSIDisEDOhTLZjFFtpwksA8d\nRZIdOFrFazPkUF69J5VDVGtLgjyRi/KkJewbVaUnxO8zNwnxyBYWe8QoMWbdFwto\nfNzvB/ht+9Pch8ksVzNPnrA3Z7egtWHWGNl5sQ+8eXOKzeMNOn73hCEKcOSPWulz\n1gbbdo0So5ThKpwXC0ViqcZy2yzyTFptdrvL7lphr0BywUsG6AruOuwmghw6eRNe\nFvzx0Pq01bUIyY+MXiYmN6sLMIDqi/kdoALzSE+tHcv7HzCLNuEJb1DCmZo56O2H\nSQIDAQAB\n-----END PUBLIC KEY-----\n"
  },
  "icon": {
    "type": "Image",
    "mediaType": "image/png",
    "url": "https://forum.internet-czas-dzialac.pl/uploads/default/original/1X/adbc19ebc6466183dc0387c3f59d86bd2861b5c9.png"
  },
  "@context": "https://www.w3.org/ns/activitystreams"
}

Puoi vedere che ancora una volta le chiavi inbox e outbox non sono URL completi.

Ti tornerà utile un commit precedente una volta che il problema si presenterà. Prova a salvare nuovamente gli attori in Admin > ActivityPub, ovvero fai clic su “Salva attore” in /admin/plugins/ap/actor.

Ah! Ho ri-salvatola categoria degli attori e funziona!

Ora, come correggo gli attori dei singoli utenti, come https://forum.internet-czas-dzialac.pl/ap/actor/0098dcca74e34cfd2115e9309a7d4531?

> curl -H "Accept: application/activity+json" https://forum.internet-czas-dzialac.pl/ap/actor/0098dcca74e34cfd2115e9309a7d4531 | jq
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  1332    0  1332    0     0   9273      0 --:--:-- --:--:-- --:--:--  9314
{
  "id": "https://forum.internet-czas-dzialac.pl/ap/actor/0098dcca74e34cfd2115e9309a7d4531",
  "type": "Person",
  "updated": "2025-03-14T12:34:26Z",
  "url": "https://forum.internet-czas-dzialac.pl/u/kuba",
  "name": "Kuba",
  "inbox": "/inbox",
  "outbox": "/outbox",
  "sharedInbox": "https://forum.internet-czas-dzialac.pl/ap/users/inbox",
  "followers": "https://forum.internet-czas-dzialac.pl/ap/actor/0098dcca74e34cfd2115e9309a7d4531/followers",
  "preferredUsername": "kuba",
  "publicKey": {
    "id": "https://forum.internet-czas-dzialac.pl/ap/actor/0098dcca74e34cfd2115e9309a7d4531#main-key",
    "owner": "https://forum.internet-czas-dzialac.pl/ap/actor/0098dcca74e34cfd2115e9309a7d4531",
    "publicKeyPem": "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA0wp46cDyUbUUTfvbWqy/\nRS3YXY2g69+a3R5n+f4EeCxcpNL1OGPyzgjszdoxAWLSXCHqZk91v2rvpfRZt8wi\nEQ8Sr5CVj1uKIny9bdxKtxVyiT7U1pIZGD1VhWXqY1tMRLxQWWhA2+UtD1pfFzk/\nyqcbqXUvlG6UsQBAlDnaPxKaq3CD1ui1ANVsVY+VEbJyROIVY3q86qw50KSDHu/y\n0TaD6UjZNtnGOVmjh11QZwn2j5A/GYj6gqFDdS58KMMoBuPAfRZ7uD3psJ5CqT6F\nKLwn5q3UvypEm89SmboRIEcq7Pcvv1Zts0QJRDaSA0M4VeW35iuAqnhQ7yHKthAF\nYwIDAQAB\n-----END PUBLIC KEY-----\n"
  },
  "icon": {
    "type": "Image",
    "mediaType": "image/png",
    "url": "https://forum.internet-czas-dzialac.pl/user_avatar/forum.internet-czas-dzialac.pl/kuba/96/1866_2.png"
  },
  "@context": "https://www.w3.org/ns/activitystreams"
}

Sono contento che funzioni!

Le attuali verifiche di convalida dei dati si applicheranno ogni volta che un utente è coinvolto in un’attività effettiva (cioè, si auto-correggerà quando necessario), tuttavia è una buona idea estendere le stesse verifiche di convalida all’accesso diretto all’attore della persona come stai facendo qui. Questo lo farà:

Grazie per la tua perseveranza. È molto utile avere un’istanza reale con dati errati per garantire che le verifiche di convalida funzionino come previsto e secondo necessità. Il problema originale di corruzione dei dati che ha portato a queste recenti modifiche potrebbe ripresentarsi in qualche altra forma, quindi l’obiettivo qui è garantire la coerenza continua dei dati nel momento in cui i dati sono necessari (anziché gestirli tramite migrazioni, ecc.). Fammi sapere se riscontri problemi simili!

Ora funziona! Per ora passerò al tuo fork :slight_smile:

@angus grazie per il tuo supporto finora. Sebbene gli URL di posta in arrivo/in uscita sembrino a posto ora, il seguire non funziona ancora. Ho provato a seguire @kuba@forum.internet-czas-dzialac.pl da due diverse istanze di Mastodon e in entrambi i casi non è riuscito.

Ricevo questo errore quando invio una richiesta di follow per un attore utente normale:

[Discourse Activity Pub] Impossibile elaborare https://mastodon.internet-czas-dzialac.pl/6bef64d0-c8ad-473c-85f6-d3fd190b5ebd:
L'attività non è supportata per attore e oggetto

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:26:in `log'
/var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/logger.rb:63: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:139: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'
activerecord-7.2.2.1/lib/active_record/connection_adapters/abstract/transaction.rb:616:in `block in within_new_transaction'
activesupport-7.2.2.1/lib/active_support/concurrency/null_lock.rb:9:in `synchronize'
activerecord-7.2.2.1/lib/active_record/connection_adapters/abstract/transaction.rb:613:in `within_new_transaction'
activerecord-7.2.2.1/lib/active_record/connection_adapters/abstract/database_statements.rb:361:in `transaction'
activerecord-7.2.2.1/lib/active_record/transactions.rb:234:in `block in transaction'
activerecord-7.2.2.1/lib/active_record/connection_adapters/abstract/connection_pool.rb:421:in `with_connection'
activerecord-7.2.2.1/lib/active_record/connection_handling.rb:296:in `with_connection'
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:14:in `block in execute'
/var/www/discourse/lib/distributed_mutex.rb:53:in `block in synchronize'
(...)\n```

E questo quando si annulla una richiesta di follow:

[Discourse Activity Pub] Impossibile elaborare Internet. Czas działać! 🌎 (@icd@mastodon.internet-czas-dzialac.pl) - Fundacja Internet. Czas działać! - serwer Mastodona
L’oggetto non è pronto

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:26:in log’
/var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/logger.rb:63: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:137: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' activerecord-7.2.2.1/lib/active_record/connection_adapters/abstract/transaction.rb:616:in block in within_new_transaction’
(…)\n```

Il secondo avviso, ovvero questo

Impossibile elaborare Internet. Czas działać! 🌎 (@icd@mastodon.internet-czas-dzialac.pl) - Fundacja Internet. Czas działać! - serwer Mastodona
L’oggetto non è pronto

è previsto, poiché non è possibile Annullare qualcosa che non è stato fatto.

Per quanto riguarda il motivo per cui il follow non funziona

Impossibile elaborare https://mastodon.internet-czas-dzialac.pl/6bef64d0-c8ad-473c-85f6-d3fd190b5ebd: L’attività non è supportata per attore e oggetto

Questo mi suggerisce che stai cercando di seguire un attore non standard. Questo avviso viene generato quando una validazione del tipo fallisce. Puoi vedere i vari tipi di attore che supportiamo in questa cartella:

https://github.com/discourse/discourse-activity-pub/tree/main/lib/discourse_activity_pub/ap/actor

Inoltre, quell’URL non sembra risolvere nulla.

È strano, sto solo cercando di seguire un attore di persona normale. I log qui sono per me che cerco di seguire @kuba@forum.internet-czas-dzialac.pl (pensando che corrisponda a Profile - kuba - Forum Internet. Czas działać! - a meno che non stia sbagliando qualcosa?)

Da quello che ho capito da https://github.com/discourse/discourse-activity-pub/blob/main/lib/discourse_activity_pub/ap/actor/person.rb, seguire gli utenti di Discourse tramite AP è supportato, giusto?

No, non lo è. Seguire attori di Discourse, che sono categorie o tag, è supportato. Gli utenti di un forum non possono essere seguiti tramite ActivityPub. Sono “pseudo utenti” il cui attore di categoria/tag del post viene potenziato.

Ah, capito. Ci sono piani per portare supporto agli utenti specifici seguenti? Sarebbe felice di aiutare

Ah capisco, sì, al momento non è supportato.

Non nel breve o medio termine.