Les membres des groupes cachés dans no_ads_for_groups voient toujours des publicités

J’ai besoin d’aide avec le lien Discourse Advertising Plugin (Ads).

J’essaie d’afficher des publicités à tout le monde, connecté ou déconnecté, quel que soit le niveau de confiance, à moins qu’ils ne soient membres du groupe « extra_special_members » - auquel cas ils devraient être exclus et ne pas voir de publicités.

J’ai modifié le paramètre adsense through trust level et l’ai défini sur TL4 (ce qui signifie que toute personne, quel que soit son niveau de confiance, verra des publicités).

J’ai également modifié le paramètre no ads for groups et appliqué un seul groupe, celui des « extra_special_members » (ce qui signifie que les utilisateurs de ce groupe ne verront pas de publicités).

Mon utilisateur de test est TL2 et est membre du groupe « extra_special_members » - mais mon utilisateur de test reçoit toujours des publicités.

Est-ce un bug ? :thinking:

Ou le paramètre adsense through trust level remplace-t-il d’une manière ou d’une autre le paramètre no ads for groups ? :thinking:

J’ai juste modifié mes paramètres pour que ce soit plus clair, si quelqu’un peut essayer de reproduire s’il vous plaît.

J’ai trouvé la cause du problème.

Mon groupe « extra_special_members » a la visibilité définie comme suit :

Qui peut voir ce groupe ? Propriétaires du groupe

Qui peut voir les membres de ce groupe ? Propriétaires du groupe

Ceci est configuré de sorte que les membres de ce groupe ne puissent pas se voir mutuellement, et plus important encore, que le nombre de personnes dans ce groupe (sensible) ne soit pas divulgué.

Si je :

  1. Crée un groupe appelé « hide-ads-test »
  2. Définis la visibilité sur « propriétaires du groupe, membres et modérateurs »
  3. Ajoute mon groupe de test TL2 « hide-ads-test »
  4. Ajoute le groupe « hide-ads-test » au paramètre no ads for groups

Alors mon utilisateur TL2 ne peut plus voir les publicités.

Dès que je change la visibilité du groupe de « propriétaires du groupe, membres et modérateurs » à « Propriétaires du groupe », les publicités réapparaissent instantanément :pensive:

C’est comme si le plugin publicitaire ne pouvait pas voir le groupe, il affiche donc simplement les publicités :thinking:

1 « J'aime »

Un développeur pourrait-il confirmer s’il s’agit d’un bug s’il vous plaît ? :thinking:

Si ce n’est pas un bug, alors je vais créer une mission rémunérée pour un fork du plugin :blush:

Oui, c’est un problème.

Le plugin publicitaire effectue toute la logique de « afficher ou ne pas afficher » les publicités en fonction des informations de groupe et de niveau de confiance qu’il obtient du serveur.

Étant donné que l’appartenance au groupe est masquée à l’utilisateur, le client n’a aucun moyen de déterminer que les publicités doivent être masquées.

Le code doit être réécrit afin que la logique réside côté serveur (probablement un champ sur l’utilisateur actuel indique « cet utilisateur a des publicités, ou cet utilisateur n’a pas de publicités »). C’est un changement plutôt important car une grande partie de la logique est maintenant implémentée en JavaScript et elle doit être déplacée vers Ruby.

Je mets un pr-welcome sur cela, si nous avons quelques demandes répétées à ce sujet, j’envisagerai d’accélérer le processus. C’est un changement complexe.

1 « J'aime »

@sam Je vous suis très reconnaissant pour cette explication détaillée, merci.

Je vais essayer de proposer une initiative :blush:

1 « J'aime »