Les vues du sujet ne se mettent pas à jour lors des requêtes API REST

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 :

‘Discourse-Visible’: ‘true’,
‘Discourse-Logged-In’ : ‘true’,
‘Discourse-Present’: ‘true’,
‘Discourse-Track-View’: ‘true’,
‘Discourse-Track-View-Topic-Id’: 2214

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.

Merci beaucoup.

Est-ce que cela ne m’arrive qu’à moi ?

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.

Merci beaucoup.

Les requêtes API ne suivent pas les vues, inconditionnellement, par conception.

Je suppose que vous recherchez une demande de fonctionnalité ici pour vous permettre de suivre les vues via notre API, je vais donc la recatégoriser.

2 « J'aime »

hmmm :thinking:
Merci @sam mais je me demande pourquoi avant la version 3.4.0.beta-4 cela fonctionnait ?

Aussi, si User::last_seen_at est mis à jour, pourquoi pas les vues ?

Quand vous dites une fonctionnalité, vous voulez dire un plugin qui me permet de suivre les vues via l’API ?

Merci encore

@david pouvez-vous clarifier ici, y a-t-il un changement manquant dans le suivi des requêtes ?

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.

3 « J'aime »

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 :

:link: api-topic-views
https://github.com/gorfist/api-topic-views

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 !

1 « J'aime »

Merci beaucoup :+1: @Nima1
Je vais tester et je vous laisserai mes retours.

1 « J'aime »