Peut-on masquer les sujets dans Unified New après qu'un utilisateur les a défilés ?

J’envisage d’utiliser la nouvelle vue Unified New comme flux principal ou page d’accueil de mon site Discourse, mais j’aimerais qu’elle se comporte un peu plus comme X/Twitter ou Facebook.

Ce que j’essaie d’atteindre est le suivant :

  • Un sujet apparaît dans le flux Unified New.

  • L’utilisateur fait défiler la page et le sujet est devenu visible dans sa zone de visualisation.

  • Une fois qu’il est passé outre, Discourse considère ce sujet comme « vu » ou ignoré pour cet utilisateur.

  • S’il actualise la page ou revient plus tard à /new, ce sujet n’apparaît plus.

Idéalement, je ne voudrais pas que la ligne disparaisse immédiatement pendant le défilement, car cela pourrait provoquer des sauts de page. Je voudrais simplement qu’il soit marqué comme vu/ignoré en arrière-plan, afin qu’il soit absent au chargement suivant.

J’utilise également le plugin Don’s Topic Preview Modal, qui précharge déjà les sujets autour de la zone de visualisation. En raison de cela, je voudrais distinguer un sujet simplement préchargé et un sujet que l’utilisateur voit réellement.

Par exemple, quelque chose dans ce genre :

Le sujet est au moins 50 % visible pendant 200 à 400 ms → marqué comme vu → l’utilisateur passe outre → ignoré de Unified New.

Quelqu’un a-t-il déjà implémenté quelque chose de similaire ?

Existe-t-il une API Discourse ou une méthode frontend existante pour ignorer un sujet individuel de Unified New pour l’utilisateur actuel, ou cela nécessiterait-il un plugin/composant de thème ?

J’essaie essentiellement de transformer Unified New en un flux de défilement plus personnalisé de « choses que vous n’avez pas encore vues », plutôt que d’obliger l’utilisateur à ouvrir chaque sujet.

4 « J'aime »

Je ne pense pas que ce soit une fonctionnalité existante pour le moment, je vais donc déplacer cette demande vers Contribute > Feature.

Bien que les actions groupées existent, cela ne me semble pas très fluide de simplement « cocher » un élément en faisant défiler la liste.

1 « J'aime »

Comme la modale du sujet utilise déjà le pré-chargement, je vais voir si je peux créer un composant qui se ferme dès que le pré-chargement a lieu.

Y a-t-il un moyen d’afficher /new comme page d’accueil uniquement pour les utilisateurs connectés ? Évidemment, les utilisateurs déconnectés reçoivent une erreur 404.

Est-ce que ça aide ?

Vous pouvez remplacer « latest » par « new » ici. J’ai essayé et je pense que ça fonctionne.

Il y a également Custom Homepage for Groups, qui devrait fonctionner en utilisant le groupe trust_level_0, auquel tous les utilisateurs sont automatiquement ajoutés.

2 « J'aime »

Je savais maintenant qu’il existait une façon plus simple de le faire… il ne s’agissait que de la trouver.

1 « J'aime »

Ce sujet peut être fermé ou supprimé. Je n’ai pas bien compris ce que faisait la commande /new ; je pensais qu’elle affichait les messages publiés au cours des x dernières heures. Or, ce n’est manifestement pas le cas, ce qui donne aux nouveaux utilisateurs une page vide.

1 « J'aime »