@hellekin Grazie per la segnalazione. Si verificherà sempre un certo numero di richieste fallite su un servizio ActivityPub poiché gli attori nel fediverso vanno e vengono. Ad esempio, sembra che
La verbosità dei log è lì per aiutare nel debug, tuttavia se stanno ingombrando i tuoi log puoi attivarli/disattivarli utilizzando l’impostazione del sito activity pub verbose logging. L’impostazione predefinita è disattivata.
Stiamo cercando di apportare miglioramenti alla gestione degli errori nella fase due, se necessario, ma finora sembra che gli snippet che hai pubblicato siano attesi, cioè gli attori non sono più nel fediverso.
Attualmente, il modo in cui il plugin gestisce i fallimenti di consegna è tracciarli nello stesso modo in cui fa Mastodon, ovvero, se ci sono 7 giorni di fallimento verso un endpoint, verrà contrassegnato come “non disponibile” e non verranno più tentate richieste.
Infatti, ma il codice di stato è 410, il che significa che l’account potrebbe essersi spostato (se c’è una Tombstone — questa condizione viene verificata?)
Ho appena configurato un nuovo discourse self-hosted con il tuo plugin AP su https://federation.cafe e sto riscontrando alcuni errori 403 nei log degli errori di Discourse (e i post non vengono condivisi).
Mi chiedo se possa essere dovuto alla presenza di trattini, forse?
[Discourse Activity Pub] GET request to https://bofh.social/internal/fetch failed: Expected([200, 201, 202, 301, 302, 307, 308]) <=> Actual(403 Forbidden)
Il plugin MVP è testato su Mastodon. Vedo che stai usando Pleroma. So che Pleroma è conforme ad ActivityPub e funziona con Mastodon, tuttavia non abbiamo ancora esaminato attentamente quali modifiche potrebbero essere necessarie (se presenti) per garantirne il supporto. Ma sono comunque interessato a vedere cosa sta succedendo qui.
Sembra che le richieste siano fallite a causa di un errore di autenticazione sul tuo server Pleroma (questo è ciò che significa un errore 403). Dato che sono in grado di ottenere quell’endpoint utilizzando una richiesta cURL non autenticata, sospetto che possa essere l’autenticazione http che sta fallendo sul lato Pleroma.
Per testare quest’ultimo (cioè 2), potresti dare un’occhiata ai tuoi log di Pleroma (sembra che tu sia anche l’amministratore di quel server?) se possibile per vedere se riesci a ottenere maggiori dettagli su questo aspetto?
Grazie per il feedback @bmann. Potresti approfondire il caso d’uso che hai in mente qui? Con un esempio, se possibile.
Questo argomento è il posto migliore per tenersi aggiornati sugli sviluppi. Quando avremo definito un piano per la fase 2, lo condividerò qui. Nel frattempo, il modo migliore per aiutare è condividere casi d’uso specifici che stai utilizzando, o vorresti utilizzare, il plugin.
Il caso d’uso prevede l’utilizzo di Discourse come nodo AP più completo. Esistono molti modi più semplici per pubblicare contenuti su AP (ad esempio, utilizzare i feed RSS delle categorie e Zapier o Buffer), ma lo sviluppo di funzionalità AP più complete può essere fatto solo come plugin/integrazione.
Article è il tipo ActivityStream destinato ad articoli completi. A seconda dell’interfaccia client, mostrerà un’anteprima e poi un link per mostrare l’intero articolo inline (molto simile agli avvisi di contenuto, ma con “leggi di più”).
Note è il tipo per il micro-blogging.
Avendo post Article completi, le persone potranno leggere / aumentare / rispondere direttamente nei loro client AP.
E, naturalmente, sarebbe interessante conoscere la vostra roadmap se intendete seguire un’istanza AP più orientata al micro-blogging, o andare in una direzione di forum federato come Lemmy o Kbin, soprattutto date le recenti notizie su Reddit.
@angus, @pmusaraj avete visto la call aperta per finanziamenti di NGI Sargasso? È un preavviso piuttosto breve ma potrebbe essere utile per sviluppare ulteriormente questo plugin (a meno che non abbiate già altri piani).
Ciao ragazzi, sono felice di dire che la seconda fase di lavoro su questo plugin è stata approvata. Questo è ciò su cui abbiamo già iniziato a lavorare, con l’obiettivo di rilasciarlo tra circa 3,5 mesi.
Supporta la modifica delle Note post-pubblicazione
Gestisci caratteri speciali (forse usa un parser diverso). Vedi ulteriori.
Supporta l’uso di Article invece di Note come Oggetto di un post.
Impostazione a livello di categoria
Supporta l’accettazione di Attività in risposta a una Nota creata su server remoti e la pubblicazione di Attività in risposta a una Nota creata su Discourse.
Pubblica Attività relative alle risposte create su Discourse
Permetti agli utenti di Discourse di essere Attori
Crea oggetti Nota per le risposte di Discourse (post)
Pubblica Attività Create/Delete/Update/Undo associate per le loro azioni equivalenti su Discourse
Accetta Attività relative alle risposte create su server remoti
Organizza gli Attori delle Attività dai server remoti come utenti di Discourse
Crea risposte di Discourse (post) da oggetti Nota
Converti Attività Create/Delete/Update/Undo associate nelle loro azioni equivalenti su Discourse
Aggiungi un’impostazione di categoria per passare da “Solo Primo Post” (attuale) a “Argomento Completo” che supporta le Attività di risposta.
Supporta gli utenti di Discourse che verificano la propria identità su Mastodon in modo che i post di Discourse creati dai loro Toot siano associati al loro account utente di Discourse.
Permetti a un utente di eseguire il flusso Mastodon OAuth Authorization con il server Mastodon in cui è archiviato il suo account. Questo viene avviato dalle impostazioni dell’account utente di Discourse.
Utilizzando il token di accesso Mastodon dell’utente di Discourse, ottieni e archivia l’ID AP del suo account Mastodon e archivialo con il suo account Discourse.
Associa tutte le attività di Discourse associate alle Attività AP di un Attore che porta l’ID AP di un utente di Discourse a quell’utente di Discourse, sia che siano state eseguite prima o dopo che l’utente abbia verificato la propria identità.
Non posso fare promesse in questa fase, ma potrebbero esserci aggiornamenti intermedi sia per l’aggiornamento della federazione che per il targeting del pubblico (pubblicazione pubblica).
Questa è una limitazione nota. Finché le modifiche federate non saranno supportate, il plugin bloccherà le modifiche ai contenuti federati e non vi è alcuna configurazione per disabilitare questa funzionalità.
Oh, mi dispiace di aver frainteso. @feature@meta.discourse.org e @announcements@meta.discourse.org almeno vengono federati da qui, e questa scelta è il motivo principale per cui non ho abilitato questo per Maker Forums…
Sì, questo è il primo elemento della Fase 2 su cui ho lavorato. Infatti, c’è già una PR per questo, quindi avrai presto un po’ di sollievo su quel fronte.