Aperçus de la liste de sujets (TLP)

Eh bien, il semble que ce composant n’ait pas encore été mis à jour pour les listes de sujets Glimmer dans tous les cas :

3 « J'aime »

J’utilise si rarement un téléphone, mais je suis tout à fait sûr que cela fait partie de cette conversation. J’ai mis à jour assez tard hier et les utilisateurs ont commencé à se plaindre. Et j’ai pris votre correctif il y a quelques minutes. Le thème est celui par défaut de Discourse.

J’ai vérifié ici et je suis presque sûr que le dernier avatar n’était pas utilisé ici non plus.

Ce n’est tout simplement pas joli. Mais ce n’est pas seulement votre problème, les deux composants similaires affichent maintenant à la fois l’avatar et la miniature. Bien sûr, je sais comment masquer les avatars, c’est donc une solution facile.

Honnêtement, je ne sais pas s’il n’y a pas plus que (mon) question de goût. Mais quelque chose a changé, sinon mes utilisateurs ne commenceraient pas à demander. Je suis un peu en avance maintenant, car ici il est seulement 6 heures et je n’ai pas encore eu de confirmations sur ce qui est réellement désactivé.

1 « J'aime »

Ce n’est pas intentionnel et, à mon avis, cela a l’air terrible, mais je ne peux pas le reproduire.

Comme le montre ma capture d’écran, cela ne se produit pas sur mes instances.

Veuillez vous assurer qu’aucun autre composant actif n’influence la présentation de la liste des sujets. Il s’agit maintenant d’une API et d’autres composants peuvent interférer s’ils sont actifs. Voyez ensuite si cela persiste. Partagez ensuite vos paramètres si c’est le cas.

1 « J'aime »

Et d’ailleurs, ce composant thématique n’a jamais été conçu pour être compatible avec tout autre composant qui influence la liste des sujets, alors n’hésitez pas à expérimenter des combinaisons, mais il n’y a aucune garantie.

1 « J'aime »

Bien sûr, j’ai oublié de le dire, mais je l’ai essayé tout de suite comme seul composant. Parce que je vous fais confiance pour être sur la dernière version de Discourse, je dois demander pensez-vous qu’il y a une chance que cela vienne d’un plugin ?

Il se peut que j’aie manqué un cas limite. Pouvez-vous partager le code HTML d’un élément de la liste de sujets (toute la ligne) ?

Ou envoyez-moi le lien web en message privé

Ça suffit ?

html snippet
<tr data-creator-name="Jagster" id="ember42" class="topic-list-item category-chattifoorumi tag-meemit has-excerpt visited ember-view">
<div class="hidden">
<div class="hidden">
<td class="topic-list-data">
<div class="pull-left">
<a href="/t/meemit-ja-muut-tuplavitsit/1263/549" aria-label="Profil de l'utilisateur Jagster, dernier auteur" data-user-card="Jagster">
<img alt width="48" height="48" src="/user_avatar/foorumi.katiska.eu/jagster/96/6057_2.png" class="avatar" title="Jagster">
</a>
</div>
<div class="topic-item-metadata right">
<span id="_render_glimmer_25" class="hbr-ember-outlet">
<div class="topic-thumbnail">
<a>
<img class="thumbnail non-tiles-thumbnail" src="https://cdnfoorumi.katiska.eu/optimized/2X/b/b5fdeed33ad48a86cc12ecb1fb0acfc55f62247c_2_536x800.jpeg" loading="lazy">
</a>
</div>
</span>
<div class="main-link">

Oh mon dieu… ça a l’air mal. Difficile à lire.

Eh bien, l’URL est de toute façon publique et je ne pense pas qu’un forum finlandais entier suscite un quelconque intérêt — et au cas où quelqu’un verrait un lien comme du spam, il est facile de le modifier par la suite.

https://foorumi.katiska.eu (ne réveillons pas les systèmes automatiques) et faites défiler quelques lignes. Vous le trouverez. Et si vous voulez une vue plus propre, le thème test est une bonne option.

2 « J'aime »

Parfait.

La ligne qui pose problème est la suivante :

<tr data-creator-name="Jagster" id="ember42" class="topic-list-item category-chattifoorumi tag-meemit has-excerpt liked visited ember-view">

Cette classe devrait contenir has-thumbnail pour que le CSS masque l’avatar…

Je vais vérifier que cette affectation fonctionne sur la toute dernière version de Discourse.

2 « J'aime »

Essentiellement, cela fait la même chose, mais de manière plus courte et conditionnelle, ce que j’utilisais pour les mobiles ?

.topic-list td div.pull-left a {
    display: none;
}
.topic-list td div.right {
    margin-left: 0px;
}
1 « J'aime »

Oui :

1 « J'aime »

Impossible de reproduire votre problème sur le dernier commit, ni dans Latest at home ni dans Category. :frowning:

Assurez-vous que le paramètre Glimmer Topic List est activé, pas automatique ?

1 « J'aime »

C’est en automatique :flushed_face: Je vais changer ça.

edit
Oh mince — c’était ça.

Donc automatique, ce qui inclut activé, n’est pas la même chose qu’activé. Y a-t-il un mécanisme qui doit explicitement dire à Glimmer que c’est bon, à moins qu’il ne revienne à l’ancien système ?

3 « J'aime »

C’est une information très utile.

Et surprenant ! Au moins, mes instructions d’installation étaient correctes :slight_smile:

Je vais vérifier avec David.

2 « J'aime »

Pour l’instant, il y a ceci :

Je pense qu’il pense que quelque chose n’est pas compatible, il se rabat donc sur l’ancien système.

3 « J'aime »

Exactement. « Auto » sera identique à « activé » si tous vos thèmes et plugins installés sont compatibles avec les mises à niveau.

S’ils ne sont pas compatibles, cela agira comme « désactivé », et un message sera affiché dans la console du navigateur expliquant quel thème/plugin doit être mis à niveau.

Pour nos thèmes/plugins officiels, nous les avons rendus compatibles simultanément avec les anciennes et les nouvelles implémentations de listes de sujets, afin que les utilisateurs puissent mettre à niveau d’autres thèmes et plugins un par un sans avoir à se soucier du paramètre du site. Le basculement d’implémentation se produira alors automatiquement une fois que le dernier thème/plugin sera prêt.

Cependant, assurer la rétrocompatibilité demande beaucoup plus de travail, surtout dans les cas complexes. Je comprends donc pourquoi cela a été négligé pour les aperçus de listes de sujets :+1:

Une chose que vous pourriez faire ici @robert est d’ajouter une erreur claire pour les utilisateurs ? Quelque chose comme

import { withSilencedDeprecations } from "discourse/lib/deprecated";

...

withSilencedDeprecations("discourse.hbr-topic-list-overrides", () => {
    api.modifyClass("component:topic-list", {
      init(){
        alert("topic-list-previews ne peut pas être exécuté en même temps que d'autres thèmes/plugins incompatibles avec la liste de sujets glimmer. Voir https://meta.discourse.org/t/209973/521 pour plus de détails");
        return this._super(...arguments);
      }
    });
  });

Cela modifiera l’ancienne liste de sujets pour afficher une erreur si elle est rendue pendant que topic-list-previews est en cours d’exécution.

5 « J'aime »

Extrêmement utile, merci, je vais ajouter.

Oui, je dois être rationnel quant au temps que je passe :sweat_smile: donc la rétrocompatibilité a été abandonnée.

Cependant, la mise à jour est épinglée, donc une solution intermédiaire.

3 « J'aime »

Merci David, j’ai utilisé celui-ci dans un de mes composants de thème. Mais avant, j’ai trouvé cela dans le dépôt de plugins résolus et j’avais aussi utilisé site.useGlimmerTopicList, qui semble également fonctionner. Est-ce aussi une bonne option ? Je l’ai utilisé dans des initialisateurs et dans le template.

2 « J'aime »

C’est bon pour le moment, mais il sera supprimé (c’est-à-dire qu’il deviendra undefined) une fois que la liste des sujets Glimmer sera la seule option. Assurez-vous donc de l’utiliser comme ceci

if(!site.useGlimmerTopicList){
  // faire l'ancienne chose
}

et pas comme ceci

if(site.useGlimmerTopicList){
  // faire la nouvelle chose
}
4 « J'aime »

Au fait, j’ai ajouté :

Merci beaucoup.

@Jagster si tu as le temps, pourrais-tu s’il te plaît mettre à jour, régler sur Auto et vérifier si cela apparaît ?

3 « J'aime »

Au fait, @david pour information, il faut aussi une suppression eslint je pense ? (et pluginId)

2 « J'aime »