ActivityPub non funziona davvero
Il problema si manifesta così: con i blog di test, activitypub pare funzionare, mentre con blog più popolari, acvititypub non funziona e non si riescono a seguire i post dal Fediverso. Il problema sta nella cache HTTP che utilizziamo davanti a tutto (nginx):
- activitypub su wordpress riutilizza le url di wordpress, tramite content negotiation, i.e. se tu gli mandi
Accept: application/activity+json
allora parli col plugin activitypub, altrimenti ti becchi la pagina html - fare caching in generale di questa roba e' un casino perche' ogni browser in realta' manda un header Accept piuttosto complicato, contano le preferenze di lingua etc etc, quindi c'e' una discreta diversita' e non si puo' usare l'header Accept come chiave della cache... (proxy_cache_key, in nginx)
- il problema potrebbe essere peggiorato dal fatto che il plugin activitypub non manda un header
Vary: Accept
nelle sue risposte
all'atto pratico quel che succede è che per esempio la pagina del profilo utente ActivityPub, /post/author/xxx/, viene cachata dai front-end, e di quale risposta si tratti dipende dal caso: per un blog popolare, è probabile che qualcuno abbia richiesto la versione HTML prima di quella ActivityPub (dunque niente federazione), mentre per i blog di test di solito questo non succede e ActivityPub "funziona" (perché nessuno va a guardare la pagina HTML del profilo utente e nota che è un blob illeggibile JSON anziché la pagina normale di wordpres...)