Notes de version de Discourse 2.5.0.beta5

Nouvelles fonctionnalités dans 2.5.0.beta5

Miniatures des sujets et modificateurs de thème

La possibilité d’afficher des miniatures pour les sujets est une fonctionnalité demandée depuis longtemps. Historiquement, pour afficher de telles images, un plugin était requis. Dans la version bêta 5, nous avons ajouté le support des modificateurs de thème, y compris les miniatures de sujets, les icônes SVG et les extraits de sujets. Les développeurs de thèmes peuvent tirer parti de ces nouvelles options lors du développement ou de la mise à jour de leur thème. Pour plus de détails sur les modificateurs de thème, consultez : Theme modifiers: A brief introduction.

Support des raccourcis d’application

Discourse prend désormais en charge le nouveau menu de raccourcis d’application, une fonctionnalité navigateur à venir concernant les PWA installées. Les raccourcis d’application sont actuellement pris en charge sur Android et Windows.

Un clic droit ou un appui long sur les plateformes tactiles sur l’icône de votre instance Discourse PWA affichera un menu d’accès rapide avec des raccourcis utiles :

Pour plus de détails et des captures d’écran, consultez App Shortcut Menu support

Suppression des webhooks obsolètes

L’année dernière (Discourse 2.3.0.beta7), nous avons publié la file d’attente de révision, une vue unique pour tous les éléments révisables tels que les signalements, les utilisateurs, les messages et les sujets. Les webhooks existants, y compris flag et queued post, sont restés, mais ont été dupliqués par le webhook reviewable. Nous avons désormais supprimé les anciens webhooks au profit du webhook unique reviewable.

Sélecteur d’icônes et téléchargeur d’images pour les attributs d’avatar

Pour faciliter encore davantage l’ajout d’attributs d’avatar, nous avons remplacé le champ d’URL d’image par des options permettant de sélectionner une icône Font Awesome ou de télécharger directement une image.

Message personnel lors de l’acceptation d’une adhésion au groupe

Les utilisateurs reçoivent actuellement une notification lorsque leur demande d’adhésion à un groupe privé est acceptée. Désormais, nous envoyons un MP, afin que les utilisateurs qui n’accèdent pas au site reçoivent également un e-mail. Le texte par défaut du MP est :

Votre demande d’entrée dans @group_name a été acceptée et vous êtes désormais membre.

Comme pour tous les textes dans Discourse, cela peut être personnalisé par les administrateurs du site selon les besoins.

Support de PostgreSQL 12

Notre image de base a été mise à jour pour prendre en charge PostgreSQL 12. PostgreSQL 12 apporte de nombreuses améliorations qui seront automatiquement exploitées par Discourse. Pour mettre à niveau votre site vers PostgreSQL 12, deux reconstructions consécutives seront nécessaires. Pour plus de détails, y compris des informations sur l’espace disque requis, la mise à niveau de deux installations de conteneurs et les mises à niveau manuelles, consultez PostgreSQL 12 update.

Publication de Discourse 2.5 plus tard le mois prochain - Fin du support d’IE 11

Le support d’Internet Explorer 11 prendra fin prochainement. Nous prévoyons de publier Discourse 2.5 plus tard ce mois-ci, permettant aux sites ayant des utilisateurs toujours bloqués sur IE11 une version complète pour effectuer la transition. Discourse 2.6.beta1 et les versions futures ne supporteront plus IE11.

35 « J'aime »

Encore plus !

Mais attendez, il y a encore mieux ! Nous faisons de notre mieux pour mettre en évidence les nouvelles fonctionnalités et les modifications pour vous, mais il y a toujours trop de changements à détailler. Pour une liste complète des nouvelles fonctionnalités, des corrections de bugs, des améliorations de l’expérience utilisateur (UX) et plus encore, assurez-vous de consulter les Fonctionnalités et corrections supplémentaires listées ci-dessous.

Mises à jour de sécurité

Cette version bêta inclut 4 correctifs de sécurité pour des problèmes signalés par notre communauté et HackerOne.

  • Réajout d’un commit accidentellement rétabli :
  • Garantir que embed_url contient une URI http(s) valide
  • Exécution ERB dans un style d’e-mail personnalisé
  • Mise à jour de jQuery vers la version 3.5.0

Améliorations des plugins

De nombreux plugins

  • Ajout de rubocop-discourse
  • Corrections de bugs
    • Nous avons corrigé de nombreux bugs dans plusieurs de nos plugins

Encrypt (Chiffrement)

  • Suppression des instructions de réponse par e-mail des notifications de MP chiffrées - la réponse n’est pas prise en charge

Policy (Politique)

  • Les notifications de rappel de politique sont désormais prioritaires - utilisez l’icône de notification verte au lieu de bleue

Font Awesome Pro

Intégration Chat

  • Ajout de GroupMe en tant que fournisseur de chat pris en charge

Knowledge Explorer (Explorateur de connaissances)

  • Affichage de la fermeture d’un sujet dans la liste non répertoriée

Affiliate (Affiliation)

  • Ajout de la prise en charge des URL de recherche

Data Explorer (Explorateur de données)

  • Ajout de requêtes supplémentaires

Assign (Attribution)

  • Les notifications d’attribution sont désormais prioritaires - utilisez l’icône de notification verte au lieu de bleue
  • Affichage de l’avatar attribué dans le bouton et le menu déroulant

Subscriptions (Abonnements)

  • Utilisation de modèles pour stocker les données
    • Cela permet au plugin d’afficher uniquement les informations d’abonnement générées sur Discourse. Le stockage des données d’abonnement est limité aux identifiants externes générés par Stripe afin que nous puissions interagir avec l’API.

Zoom

  • Ajout d’une option pour utiliser l’URL de joining au lieu du SDK
  • Ajout de la possibilité de mettre à jour le titre/la date des entrées de webinaire passées

Voting (Vote)

  • Déplacement des votes archivés lors de la fusion de sujets

Code Review (Révision de code)

  • Ajout d’une option pour désactiver par défaut les nouvelles catégories créées par le plugin
  • Ajout d’une option pour définir une catégorie parente pour les nouvelles catégories créées par le plugin

Discourse Hub App (Android et iOS)

  • Ajout de la prise en charge des nouvelles notifications prioritaires (par exemple, signets avec rappels)
  • Amélioration de l’accessibilité des boutons
  • Correction d’un problème d’écran blanc dans certains cas rares lors du retour à l’application depuis l’arrière-plan

Fonctionnalités et corrections supplémentaires

Cliquez pour développer

Nouvelles fonctionnalités

  • Ajout d’un paramètre pour désactiver l’installation automatique des règles CORS dans les buckets S3
  • Permalinks pour les balises
  • Paramètre de catégorie pour le filtre de liste par défaut
  • Mise à jour de l’extrait de sujet lorsque l’auteur original (OP) est re-cuit
  • Ajout d’un paramètre de site pour la longueur maximale de l’extrait de sujet
  • Ajout de l’option « None » pour le cookie same-site afin de rendre possibles les systèmes interdomaines
  • Exposition de Composer.serializeToTopic dans l’API du plugin côté client
  • Extension de la durée autorisée pour le téléchargement
  • Ajout d’un point de terminaison pour les icônes SVG individuelles
  • Ajout de données structurées pour suivre les directives de Google
  • Introduction d’une clé de remplacement réservée au personnel pour discourse-presence
  • Ajout de l’en-tête noindex aux pages de balises
  • Autorisation de l’authentification par paramètre pour UserApiKeys
  • Autorisation des plugins d’enregistrer un callback pour ignorer DraftSequence
  • URL canonique par défaut
  • Passage d’une instance de revisor à l’événement Discourse post_edited
  • Ajout de l’en-tête noindex aux badges, groupes et pages /my
  • Permettre à Google d’indexer les pages afin qu’il puisse les supprimer
  • Ajout de l’en-tête no_index si robots est désactivé
  • Filtrage des paramètres par plugin
  • Renforcement des règles de limitation de débit pour l’oubli de mot de passe
  • Exclusion des catégories muettes de la liste des sujets « top »
  • Suppression optionnelle du signet lorsque le rappel est envoyé
  • Inclusion de la position de la catégorie lors de l’exportation des catégories
  • Onebox vidéo Reddit
  • Onebox vidéo Facebook
  • Nokogumbo

Corrections de bugs

  • Amélioration du script de réduction de taille des images
  • Retourne false si l’URL de téléchargement est un lien mailto invalide
  • Relecture pour l’avertissement sur le sujet dominant
  • Bug de concurrence lors de la création des miniatures de sujets
  • Ne pas répondre avec l’erreur 500 si le domaine est invalide lors de l’ajout d’un domaine d’appartenance automatique
  • Ne pas autoriser la balise avec le nom « none »
  • Bannir correctement les utilisateurs non humains du système de brouillon
  • Inclusion de lazyYT-container dans le HTML du message cuit
  • La documentation utilisait une fonction incorrecte
  • Les styles d’e-mail ont été évalués dans le désordre
  • Lors de la création d’un nouveau MP, le nom d’utilisateur/groupe doit être insensible à la casse
  • Pas besoin de mettre en minuscules une deuxième fois
  • Ignorer le travail ponctuel pour les groupes avec une URL de blason invalide
  • Ne pas revenir à la colonne flair_url
  • Conserver le titre et la réponse du compositeur lors du passage au MP
  • La destruction d’un utilisateur a échoué lorsqu’il avait un titre
  • La carte de groupe n’apparaît pas si l’utilisateur ne peut pas voir ses membres
  • Appel explicite de la méthode getURL pour empêcher la redéfinition du contexte this
  • Alignement double bouton mobile
  • Meilleur alignement des boutons de pied de page des sujets entre les navigateurs
  • Nous ne créons pas d’objet Post si le message en file d’attente est rejeté. Nous devons compter les éléments de révision directement.
  • Rechargement en direct du CSS en développement
  • Suppression de la clé étrangère du contrôle d’accès des messages des téléversements
  • L’entrée de balise indique que les balises sont facultatives alors qu’elles sont obligatoires
  • Autorisation de l’utilisation du client_id de l’application GitHub pour la configuration OAuth
  • Assure que le sélecteur de catégorie est insensible à la casse
  • Ajout des balises manquantes à l’en-tête de la page publiée
  • Le donneur de badge était désactivé par défaut
  • Sidekiq utilise _forim_session
  • Affichage des compteurs du personnel si le nombre de messages rejetés est la seule valeur à afficher
  • Les requêtes n’étaient pas enregistrées correctement
  • Le chemin devrait être addon et non app
  • Autorisation du fonctionnement de la dépréciation avec Ember CLI
  • Select-kit était à la mauvaise place
  • Mise à jour de default_template.html
  • guidFor ne fait pas partie de Ember.Object
  • Ne pas paramétrer tag_id
  • Ne pas faire exploser lors de l’analyse d’URL invalides ou non-ASCII
  • Émission de webhooks pour les signalements
  • Ne pas définir de valeur par défaut pour les webhooks sans événements
  • Les migrations ne doivent pas échouer lorsque la base de données est partiellement migrée
  • Passage de discobot à l’extraction de l’avatar depuis Gravatar
  • Suppression de toutes les données associées lors de la suppression d’un utilisateur
  • Le stockage S3 has_been_uploaded? ne prenait pas en compte le chemin du bucket S3
  • La restauration des sauvegardes pouvait échouer pour les dumps de base de données > 8 Go
  • Vérification de la trace d’appel et des backtrace_locations avant d’essayer d’imprimer une erreur
  • La description de la catégorie « uncategorized » était vide
  • Affichage d’un message utile lors de l’échec du démarrage d’un plugin sans trace d’appel
  • GroupArchivedMessage appartient à Group, et non à User
  • Application de flex sur topic-footer-main-buttons
  • Jointure de la migration des signets sur les utilisateurs pour éviter les enregistrements d’utilisateurs manquants
  • Randomisation du nom de fichier lors de la création à partir de fixtures
  • Utilisation du dossier /tmp/pid pour conserver les fichiers de fixture
  • Passage de la version de rack de 2.0.8 à 2.2.2
  • La restauration de la sauvegarde n’a pas effacé les remplacements de traduction en cache
  • L’annulation de plusieurs remplacements de traduction n’a pas vidé le cache
  • Amélioration et correction d’une régression avec le sélecteur de catégorie
  • Chargement plus résilient et cohérent du sélecteur de date
  • Garantir qu’aucun téléchargement d’image n’a lieu lors de la sérialisation de la miniature du sujet
  • Permet de supprimer un minuteur de sujet avec delete_replies comme type
  • Garantit que hide est appelé lorsque la carte est détruite
  • Ne pas supprimer les mots vides lors de l’utilisation de la locale anglaise
  • Extraction de reset_last_seen_cache! dans user_spec
  • Le changement d’action du compositeur ne rafraîchit pas le contenu des actions du compositeur
  • Le composant était encore utilisé par l’explorateur de données
  • Inclusion des actifs CSS du plugin lors de l’aperçu des thèmes
  • Affichage d’un titre dans l’en-tête sk si aucun nom sélectionné
  • Correctif de version d’API du plugin
  • Utilisation des URL CDN pour les miniatures de sujets
  • Autorisation des migrations de messages utilisant #change pour effectuer une migration non sécurisée
  • Retour systématique de 0 pour le DraftSequence actuel de l’utilisateur non humain
  • La frappe WebAPK était cassée en raison des icônes de raccourci
  • Chute aléatoire de user_spec
  • Contournement du bug du serveur WebAPK avec des images sans tailles
  • Ne pas calculer le brouillon pour les bots sur la route d’index des catégories
  • Application du citation de code sans mise en évidence de la syntaxe
  • Utilisation des icônes appropriées pour le menu de raccourci d’application
  • Exécution des tests de cookie uniquement après la connexion
  • Autorisation de la récupération des miniatures lazy-yt par pull_hotlinked_images
  • Suppression de l’ancienne migration
  • Ne pas calculer le brouillon pour les (ro)bots :robot: dans la liste des sujets
  • Message d’erreur spécifique pour les réponses aux e-mails de résumé
  • Détection de Wayback Machine via l’agent utilisateur
  • Chargement de la locale en premier dans l’application assistant
  • Mise à jour de mini racer pour les dumps de mémoire corrects
  • Ne jamais sauvegarder le brouillon pendant qu’il est en cours de sauvegarde
  • Ne pas publier la présence de frappe si le compositeur n’est pas ouvert
  • Empêcher Safari de faire défiler lors de la fermeture du compositeur
  • Empêche SvgSprite.bundle d’interroger ThemeField deux fois
  • La présence du compositeur affiche l’utilisateur en train d’éditer lors de la réponse
  • Limitation de la fonction de frappe dans discourse-presence
  • Changement de l’URL /bookmarks vers la liste des sujets et ajout des avatars des auteurs de signets
  • Gestion de l’URL de retour SSO manquante du fournisseur
  • Prévention des conflits de noms de colonne dans le code révisable
  • Garantit que l’aperçu calcule correctement le fuseau horaire pour l’utilisateur actuel
  • Ajout du type aux icônes du menu de raccourci
  • Ne pas lever d’exception si un TopicLink ne peut pas être créé
  • Ajout des routes RSS manquantes à la liste blanche des paramètres de l’API
  • Affichage du bouton Paramètres si le plugin a des paramètres
  • La sauvegarde des brouillons augmente inconditionnellement la séquence
  • Suppression des barres obliques inutiles dans l’expression rationnelle
  • Ajout de tabindex=-1 sur les liens de publication tabLoc
  • Amélioration de l’accessibilité de la navigation du pied de page mobile
  • Définition d’un titre pour le bouton de notification
  • Plusieurs améliorations de schema.org
  • Le titre devrait tenter de revenir à l’étiquette avant le nom
  • Gestion d’un sujet supprimé lors de la génération de la miniature
  • Affichage du nom de la catégorie dans l’aperçu du badge lors de la modification
  • Empêche le rendu de topic-category s’il est vide
  • Arrêt de la suppression du titre par erreur
  • Défaut d’un titre vide à l’ouverture
  • Résolution des problèmes avec le prochain lundi pour les signets ne fonctionnant pas dans certaines locales
  • CurrentUser doit maintenant être passé à resolveTimezone et aux problèmes d’heure locale de la carte utilisateur
  • ESC pour fermer le compositeur de sujet de brouillon vide
  • Entrée modale de signet
  • Support de la transpilation JS dans les plugins avec un dossier admin racine
  • Quelques ajustements pour l’interface utilisateur du tableau
  • Ne pas déclencher l’événement user_updated pour les utilisateurs bots
  • Suppression de l’URI.escape déprécié
  • Ne pas autoriser les options null pour le gestionnaire de signets
  • Migration pour définir la colonne NOT NULL pour delete_when_reminder_sent sur les signets
  • Classe CSS incorrecte
  • Les parenthèses étaient incorrectes, résultant en une expression toujours vraie
  • preload-store a été supprimé
  • Amélioration du positionnement de sk sur mobile lorsqu’il est dans une modale
  • Affichage du bouton Signet pour les sujets MP
  • Amélioration de la logique de calcul de la chronologie des sujets
  • Correction du nom d’utilisateur de notification d’édition pour les MP
  • L’utilisation de default_locale dans les secours de locale a causé des problèmes
  • Rend can_invite_to_forum robuste face à l’interférence des plugins
  • Affichage de la date de clôture du sondage dans l’heure locale
  • Le preload-store a été déplacé
  • La date de fin des plages dans l’aperçu HTML était incorrecte
  • Changement du calcul du total des notifications non lues dans l’e-mail de résumé utilisateur
  • Discobot n’a pas été créé avec notre avatar personnalisé
  • Préservation des blocs de code lors de la citation
  • Tests instables. En raison des transitions CSS, l’opacité pourrait ne pas être 0 encore
  • Correction de l’enroulement des boutons avec des boutons plus grands
  • Éviter l’utilisation d’une table temporaire dans la migration de la base de données d’URL d’images
  • Résolution des problèmes de validation Schema.org
  • Application de sameWidth à partir d’une largeur d’écran de 450 px
  • Pré-sélection de « Plus tard aujourd’hui » lors de la modification du signet si l’heure est la même
  • Le fallback PostgreSQL était cassé en raison du masquage de l’exception par Rails
  • Amélioration du style de l’e-mail de résumé sur Outlook 2016
  • Retour à l’utilisation d’un observateur pour supporter le chargement de plus de notifications

Changements UX

  • Suppression de l’aperçu en direct du thème au profit du rafraîchissement
  • Nom d’utilisateur au lieu de username pour le titre du lien de profil
  • Ajout d’un titre pour le lien de profil utilisateur
  • Styles de bannière/alerte mobile plus cohérents, nettoyage CSS
  • Déplacement de editFirstPost dans les MP taggables dans le menu déroulant sur mobile
  • Suppression du texte des boutons de signet et de partage de MP
  • Renommage de « Modifier le message » en « Modifier »
  • Suppression du gras du texte du badge de catégorie
  • Amélioration du comportement de chargement du bouton de notification de sujet
  • Ajout d’un retour visuel lors du changement du niveau de notification du sujet
  • Suppression de la flèche du bouton de notification
  • Autorisation du cache des URL de médias sécurisées pour une courte période
  • Affichage de la flèche uniquement dans les listes déroulantes des boutons de pied de page du sujet
  • Permet à dropdown-select-box d’afficher une flèche
  • Récupération de miniatures YouTube de plus haute résolution là où disponible
  • Focus sur le nom de la catégorie lors de la modification de la catégorie
  • Ajout du texte copié lors du clic sur le bouton copier
  • Meilleure icône d’action du compositeur lors de la création d’un nouveau sujet
  • Ajout d’un symbole dans le rapport TL3 si le nombre de réponses au sujet est limité
  • Ne pas utiliser de petites images onebox comme images de message/sujet
  • Limitation des changements de clavier modal iOS au compositeur
  • Introduction des actions du compositeur lors de la modification d’un message
  • Ne pas désactiver le bouton « Créer un compte » et afficher le message d’erreur pour les champs obligatoires
  • Correction de la valeur codée en dur dans la description du badge Crazy in Love
  • Amélioration de l’affichage du message de validation du paramètre de site
  • Suppression du soulignement des éléments del et ins
  • Empêchement du chevauchement de la chronologie avec les boutons de pied de page du sujet
  • Amélioration de l’alignement et de la cohérence du bouton de fermeture de la bannière et de l’alerte
  • Correction du positionnement de la modale lorsque le clavier iOS est visible
  • Ajustement du menu d’administration pour mieux s’adapter aux vues (horizontales) courtes
  • Suppression du padding supérieur de la description de l’onebox Reddit
  • Suppression du gras pour désaccentuer les noms de catégories sur les sujets visités
  • Correction de l’alignement temporel sur les pages d’activité utilisateur
  • Ajout d’une propriété préfixée afin que Firefox obtienne également des onglets à 4 espaces dans le code
  • Tentative d’une meilleure utilisation de l’espace disponible avec sk
  • Ajustements de la suppression de signet
  • Amélioration de l’interface utilisateur du second facteur

Performance

  • Éviter la traversée du DOM dans loadScript
  • Suppression des clés étrangères des signets
  • Garantir l’exécution du GC complet sur les contextes
  • Dématérialisation de topic_reply_count
  • Éviter les conditions de course lors de la création de liens de sujet
  • Éviter d’exécuter la même requête deux fois
  • Éviter d’accéder à la base de données lors de la récupération de la séquence de brouillon d’un utilisateur bot
  • Réduction du verrouillage exclusif lors du changement de tables
  • Déplacement de la récupération de l’avatar dans hijack pour le certificat discobot
33 « J'aime »