Incorporamento nativo di Twitter

Non abilitiamo l’incorporamento nell’anteprima del composer, che è il comportamento previsto.

:information_source: Riepilogo
:hammer_and_wrench: Repository
:question: Guida all’installazione
:open_book: Nuovo per i temi di Discourse?

Installa questo componente tema

Una recente limitazione dell’API di Twitter ha impedito la visualizzazione di alcuni onebox del forum di discourse. Questo componente tema abilita Discourse a supportare gli embed nativi di Twitter senza richiedere alcuna API di Twitter.

Il componente tema richiede uno script di Twitter da platform.twitter.com, quindi se Twitter volesse, potrebbe tracciarti in questo script e causare problemi di privacy. Devi valutare se fidarti di questa piattaforma social che sta diventando sempre più ridicola.

Per utilizzare questo componente, devi aggiungere il link di Twitter nell’intervallo di permessi della content security policy nelle impostazioni del sito e aggiungere twitter.com e x.com ai domini onebox bloccati.

https://platform.twitter.com/

37 Mi Piace

Devi ricostruire dopo aver fatto questo? Ho installato e aggiunto al content security ma non ci sono ancora embed, solo il link.

1 Mi Piace

Certamente no. Por favor, envie-me um link para o seu site e eu darei uma olhada no porquê, este componente funciona bem no meu fórum.

5 Mi Piace

Grazie, ho capito. Dopo aver rimosso la chiave consumer e il segreto di Twitter dalle impostazioni, ora funziona come previsto, penso che stesse tentando di incorporare tramite l’API perché non li avevo rimossi. Grazie ancora per averlo fatto, sarebbe fantastico se qualcosa del genere fosse possibile anche per Instagram.

6 Mi Piace

Ben fatto. grazie per questo componente del tema. ottimo lavoro tempestivo. :slightly_smiling_face:

3 Mi Piace

Wow grazie per questo!

Funziona come pubblicizzato per me, ma forse non è chiaro che in anteprima si vede solo l’URL del tweet come collegamento ipertestuale, l’incorporamento avviene quando la risposta o il post viene inviato.

2 Mi Piace

Il nostro sta succedendo nell’ordine opposto… l’anteprima mostra l’incorporamento e poi non lo mostra quando viene pubblicato.

1 Mi Piace

Bel lavoro e buona idea.

Ho lavorato su un piccolo fork per utilizzare la modalità dark data-theme per l’embed. Funziona bene, ma non sono un programmatore esperto.

Se riesci ad aggiungere un’opzione per utilizzare il tema predefinito o il tema scuro, penso che sarà ancora meglio!

9 Mi Piace

Abbiamo apportato tutte le modifiche consigliate sopra. Il nostro problema ora si presenta solo quando si tenta di pubblicare utilizzando un dispositivo mobile… incorporare un Tweet utilizzando un computer portatile/desktop ora funziona correttamente.

2 Mi Piace

Alcune persone desiderano gli embed e non necessitano della funzionalità di “login”, e quindi questo componente sarà molto popolare e sì, vedo richieste anche per altre piattaforme.

Personalmente, preferisco lo stile di embed di Twitter dall’aspetto più naturale rispetto al Onebox; se gli embed delle piattaforme più popolari mantengono l’aspetto nativo, li differenziano bene nel flusso di un argomento. Davvero un ottimo lavoro e non posso fare a meno di pensare perché non avessimo questo prima per evitare tutte le complessità della configurazione dell’account sviluppatore, ma tant’è, i bisogni sono quelli che sono e i valorosi e coraggiosi raccolgono la sfida.

¡Muchísimas gracias!

1 Mi Piace

Su un altro punto della fragilità degli embed come contenuto, dopo aver esaminato l’argomento dell’implosione di Twitter, mi è tornata in mente una vecchia idea che avevo.

Se gli embed potessero generare una bitmap di backup dell’anteprima dell’embed come parte della funzione di embed, ciò proteggerebbe da risultati simili a Photobucket.

Non ho idea di come potrebbe essere codificato, ma immagino che funzionerebbe in linea di principio in modo simile alla funzione che acquisisce l’immagine di un link di immagine pubblicato e viene memorizzata nel database nativo, mentre presumo che sia più facile poiché è un file già esistente da qualche parte su un server, agirebbe, suppongo, allo stesso modo di una funzione di screenshot personalizzata al volo, che si verifica quando un embed viene inserito in un post di Discourse.

I siti che archiviano un livello dei propri contenuti sono utili poiché la rete invecchia, le cose scompaiono di tanto in tanto.

Suggerirò un’altra funzionalità in questa direzione anche qui

1 Mi Piace

Grazie.

1 Mi Piace

Questo è importante e appena scoperto, mettendo insieme 2 e 2: se prima non avevi CSP abilitato e usi ad esempio Google Adsense, distruggerai i tuoi annunci abilitando CSP se usi la crittografia (DM) per far funzionare il componente di Twitter poiché c’è un potenziale conflitto!

Mi piacerebbe essere smentito con una super soluzione o “l’hai fatto male”

2 Mi Piace

Presumendo che il oneboxing tramite API ora richieda un abbonamento a pagamento a Twitter, questo metodo potrebbe/dovrebbe essere aggiunto al core di Discourse? Le grandi community aziendali possono permettersi le tariffe di Elon, ma sono fuori dalla portata delle organizzazioni non profit e delle piccole community.

Questa idea ottiene il supporto da @team?

L’erosione di Twitter è un caso difficile da gestire. È ancora la fonte numero 1 per la maggior parte delle notizie ed eventi, utilizzata da media, aziende e persone di interesse. Nonostante la scossa di Elon, non esiste un concorrente o un’alternativa credibile per la piattaforma.

2 Mi Piace

Purtroppo, questo componente non funziona sulla mia istanza Discourse. Abbiamo rimosso le chiavi di accesso di Twitter, eppure ancora niente. Abbiamo anche abilitato CSP.

2 Mi Piace

Ciao ljpp,

La perdita di rich embed non è certamente desiderata e ne stiamo discutendo per vedere cosa si può fare al riguardo. :slight_smile:

Quando incolli un link di Twitter nel composer, cosa restituisce la scheda di rete degli strumenti per sviluppatori del tuo browser?
Ci sono errori nella console JavaScript?

3 Mi Piace

Ci stiamo pensando, ma ci sono due problemi molto grandi da affrontare qui:

  1. IFRAME significa che permettiamo a Twitter di tracciare gli utenti. Ci sono preoccupazioni per la privacy.
  2. IFRAME significa che dobbiamo combattere la guerra dell’altezza “sconosciuta”. Se non abbiamo un’altezza e la otteniamo solo dopo aver parlato con Twitter, la pagina diventa saltellante, il che può influire pesantemente sull’esperienza di Discourse. Capire l’altezza in anticipo è molto difficile.
6 Mi Piace

Assolutamente. Questo workaround del componente tematico carica JavaScript dai server di Twitter e, considerando come sta andando Twitter in generale, questo è un enorme rischio per la privacy. Pertanto, sono riluttante ad applicare questo componente tematico, almeno per ora.

Caso complicato in effetti.

5 Mi Piace

Non sono molto sicuro di cosa guardare, ma ecco i risultati dopo aver incollato il link nell’editor:


e nell’anteprima ricevo questo messaggio:


Questo è il tweet:

2 Mi Piace

Aggiornamento:

Ora gli embed funzionano, ma l’anteprima del compositore mostra ancora il messaggio “Spiacenti, non siamo in grado di generare…”. Quando viene pubblicato, tutto sembra a posto.

2 Mi Piace