WebHookEventType et les plugins solved et assign

Dans ce (fantastique) changement qui a ajouté des webhooks au plugin solved, certaines fonctionnalités relatives aux types d’événements webhook ont été déplacées vers le cœur du système.

Cependant, cela entraîne certains effets secondaires indésirables.

  1. Sur les instances où les plugins solved ou assign ne sont pas installés, les types d’événements s’affichent mais la traduction est manquante et, bien sûr, les événements ne sont pas disponibles, même s’ils sont affichés.

  1. Les plugins solved et assign sont actuellement cassés sur les nouvelles installations stables et bêta car ils manquent des seeds.

Mon idée initiale était de vous demander de rétroporter les seeds vers la version stable pour corriger le problème #2, mais comme il y a un bug supplémentaire (#1), il serait peut-être préférable de laisser le code de seeding dans le plugin lui-même et de simplement réserver les identifiants dans le code du cœur.

Pour faire court, je pense qu’il serait préférable de déplacer le code :

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

à nouveau dans les plugins solved et assign.

8 « J'aime »

Merci d’avoir soulevé ce point. Je vais examiner ce que nous pouvons faire pour que, si les plugins ne sont pas installés, ils n’apparaissent pas dans le cœur.

7 « J'aime »

Super, merci !
Pourriez-vous s’il vous plaît régler le fait que cela fonctionne aussi mal sur la version stable ?

5 « J'aime »

Une correction a été créée pour cela :

Concernant le point #2 cependant :

Je ne constate aucun problème en exécutant la version stable (2.4.1) localement avec les dernières versions des plugins discourse-assign et discourse-solved.

Pourriez-vous fournir des informations sur la manière dont je peux reproduire les problèmes que vous rencontrez ?

4 « J'aime »

Une nouvelle installation sur la version stable avec la dernière version du plugin « solved » ne contiendra pas les identifiants dans la table web_hook_event_type, ce qui empêche le type de webhook d’apparaître.

Cela est dû au fait que le code qui insérait ces identifiants a été supprimé du plugin « solved » et n’est pas encore présent dans les versions stable ou bêta.

Les sites déjà installés avec une ancienne version du plugin « solved » disposent déjà des données de base et ne rencontreront donc pas ce problème.

La procédure de reproduction est donc simple : créez une toute nouvelle installation sur la version stable.

Installation nouvelle et propre sur la version 2.4.1 avec le plugin « solved » : aucun webhook disponible.

Exécutons manuellement l’insertion des données de base, puis regardons à nouveau l’écran des webhooks : ils apparaîtront alors.

Ah, d’accord, donc « cassé » signifie simplement qu’il n’apparaît pas.

C’est un comportement intentionnel. Il s’agit d’une fonctionnalité disponible à partir de la version 2.5.

4 « J'aime »

Ok, vous avez tout à fait raison, je m’excuse d’avoir été peu clair. J’ai confondu « cassé » et « non disponible », et comme il s’agit d’une nouvelle fonctionnalité, il n’y a effectivement rien de cassé.

Cependant, cela paraît un peu étrange que le code d’initialisation d’un plugin soit déplacé dans le cœur du système. Je comprends que vous souhaitiez réserver les identifiants, mais je pense qu’il serait plus propre de laisser l’initialisation dans le plugin. Mais ce n’est que mon avis personnel :wink:

3 « J'aime »