Stai dicendo che in precedenza avevi regole che creavano thread e, con l’ultimo aggiornamento, non funzionano più? O ti aspettavi che con l’aggiornamento iniziassero a creare thread, ma non lo stanno facendo?
Sto eseguendo Discourse 093ee1d80c e discourse-chat-integration da91061 (aggiornato all’ultima versione), e il mio canale con regole thread crea correttamente thread per le risposte, ma solo per i canali configurati con regole thread.
Puoi mostrarmi la tua configurazione per una regola di thread? In Amministrazione → Plugin → Integrazioni Chat dovresti vedere regole che indicano
Come vedi sopra, la motivazione è che questa è una configurazione per regola, non per sito.
Quando imposti una regola dal comando /discourse in Slack (o dal comando che hai scelto durante la configurazione dell’integrazione), usa thread invece di watch o follow, come documentato in Discourse Chat Integration
Ok, quindi devo passare attraverso le integrazioni di Slack e cambiare ogni singola istanza di: All Posts and Replies < All posts with threaded replies.
Finora stiamo mostrando tutti i post e le risposte nella maggior parte delle integrazioni dei canali. Può creare problemi mostrare d’ora in avanti solo tutti i post con risposte a thread? Lo chiedo anche perché ho molti canali da riconfigurare, quindi è meglio che io lo riassegni correttamente la prima volta.
Se ho capito bene la tua domanda: no, non “romperà nulla” — è progettato per essere sicuro nel senso che non impedirà mai l’invio di una nuova notifica a Slack; semplicemente, se l’integrazione conosce un thread, invierà il messaggio lì invece che al canale. Se per qualsiasi motivo non è a conoscenza del contesto di un thread, invierà il messaggio al canale come configurato nella regola.
“Tutti i post con risposte in thread” significa che:
Quando viene aggiunto un nuovo post a un argomento esistente:
Se è stato memorizzato un ID thread per l’argomento, utilizzalo per pubblicare un thread
Se non è stato memorizzato alcun ID thread per l’argomento, dopo aver inviato la notifica a Slack, utilizza l’ID thread del nuovo post Slack per i post successivi sull’argomento. Da quel momento in poi, inizierà a creare thread.
Quando viene pubblicato un nuovo argomento su Slack, memorizza il relativo ID thread risultante in modo che i post aggiuntivi su quell’argomento vengano inviati a Slack come risposte in thread.
Riassumo dicendo: “agisci esattamente come watch, tranne che se conosce un thread a cui pubblicare, fallo invece”.
Inoltre, quando si utilizza la funzionalità “trascrizione” per pubblicare contenuti di Slack come nuovo argomento in Discourse, indipendentemente da qualsiasi impostazione della regola, cerca sempre di memorizzare l’ID thread, in modo che, se esiste già una regola threadoppure viene aggiunta in futuro, le risposte ai post sul nuovo argomento in Discourse vengano annunciate nel thread Slack appropriato.
Sono sicuro che le tue regole esistenti potrebbero essere modificate con qualche comando bin/rails c, ma non voglio farlo sul mio sito in produzione dove ho scelto intenzionalmente quali canali threadare e quali no, e sono troppo nuovo in Ruby per scrivere codice Ruby a caso come consiglio su un forum aspettandomi che non vada in tilt. Oltre al fatto che probabilmente inizia con DiscourseChat::Rule.where(, non potrò esserti di grande aiuto. Scusa!
@sunjam a proposito, apprezzo molto il fatto che tu abbia trovato questa funzionalità desiderabile e preziosa! (Soprattutto data l’ironia del fatto che a me personalmente non piacciono molto i thread di Slack e ho svolto questo lavoro per altri che li trovano più utili di quanto lo sia per me!)
Posso immaginare che abbia senso aggiungere un pulsante nell’interfaccia utente per convertire tutte le regole watch in regole thread. Tuttavia, non ne so abbastanza per farlo e non lo userei nemmeno io. Sono davvero uno sviluppatore backend che si cimenta con Discourse, quindi non sarei nemmeno un revisore utile per una PR che aggiunga un tale pulsante. Tutto ciò che posso fare è fare il tifoso senza impegno se qualcun altro vuole implementare questa funzionalità.
Ho individuato un problema, @mcdanlj. Quando si crea una nuova integrazione di canale, le risposte in thread non vengono visualizzate nei test della versione beta 2.6 per i filtri. Una volta creata l’integrazione, l’opzione diventa disponibile modificando l’integrazione stessa.
Vedo la stessa cosa ora; non avevo nemmeno notato l’interfaccia utente per quello e ho creato le mie regole con i comandi slash da Slack.
Per quanto riguarda la mia limitata comprensione del codice front-end, penso che questo sia un artefatto del codice che @david ha chiesto per nascondere thread dagli altri tipi di integrazione:
Ma sono davvero uno sviluppatore backend e non so come risolvere questo problema. Non so perché channel.provider sarebbe slack solo quando si modifica una regola esistente e non quando se ne crea una nuova.
@sunjam A proposito, dopo aver deciso di spostare la maggior parte, ma non tutte, le mie regole di integrazione Slack da watch a thread, ho provato la tua stessa frustrazione. Gli occhi mi si sono annebbiati e sono stato felice di aver finito. Quindi non sono sicuro che avrei fatto qualcosa di diverso nel mio lavoro, ma non sminuisco lo sforzo richiesto per la conversione. Almeno è un costo una tantum.
Se esistesse un comando in una riga da eseguire nella console di Rails per convertire tutte le regole watch normali in regole thread, non l’ho ancora scoperto — altrimenti lo avrei usato e poi avrei riconvertito le poche regole che volevo mantenere come regole watch.
Le risposte ai thread vengono visualizzate in Tutti i non letti e Thread nella tua interfaccia Slack? Ho visto apparire nuovi post, ma le risposte ai thread non sembrano attivare queste notifiche.
I messaggi pubblicati da Discourse non generano notifiche diverse rispetto a qualsiasi altro thread su Slack, ma questo esula da Discourse e riguarda il funzionamento delle notifiche dei thread su Slack. Penso che le regole delle notifiche dei thread su Slack non siano ottimali, ma non è come se Slack fosse un progetto open source a cui chiunque possa contribuire con miglioramenti. Per ricevere notifiche sui nuovi messaggi in un thread, devi partecipare o iscriverti al thread. Almeno, questa è la regola questa settimana. Credo che all’origine, quando i thread sono stati introdotti per la prima volta su Slack, seguissero le regole di notifica del canale. Non riesco a trovare alcuna impostazione in Slack per attivare notifiche nei thread che seguano quelle dei canali, e questo mi fa impazzire perché per questo motivo perdo informazioni importanti al lavoro.
Odio così tanto l’implementazione dei thread di Slack che è davvero ironico che sia stato io a implementare questa funzionalità. Ma credo anche di essere in minoranza, e l’ho realizzata per rendere Discourse più accogliente per la maggioranza che apprezza davvero i thread di Slack.
Grazie per la chiarificazione. Sembra che chi è coinvolto in ThreadExample vedrà le risposte in thread, il che funziona abbastanza bene. In ogni caso, questa è un’opzione molto utile per ridurre il disordine sulla parte di Slack, e spero che ispiri anche altre integrazioni di chat a incorporare varianti simili di questo concetto!
È vero, quando “coloro coinvolti” include coloro che aprono il menu con i tre puntini verticali nella discussione e scelgono “Segui discussione” (la prima opzione).
Ho appena notato che c’erano delle bozze più avanti nella discussione, ma non ho mai condiviso un esempio di questa funzionalità in azione. Quindi, da oggi, nel canale Slack per https://forum.makerforums.info/c/k40 abbiamo questo:
Mille grazie a @david per aver corretto il mio bug che impediva la corretta gestione dell’impostazione thread_id durante la pubblicazione delle trascrizioni, facendole invece pubblicare nel canale!
Grazie mille per aver abilitato la sincronizzazione dei thread di Discourse su Slack. Ho notato un problema: se incollo un link su una riga propria per generare un onebox, questo viene completamente rimosso dal messaggio pubblicato nel thread di Slack e vedo solo una riga vuota. Nel mio caso, il link era inserito tra due righe di testo, che sono state pubblicate correttamente.
Nulla di quanto ho fatto ha modificato il contenuto del messaggio pubblicato; a volte imposta solo un thread di destinazione.
Consiglio di aprire un rapporto di bug separato, in un thread a parte, per i problemi di formattazione nei messaggi pubblicati su Slack. Non ho esaminato né modificato quella parte.
TL;DR: Spostare gli argomenti è problematico quando si inviano risposte in thread su Slack.
Ho notato che spostare un argomento tra le categorie in Discourse sembra interrompere il threading nei canali Slack. Il problema si verifica quando qualcuno crea un argomento in una categoria e poi lo sposta in un’altra categoria configurata per un canale Slack diverso.
Poiché il Post A è stato spostato, non invia più le risposte in thread alla stessa posizione su Slack. Di conseguenza, le risposte non sono più visibili su Slack. Se mantieni le risposte singole (non in thread), eviterai questo potenziale problema.
Non sono sicuro, ma credo valga la pena notarlo. Una soluzione alternativa è rendere l’integrazione disponibile in un canale Slack aggiuntivo specifico, senza discussioni a thread, così da farla apparire in almeno un canale.