Dans la dernière version 3.4.0.beta4-dev, j’ai remarqué que les vues de sujets ne se mettaient pas à jour lors de l’utilisation de requêtes API REST. Même en ajoutant des en-têtes comme Discourse-Visible, X-Requested-With ou même plus :
Je ne sais pas s’il s’agit d’un bug ou si c’est quelque chose qui est programmé ainsi. Mais dans les versions précédentes, ce comportement ne se produisait pas.
Je vous serais très reconnaissant si vous pouviez m’aider avec ce problème.
J’apprécierais vraiment toute aide que vous pourrez m’apporter pour résoudre ce problème. J’ai essayé plusieurs choses sans succès. Je pense avoir défini tous les en-têtes possibles que j’ai vus dans l’ingénierie inverse que j’ai effectuée, et les vues ne se mettent toujours pas à jour. Je pense qu’il doit y avoir un en-tête qui me manque.
Au fait, j’utilise des clés API d’administrateur au lieu de clés API d’utilisateur. J’espère que ce n’est pas un problème.
Les vues de sujets ont été migrées pour utiliser notre système de « vues de page du navigateur ». Cela signifie qu’elles n’incluent plus aucun type de requêtes d’API ou de robots d’exploration.
L’en-tête DISCOURSE_VISIBLE ne concerne que le système hérité de vues de page.
Si vous avez besoin que le trafic API (applications mobiles, intégrations, etc.) soit comptabilisé comme vues de sujet, j’ai publié un petit plugin qui fait exactement cela :
Il s’intègre à TopicsController#show et compte les requêtes API/User API éligibles comme vues de sujet, avec des options pour les en-têtes personnalisés, la limitation de débit, le filtrage des robots d’exploration et le suivi conscient de l’utilisateur.
Il est encore nouveau et pas encore entièrement éprouvé, mais il devrait bien fonctionner pour la plupart des installations auto-hébergées. Les commentaires ou les PR sont les bienvenus !