WebHookEventType e i plugin solved e assign

In questa (fantastica) modifica che ha aggiunto i webhook al plugin solved, alcune funzionalità relative ai tipi di evento webhook sono state spostate nel core.

Tuttavia, questo ha alcuni effetti collaterali indesiderati.

  1. Nelle istanze che non hanno installati i plugin solved o assign, i tipi di evento vengono visualizzati ma manca la traduzione e (ovviamente) gli eventi non sono disponibili, sebbene vengano mostrati.

  1. I plugin solved e assign sono attualmente rotti nelle nuove installazioni stabili e beta perché mancano i seeds.

Il mio primo pensiero era chiederti di eseguire il backport dei seed nella versione stabile per risolvere il problema #2, ma dato che esiste un bug aggiuntivo (#1), forse è meglio lasciare il codice di seeding nel plugin effettivo e semplicemente riservare gli ID nel codice del core.

In breve, penso che sia meglio spostare il codice

WebHookEventType.seed do |b|
  b.id = WebHookEventType::SOLVED
  b.name = "solved"
end

di nuovo nei plugin solved e assign.

8 Mi Piace

Grazie per averlo sollevato. Controllerò cosa possiamo fare affinché, se i plugin non sono installati, non vengano visualizzati nel core.

7 Mi Piace

Ottimo, grazie!
Potresti per favore provare a risolvere il fatto che è rotto anche nella versione stabile?

5 Mi Piace

È stata creata una correzione per questo:

Per quanto riguarda il punto #2:

Non sto riscontrando problemi nell’eseguire la versione stable (2.4.1) in locale con le ultime versioni dei plugin discourse-assign e discourse-solved.

Potresti fornire alcune informazioni su come posso replicare i problemi che stai riscontrando?

4 Mi Piace

Una nuova installazione su stable con l’ultima versione del plugin solved non avrà gli ID nella tabella web_hook_event_type, impedendo la visualizzazione del tipo di webhook.

Ciò è dovuto al fatto che il codice che popola gli ID è stato rimosso dal plugin solved e non è ancora presente nella versione stable/beta.

I siti già installati che avevano una versione precedente del plugin solved avranno già i dati di seeding e non presenteranno il problema.

Quindi, il passaggio per la replica è semplice: crea una nuova installazione su stable.

Installazione nuova e pulita su 2.4.1 con plugin solved: nessun webhook disponibile.

Eseguiamo manualmente il seeding, poi controlliamo di nuovo la schermata dei webhook e apparirà:

Oh, ok, quindi “rotto” significa che semplicemente non viene visualizzato.

Questo è previsto dal progetto. È una funzionalità disponibile dalla versione 2.5 in poi.

4 Mi Piace

Ok, hai perfettamente ragione, mi scuso per non essere stato chiaro. Stavo confondendo ‘rotto’ con ‘non disponibile’, e dato che si tratta di una nuova funzionalità, in effetti non c’è nulla di rotto.

Tuttavia, mi sembra un po’ strano che il codice di seeding per un plugin venga spostato nel core. Capisco che tu voglia riservare gli ID, ma penso che sarebbe più pulito lasciare il seeding nel plugin. Ma questa è solo la mia opinione personale :wink:

3 Mi Piace