Version 2.4 de Discourse

Focus

Codename

Start date

June 18th, 2019

Release date

Feb 25th, 2020

49 « J'aime »

NOUVELLES FONCTIONNALITÉS

  • Limiter le nombre de notifications par utilisateur à 10 000
  • Publier un message lorsque le réclamant d’une réclamation révisable change (#9019)
  • Les administrateurs peuvent configurer la fenêtre de délai de réclamation et décider si les publications signalées comme spam par des utilisateurs de niveau TL3+ sont automatiquement masquées (#9010)
  • Ajouter une prise de plugin sous la connexion/la création, et ajouter une prise sur mobile
  • Prendre en charge le téléchargement d’un fichier CSV contenant soit des adresses e-mail d’utilisateurs, soit des noms d’utilisateur (#8971)
  • Les utilisateurs ne peuvent pas signaler à nouveau des éléments récemment traités avec le même motif, sauf si la publication a été modifiée ou si elle a été révisée il y a plus de 24 heures (#8969)
  • Ajout d’une nouvelle API de plugin pour décorer les prises de plugin (#8937)
  • Amélioration des signets, partie 2 – Signets de sujets (#8954)
  • Exportation de la fonction defaultRenderTag (#8941)
  • Ajouter une petite publication d’action pour indiquer un e-mail transféré
  • Les publications en file d’attente sont incluses même si elles ne dépassent pas le seuil de priorité minimum (#8925)
  • Ajouter un journal lors de la réclamation et de la déréclamation des publications signalées révisables (#8920)
  • Prendre en charge les balises et attributs de sous-titres vidéo (#8914)
  • Ajout du rapport de croissance du niveau de confiance (#8878)
  • Ajouter un paramètre du site pour des hôtes spécifiques utilisant un agent utilisateur personnalisé lors d’un oneboxing
  • Autoriser les sondages à une seule option (#8853)
  • S’assurer que le champ short_name est toujours rempli dans le manifeste web
  • Ajouter une fonctionnalité de déconnexion au protocole du fournisseur SSO (#8816)
  • Ajouter un retour tactile lors des « J’aime »
  • Envoyer les utilisateurs suspects dans la file d’attente de révision (#8811)
  • Les utilisateurs peuvent mettre en avant n’importe quel sujet public sur leur profil (#8809)
  • Ajouter l’option « groupes » aux sondages (#8469)
  • Ajouter un message au journal lorsque les administrateurs sont automatiquement désactivés
  • Autoriser la recherche simultanée de sujets publics et de messages personnels (#8784)
  • Utiliser l’API Contact Picker pour les invitations
  • Remplacer les propriétaires de badges existants lors de l’utilisation de la fonctionnalité d’attribution en masse (#8770)
  • Mettre à jour le statut de sécurité des téléchargements lors du déplacement de publications, de la conversion de sujets ou du changement de catégorie (#8731)
  • Utiliser l’URL courte upload:// pour les vidéos et l’audio dans l’éditeur (#8760)
  • Exporter tous les types de rapports (#8748)
  • Supprimer le schéma « backup » 7 jours après la restauration
  • Les lignes contenant uniquement 1 à 3 emojis s’afficheront désormais sous forme de grands emojis
  • Sécuriser les médias en autorisant les téléchargements dupliqués avec des règles de confidentialité au niveau de la catégorie et d’accès basées sur les publications (#8664)
  • Permet de définir une durée de rejet pour les annonces globales (#8715)
  • Ajouter un paramètre caché pour désactiver la configuration du seau d’inventaire
  • Attribution en masse de badges (#8694)
  • Passer des noms d’utilisateur exclus au sélecteur d’utilisateurs (#8695)
  • Utiliser la nouvelle API Badging
  • Ajouter une tâche rake pour désactiver les médias sécurisés (#8669)
  • Activer CSP par défaut (#8665)
  • Prendre en charge les téléchargements de bases de données MaxMind à l’aide d’une clé de licence
  • Annonce globale de dépréciation d’Internet Explorer (#8577)
  • Le menu d’administration des sujets reste fixé en bas sur mobile (#8620)
  • Permet aux plugins d’ajouter une annonce globale (#8552)
  • Autoriser les promotions TL3 pour les pénalités annulées
  • Autoriser des paramètres de publication complexes provenant d’un plugin (#8598)
  • Ajouter le script d’importation mybb.ru (#8609)
  • Raccourci clavier pour ouvrir le menu d’administration des sujets (#8568)
  • Rendre « Réorganiser les catégories » compatible avec les catégories imbriquées (#8578)
  • Fenêtre modale pour le sujet mis en avant du profil et refactorisation de la clé de l’admin (#8545)
  • Suppression complète de unsafe-eval de CSP
  • Ajout d’un message lorsque les mots de passe ne correspondent pas dans rake admin:create (#8543)
  • Hachage des clés API dans la base de données (#8438)
  • Créer un plugin de support IE (#8520)
  • Avertissement lorsqu’un composant est ajouté mais non assigné (#8482)
  • Sujet mis en avant pour le profil et la carte utilisateur (#8461)
  • Ajouter un paramètre du site pour supprimer l’en-tête X-Frame-Options
  • Synonymes de balises
  • Ajouter l’attribut topic_filtered_posts_count au sérialiseur de publication de webhook
  • Capacité d’ajouter tous les composants actifs au thème (#8447)
  • Ajouter un paramètre caché pour autoriser unsafe-eval dans CSP
  • Prise de plugin adjacente au bouton Nouveau sujet (#8443)
  • Prendre en charge le collage d’une liste de noms d’utilisateur dans un MP
  • Améliorer la découverte des utilisateurs suspects
  • Faire en sorte que le contrôleur des textes du site gère les pages et les paramètres régionaux (#8408)
  • Capacité d’ajouter des composants à tous les thèmes (#8404)
  • Regrouper les notifications de demande d’appartenance à un groupe
  • Limiter le nombre de sessions actives pour un utilisateur (#8411)
  • Masquer les publications provenant d’e-mails entrants en fonction du verdict DMARC (#8333)
  • Option de diagramme circulaire pour les résultats des sondages (#8352)
  • Ajouter le fuseau horaire aux options utilisateur de base (#8380)
  • Nouvelle API pour appliquer des filtres personnalisés à la file d’attente de révision (#8392)
  • Ajouter un bouton d’exportation de sondage (#8370)
  • Prendre en charge l’algorithme RS256 pour WebAuthn (#8385)
  • Améliorer le flux de travail de changement d’e-mail
  • Normaliser la route du service worker (#8359)
  • Supprimer le support du paramètre de catégorie ‘suppress_from_latest’ (#8308)
  • Bloquer par défaut l’araignée SEO Screaming Frog
  • Introduire une limitation de débit par défaut au niveau de l’application par adresse IP
  • Ajouter le support des médias sécurisés (#7888)
  • Filtrer les éléments révisables par plage de dates (#8354)
  • Autoriser le ciblage de la recherche par balise (#8345)
  • Rejet nouveau par catégorie (#8330)
  • Envoyer un message aux nouveaux utilisateurs TL2 et les orienter vers le tutoriel avancé (#8335)
  • Redirection automatique vers l’authentificateur lorsqu’il n’y en a qu’un seul
  • Prendre en charge la désactivation de toutes les catégories par défaut (#8295)
  • Autoriser FinalDestination à utiliser un agent utilisateur personnalisé pour des hôtes spécifiques
  • Notifier les observateurs de balises lorsqu’une balise est ajoutée à une publication (#8299)
  • Charger les remplacements de traduction sans eval JavaScript
  • Refonte complète du système de clés API administrateur (#8284)
  • Ajouter un message de bienvenue pour les administrateurs (#8293)
  • Ajouter une méthode « init » pour les éléments de navigation supplémentaires
  • Autoriser la publication de la version de développement Docker localement ou sur tout le réseau
  • Recourir à l’alternative texte alternatif de l’image avant le nom de fichier s’il n’y a pas de titre dans les lightboxes (#8286)
  • Bouton Nouveau sujet sur l’intégration avec des paramètres (#8280)
  • Nouveaux paramètres du site pour les balises par défaut dans les préférences utilisateur (#8283)
  • Les catégories peuvent exiger que les sujets aient une balise issue d’un groupe de balises
  • Option pour mettre à jour les préférences de tous les utilisateurs lorsqu’un paramètre du site par défaut change
  • Arrêter la mise à jour de last_posted_at sur les utilisateurs pour les messages et les chuchotements
  • Autoriser l’envoi d’invitations en masse aux utilisateurs en attente
  • Supprimer les pièces jointes et tronquer le champ brut pour les e-mails entrants (#8253)
  • Paramètre du site/interface utilisateur permettant aux utilisateurs de définir leur groupe principal (#8244)
  • Ajouter l’en-tête de spam SES aux en-têtes de spam reconnus (#8254)
  • Message de bienvenue pour les modérateurs – ajouter une copie ! (#8246)
  • Ajouter le souvenir de la liste des sujets pour les MP de groupe (#8235)
  • Prendre en charge SCSS dans le style d’e-mail personnalisé
  • Les éditeurs de wiki peuvent modifier les balises pour les sujets wiki
  • Inclure l’URL de l’image dans le sérialiseur de sujets
  • Mémoriser la position de défilement dans les listes de messages privés (#8212)
  • Mémoriser la position dans les listes de messages privés
  • Paramètre caché expérimental pour les sauvegardes de brouillons
  • Autoriser le personnel à utiliser topic_url pour personnaliser le modèle d’e-mail
  • Améliorer la logique du pot de miel et du défi
  • Option pour mettre à jour les préférences de catégorie de tous les utilisateurs lorsqu’un paramètre du site change (#8180)
  • Utiliser l’attribut de relation « ugc » avec « nofollow »
  • Ajouter une description courte du site dans le titre de la page de connexion
  • Rechercher des sujets lors de l’ajout d’un lien dans l’éditeur (#8178)
  • Support de --fast-fail dans bin/turbo_rspec
  • Charger les prédateurs dans les plugins également (#8173)
  • Afficher les dates de création et de dernière utilisation pour les clés API
  • Oneboxes GitHub redessinées
  • Ajouter un paramètre du site pour afficher des erreurs 404 plus détaillées (#8014)
  • Utiliser une redirection de page complète pour toutes les méthodes d’authentification externes (#8092)
  • Améliorer le rendu des oneboxes de commits, PR et issues GitHub
  • Précision pondérée des utilisateurs révisables (#8156)
  • Les utilisateurs inexacts ont une précision de révision négative
  • Ajout d’un champ de saisie pour le nom lors de la création d’un nouvel authentificateur dans les préférences utilisateur
  • Ajout d’espaces réservés aux champs de saisie de l’authentificateur
  • Ajout d’une couche de protection supplémentaire lors de la décompression de fichiers
  • Autoriser UploadRecovery à être exécuté sur une seule publication (#8094)
  • Gestion de l’authentificateur WebAuthn avec connexion 2FA (clés de sécurité) (#8099)
  • Ajouter le contexte de sujet et de catégorie au payload du webhook de publication (#8110)
  • Le titre du sujet est validé pour les mots bloqués (#8127)
  • Prendre en charge les icônes masquables dans le manifeste PWA
  • Faire en sorte que le bouton de partage prenne en charge le JavaScript personnalisé (#8090)
  • Mettre sur liste blanche l’attribut iframe allowfullscreen (#8086)
  • Mettre à jour mini_scheduler pour prendre en charge le filtrage de l’historique
  • Autoriser l’intégration à ignorer HTTP REFERER
  • Panneaux d’accès rapide dans le menu utilisateur (#8073)
  • Nouvelle période d’édition de publication pour les utilisateurs >= tl2 (#8070)
  • Ajouter un seuil tl2 pour l’édition de nouvelles publications
  • Ajouter le nom d’utilisateur du créateur du sujet sur l’intégration de la liste des sujets
  • Ajouter une prise de plugin avant la progression du sujet
  • Ajout d’une fenêtre contextuelle affichant un score plus détaillé pour les éléments révisables (#8035)
  • Améliorer les performances du cache anonyme
  • Prendre en charge la prise de données de l’explorateur dans la navigation de groupe (#8063)
  • Suivre la date de dernière utilisation de la clé API
  • Intégrer un sujet avec des métadonnées détaillées (#8062)
  • Le cache anonyme envoie des données aux journaliers
  • Nouvel en-tête HTTP « Discourse-Render »
  • Notifier les auteurs lors de la restauration de publications signalées
  • Connexion avec Discord (#8053)
  • Ne pas remplacer ↔ par un emoji
  • Paramètres du site pour la liaison avec les applications natives iOS/Android
  • Ajouter un crochet après tous les initialiseurs
  • Autoriser les thèmes à télécharger des fichiers JS en tant que ressources
  • Ajout de l’attribut de compte à rebours à [date] (#8037)
  • Se protéger contre les attaques par rejeu lors de l’utilisation de TLS 1.3 0-RTT (#8020)
  • Autoriser les plugins à manipuler les paramètres du site pendant la restauration de sauvegarde
  • Traiter theme_uploads comme des paramètres en JavaScript
  • Publier l’état de lecture sur les messages de groupe (#7989)
  • Intégrer l’invite d’installation PWA dans l’interface utilisateur de Discourse (#8013)
  • Les emojis favoris s’afficheront également dans la saisie automatique de l’éditeur (#8011)
  • Ajouter un webhook pour les notifications utilisateur
  • Résultats de sondage réservés au personnel (#7984)
  • Intégrer la liste des sujets sur des sites distants via l’API JavaScript (#8008)
  • Ajouter le support du niveau de visibilité des membres du groupe (#8004)
  • Ajouter un aperçu à l’éditeur de sondages (#7988)
  • Autoriser les thèmes à remplacer les variables de transformation de couleur (#7987)
  • Authentification externe lors du rachat d’invitations
  • Ajouter un paramètre pour afficher le contenu des e-mails transférés dans les sujets (#7935)
  • Ajouter une option pour toujours envoyer des extraits dans les e-mails
  • Envoyer une notification lorsqu’un membre a été accepté dans un groupe (#7614)
  • Mentionner dans une catégorie sécurisée pour privilégier les groupes
  • Autoriser le verrouillage du processus de publication plus longtemps
  • Ajouter une installation de test à l’interface d’administration des mots surveillés
  • Améliorer les statistiques fournies par rake db:stats
  • Lister les modérateurs de catégorie sur la page À propos (#7916)
  • Personnalisation des e-mails HTML (#7934)
  • Générer de nouvelles clés VAPID lorsque base_url change
  • Synchroniser en direct l’état non lu avec les listes de sujets (#7933)
  • Ajouter des pièces jointes aux e-mails sortants
  • Ajouter un opérateur de recherche pour voir tous les messages directs d’un utilisateur (#7913)
  • Améliorations des mots surveillés (#7899)
  • Autoriser le téléchargement des mots surveillés
  • Autoriser l’effacement en masse des mots surveillés
  • Lister tous les mots bloqués contenus dans la publication lorsqu’elle est bloquée
  • Autoriser la visualisation des e-mails bruts pour les publications révisables en file d’attente (#8910)
  • Autoriser le choix de la catégorie lors de la mise en public d’un MP (#7907)
  • Permettre aux utilisateurs n’ayant aucune pénalité au cours des 6 derniers mois d’atteindre le niveau TL3 (#7892)
  • Envoyer un maximum de 200 e-mails par minute pour les invitations en masse (#7875)
  • Créer une tâche rake pour détruire les catégories
  • Nouveaux composants date/heure (#7898)
  • Conversion de gz en zip pour les exports (#7889)
  • Les exports administrateur/utilisateur sont compressés au format zip (#7784)
  • Créer une tâche rake pour détruire les catégories
  • Autoriser la personnalisation de robots.txt (#7884)
  • Faire fonctionner Discourse hors ligne avec WorkboxJS (#7870)
  • Utiliser les guillemets configurés dans le titre de sujet fancy
  • Paramètre du site pour les guillemets typographiques
  • Les exports administrateur/utilisateur sont compressés au format zip (#7784)
  • Remapper les téléchargements lors de la restauration lorsque S3 ou le CDN changent
  • Ajouter un paramètre caché pour inclure les téléchargements S3 dans les sauvegardes
  • Autoriser Markdown dans les annonces de publication (#7864)
  • Afficher les boutons de connexion et d’inscription sur la mise en page sans Ember (#7867)
  • Ajouter « Propriétaires de groupe » aux options de publication pour les groupes
  • Ajouter une nouvelle option de visibilité de groupe pour « utilisateurs connectés » (#7814)
  • Installateur de thèmes via rake (#7848)
  • Ajouter la langue biélorusse
  • Guidance facultative sur les sujets pour les utilisateurs sans accès (#7852)
  • Prendre en charge les paramètres de requête lors de la redirection vers un lien interne lors de la connexion (#7829)
  • Autoriser la désactivation des composants de thème (#7812)
  • Ajouter des classes CSS aux lignes de comptes associés
  • Désactiver la recherche en cas de charge extrême
  • Préremplir le titre pour les messages directs à partir d’un sujet
  • Ajout du défilement infini sur la page de liste des utilisateurs administrateurs (#8212)
  • Recherche in:tagged (côté serveur) (#7822)
  • Filtres de recherche avancée in:tagged et in:untagged
  • Exporter tout type de rapport prenant en charge le mode tableau (#7662)
  • Afficher les balises dans les résultats du menu de recherche lorsqu’elles sont activées (#7819)
  • Ajouter le support de la recherche par groupe de balises
  • Ajouter la capacité d’avoir plusieurs facteurs TOTP (#7626)
  • Ajouter un point de terminaison pour mettre à jour individuellement un paramètre de thème (#7789)
  • Appliquer une petite pénalité aux sujets fermés lors de la recherche (#7782)
  • Ajout d’un support préliminaire pour les nouveaux emojis (#7785)
7 « J'aime »

BUG FIXES

  • Make reviewable claiming work with deleted topics (#9040)
  • Sync Ember and non-Ember layouts (#9028)
  • Ensures topic count is correctly showing in box category badges (#9034)
  • Translate none-tag and all-tags labels in tag filter (#9030)
  • Ensures scoped search category is searching in all categories (#9031)
  • Ensures we don’t attempt to create a new PM on an existing topic (#9029)
  • Blank popular posts in summary emails due to lightbox images
  • Ensures group automatic membership dropdown works (#9022)
  • Muted was not working in topic timeline (#9021)
  • Ensure web hooks are retried at most 5 times
  • Correctly shows suggested topics label (#9017)
  • Ensures mini-tag-chooser is respecting max_tags_per_topic (#9018)
  • Use dedicated site attribute in category + tag filtered pages too.
  • Consider webp a supported image format for upload (#9015)
  • Only mark attachments as secure media if SiteSetting.secure_media? (#9009)
  • TOTP could not be used on sites with colons in their names
  • Restore initState() call within discourse-location for subfolder
  • Respect prioritize_username_in_ux setting in email
  • Correct upload statistics report for external storage
  • When admin changes staff email still enforce old email confirm (#9007)
  • When admin changes another user’s email auto-confirm the change (#9001)
  • Remove broken error dismiss button
  • Respect muted tags for mailing list mode
  • Minor linting issue for future rubocops
  • Disable save button for API key creation when invalid (#9005)
  • Patch ActiveRecord SchemaCache for safe concurrency support
  • Remove border-box from modal-body to avoid iOS fixed position bug
  • Makes setting-object capable of defining value/name properties itself (#9003)
  • Prevents setting default values on setting component to reload page
  • Prevents notifications button to be cutoff on mobile (#8998)
  • Enums should be treated as flat arrays (#8995)
  • Group members dropdown was broken on mobile (#8994)
  • Remove anchors from banner headings.
  • Mentions updater should work regardless of .notify
  • Group mentions were not being cooked the same was as previewed
  • Ensures report-filter/category is correctly filtering (#8992)
  • Use ‘hostname’ when Discourse.os_hostname is not available
  • Disable poll options if user groups do not allow them (#8987)
  • Strip video oneboxes from excerpts
  • Some select-kit dropdowns were cut-off by hidden overflow in modals
  • Use separate site attribute for single category “top tags” list.
  • Use correct translation string
  • Sk body should follow wrapper width (#8984)
  • Prevents error when loading tag groups (#8983)
  • Prevents expand post to trigger page routing (#8982)
  • Tweak upload security emoji check (#8981)
  • Improvements and fixes for update_upload_acl rake task (#8980)
  • Never mark uploads based on regular emoji secure (#8973)
  • Invalid syntax in elsif in Theme importer
  • Toolbar menu specificity
  • Username mentions lost styling
  • If a group is unmentionable, don’t render it as mentionable
  • Tag topic counts wrong after adding synonyms
  • Value-list choices when removing a value
  • Confirm draft_key is present on GET
  • Return a 404 when the draft_key is missing
  • Prevents everyone group to show as group option for polls (#8957)
  • Brings back castInteger as a safer migration path for sk2 (#8966)
  • When unread reply notification exists don’t create new (#8921)
  • Dont create new notification if already exists
  • Update Site.top_tags in “categories” route if topic list available.
  • Never allow custom emoji to be marked secure (#8965)
  • Displays selection text when no default_notification_level is set (#8962)
  • Don’t remove the topic image if posts don’t have them
  • Ensures shortcuts work correctly with topic-notifications-button (#8956)
  • Ensures select-kit can select a row with 0 as value (#8955)
  • Handle SSO Provider Parse exception
  • Linking to a category via hashtag had a broken URL.
  • Correctly compile theme template overrides (#8946)
  • Use plain text if available instead of image upload.
  • Regression with wizard canvas elements
  • Don’t count ignored, missing uploads in migration to S3
  • Remove pie draw animation (#8940)
  • Avoid highlight mention to groups that are not public.
  • Make inline oneboxes work with secured topics in secured contexts (#8895)
  • Subfolder sites rewriting URLs to root domain on initial load (#8932)
  • Date was not mutated when changing it in change-timestamp modal (#8935)
  • Avoid highlight mention to groups that are not public
  • Don’t use theme colors for digest unsubscribe footer links
  • Correctly excludes current user in user-chooser (#8928)
  • Makes user-selector use real booleans (#8909)
  • Render HTML for pie chart options (#8912)
  • Polyfill String.startsWith function for IE11
  • Make category slug validation less strict (#8915)
  • Disable preloading audio + video when secure media enabled (#8922)
  • Ignore group mentions inside quotes (#8905)
  • Removes limit for trust level growth report (#8908)
  • Makes tag-{info,list} more specific to avoid styling other elements (#8902)
  • Flair icon being removed when updating other profile info
  • Skip absolutizing URLs when source URI is invalid
  • Properly convert quotes to Markdown (#8808)
  • Ensure s2 is working with wizard (#8886)
  • Reset edit_reason in posts when creating a new version.
  • Strip audio/video content from excerpt (#8881)
  • Prevents ac wrap to overflow on group-add-member modal (#8882)
  • Remove post/topic image_url on post edits
  • Spoiler logic should live inside of spoiler plugin
  • Ensures we have a proper component name (#8876)
  • Recovered posts with no user will be taken over by system user (#8834)
  • Replaces fake null value by clearable option (#8875)
  • Show detailed error messages for category pages. (#8832)
  • Tag info misleading message saying it’s not restricted
  • Opening new topic draft never creates post (#8828)
  • Corrects min/max logic for mini-tag-chooser (#8871)
  • Simplify maximum/minimum logic in sk2 to avoid chicken/egg (#8868)
  • Allow submitting various forms via keyboard (#8866)
  • Don’t leak event listeners (bug introduced in 999e2ff)
  • Add support for sub-sub-categories in base_importer
  • Allow both meta_data and custom_fields when creating a topic
  • Topic progress bar shouldn’t show up on desktop (#8854)
  • Edit title respects min trust to edit post
  • Prevents firefox to generate a click event on space (#8856)
  • Ensures tags-admin-dropdown is working correctly with sk2 (#8852)
  • Links in category box descriptions should be clickable
  • Labels were switched in the wizard for privacy options
  • Warn users of overwriting new topic draft (#8841)
  • Featured topic title on profile HTML parsed (#8850)
  • Prevents exception on /admin/badges page when model is not set (#8849)
  • Email attachments with a size of 0 bytes caused error
  • Sort out the route navigation in admin/email-style (#8837)
  • Better error messages when name is too long
  • Restore up/down icons in period-chooser
  • Never return the same reply more than once via reply_ids
  • Make dropdown custom user fields compatible with select-kit 2
  • Don’t return post replies from other topics
  • Off-by-one error setting the distributed mutex key to expire
  • Check parameter types
  • Admin user list not showing 2FA icon for only security keys enabled (#8839)
  • Suppress notification flood when post is edited (#8838)
  • We don’t want to update the post read count and user stats if the post timing wasn’t created due to a conflict. (#8824)
  • Use updated_at in the S3 inventory job (#8823)
  • Serve .ico files without nginx 404 for secure media uploads (#8826)
  • Stop encoding presigned URLs with UrlHelper (#8818)
  • Import sub-sub-categories (#8810)
  • Ensure ‘unless’ helper resolves variable name once (#8820)
  • Disallow featuring hidden topics (#8814)
  • Stop secure media URLs being censored too liberally in emails (#8817)
  • Customized email subjects was ignored for some notifications
  • Set showFooter to true on group topic list (#8795)
  • Wrap markdown videos with video-container class to stop post height jumping (#8806)
  • Blank cooked markdown could raise an exception in logs
  • Mitigate issue where legacy pre-secure hotlinked media would not be redownloaded (#8802)
  • Correct notification when tag or category is added (#8801)
  • Award “User of the month” badge at the beginning of month
  • Uploads:s3_migration_status rake task was broken
  • Export all category names in user archives (#8790)
  • Apply like based badge based off grant date
  • Undefined method ‘title’ for nil:NilClass in PostAlerter#create_notification
  • GetURL on a subfolder site should ignore prefix in middle of URL (#8794)
  • Post reviser picking up edits for hidden posts (#8792)
  • Improve downsize_uploads (#8409)
  • Adjust the broken image placeholder border (#8781)
  • Failed to notify user after restoring backup
  • Add ‘noindex’ header to rss feed responses.
  • Resolve pull hotlinked image and broken link issues for secure media URLs (#8777)
  • Topics sorting in tag pages is broken.
  • Ensure sourcemap’s source is correct. Uses the full assets path this time. (#8774)
  • Redis fallback handler refactoring (#8771)
  • A separate FallbackHandler should be used for each redis pair
  • Create frozen copies of passed in config where possible
  • Extract start_reset method and remove method used by tests
  • Use presigned URL to avoid 403 when pulling hotlinked images for secure media (#8764)
  • Re-apply sourceURL in development mode
  • Featuring topic on other users profile shows their topics (#8769)
  • Notify staged users about private categories (#8765)
  • Show category list on subcategory page if it has subcategories too (#8768)
  • Ensure sourcemap’s source is correct
  • Show all parent categories on topic page (#8767)
  • Quoting a quote preserves the original post information (#8746)
  • Ensure only edited badge titles update a users title
  • Use schema.org’s BreadcrumList
  • Categories_breadcrumb helper to support more than 2 levels of categories.
  • Use new tag routes (#8683)
  • Workaround limitation in jquery.autoellipsis (#8747)
  • Higher z-index for usercards in the header
  • Do not extract dates from quotes and Oneboxes (#8754)
  • Allow the app to generate and accept longer backup codes (#8761)
  • Incorrect locale in badge granter (#8749)
  • When tag or category is added notify users that topic was modified (#8750)
  • Do not error in excerpts when aside tag has no class attribute
  • Make topic query include topics from sub-sub-categories (#8709)
  • Make category-chooser show all parent categories (#8706)
  • Users should be able to remove their primary group
  • Don’t override timezone on every visit of profile preferences
  • Don’t cause exceptions due to rename of reply_id column
  • Show PM icon in docked header
  • Applies correct styles to icon and attempts to dry code (#8739)
  • Do not increase size of emojis in markdown tables (#8742)
  • Reload the ReviewableScore types when extending flags (#8740)
  • Include sub-sub-categories in new/unread counts (#8710)
  • Change additional public uploads to not be secure (#8738)
  • Groups pagination was broken
  • Change rootNone behavior in category-chooser (#8692)
  • Add missing translation key for narrative bot Italian locale.
  • Styling for feature topic on profile modal (#8727)
  • Show error message if the topic deletion fails (#8723)
  • Correctly wrap image and resize controls inside paragraph (#8718)
  • Better error message when topic deletion fails
  • Create post notices only for public posts (#8708)
  • Group membership leak
  • Raised a proper NotFound exception when filtering groups by username with invalid username.
  • Properly filter the groups based on current user visibility when viewing another user’s groups.
  • Spec for groups_controller#index when group directory is disabled for logged in user.
  • Groups_controller.sortable specs to actually test all sorting combinations.
  • Rewrote the “view another user’s groups” specs to test all group_visibility and members_group_visibility combinations.
  • Ensures group-navigation states changes when route changes (#8724)
  • Ensures secondary menu of user notifications mobile nav reloads (#8716)
  • Update user-selector excluded usernames after insert (#8711)
  • Update featured badge ranking when mass-awarding badges
  • Moves back padStart/padEnd to core polyfills (#8714)
  • Specs with old filename
  • Use CDN for the discourse-internet-explorer
  • Remove padding while composer is saving
  • Ran prettier on user-selector-test (#8700)
  • Make ‘findBySlugPathWithID’ when URL ends with a slash (#8699)
  • Prevents url of file from being pasted when pasting file on iOS (#8693)
  • Don’t log a claimed topic database error during tests
  • Stop logging errors in postgres on reviewable conflict
  • Decompressing lots of small files triggered error
  • Allow users to change title in locales other than English
  • Do not redirect to /auth/* urls after authentication
  • If the admin sso sync has no external ID, don’t throw an error
  • Don’t leak event listeners in user-activity-drafts (#8682)
  • Allow omniauth confirmation page to pass through GET parameters
  • Add noindex header to user profile pages.
  • Make scrolling to bottom post in topic more consistent (#8671)
  • Ensure we consistently pick the same topic for bench
  • OnScroll method was not defined on mobile discovery (#8672)
  • Topic_tracking_state when mute_all_categories_by_default is enabled
  • Only agree with the first post when using the ‘Delete post + replies and agree’ option
  • Cached new topic data should not be deleted after dismiss new (#8660)
  • New/unread count after dismissing new topics in a regular category (#8659)
  • Allows scroll on load for discovery topic list (#8661)
  • Bulk insert to create application requests
  • Bulk insert to create topics
  • No need to create separate user for each topic, post etc.
  • Another bulk_insert of ApplicationRequests
  • Dont create user and topic instances when not neccessary
  • Merge examples with expensive setup into one example
  • MaxMind DB file not downloading correctly
  • Keep ‘rb’ & ‘rp’ tags in html to markdown conversion.
  • Ensure CSP is off for qunit
  • Show uncategorized description on categories page
  • Descriptions were blank for uncategorized in hamburger menu
  • Add a blank poll options validation (#8652)
  • Don’t give error 500 when invalid date param is given to admin reports (#8658)
  • Allow underscore in file extension while downloading the uploads.
  • Correctly account for onebox height when lazy loading images
  • Any global notice text can contain HTML (#8655)
  • Bots accuracy should be zero (#8654)
  • Allow any protocol in wildcard url checker (#8651)
  • Avoid superflous logging when mime type is bad
  • Under rare conditions saving a new draft could error temporarily
  • Catch error when unknown COSE algorithm is supplied for Security Key (#8649)
  • Trigger commands are different for each locale, account for that.
  • Only show admin wrench when there are actions on mobile
  • Don’t display cloak on admin tool when the right wrench is clicked (#8641)
  • Visual improvements to admin topic menu (#8638)
  • Use cached MaxMind DB for longer
  • Open a card on click even if the mention has extra elements (#8626)
  • The ‘reviewed’ status filter should include deleted elements (#8630)
  • Update topic/post counter correctly when category has zero topics (#8600)
  • Makes highlighting last viewed topic more resilient (#8624)
  • Correctly styles pwa consent banner (#8623)
  • Allows global_notice site setting to contain html (#8622)
  • Cache_critical_dns was erroring without IPAddr
  • Correctlt styles notification-consent-banner (#8621)
  • Track correct site setting
  • English and US date/time formats
  • Better error message when forum is in read-only mode
  • Update normalize css from 3.0.1 to 8.0.1 (#8591)
  • Correct description for out of love badge (#8615)
  • Everyone can see poll results when on_vote and closed (#8613)
  • Bug when revoking badge as title (#8616)
  • Category routes model params should decode their URL parts (#8612)
  • Ensure that we encode a slug only once if slug generation method is encoded
  • Give expanded CSS/HTML editor >`0 height
  • Label helpers on sign up form are not hidden (#8603)
  • Remove rerenderTriggers
  • Remove full nested quotes on direct reply (#8581)
  • Show signup input tips and improve spacing
  • Limit requests and include data when reporting deprecated icons
  • Correct user serializer user method for extended serializer (#8590)
  • Include Symbol polyfill for IE11
  • IE11 compatibility for readonly check
  • Show parent and subcategories for 2nd level categories (#8579)
  • Prevent errors in IE11 following AJAX request
  • Add missing Object.entries polyfill for IE11
  • Show new/unread button when a new topic or post is created (#8576)
  • Parallel spec system needs a dedicated upload folder for each worker. (#8547)
  • Move IE specific CSS rules to discourse-internet-explorer plugin (#8567)
  • Remove ‘staff_only’ results option for non-staff (#8565)
  • Fix choose-topic component to search by url (#8574)
  • Avoid String.matchAll for IE11 support
  • Use updated_at date to denote expired invites (#8521)
  • Prevents crash in discourse_tagging with empty term (#8548)
  • If a prettified slug is a number, return defaultt (#8554)
  • Require: false for rotp gem (#8540)
  • Category id in filterCategory (#8555)
  • Ensure currentUser exists before getting ID
  • If we run db:migrate on its own, it should load the environment
  • Migration paths were being forgotten
  • Allow IE script to load with a CDN
  • Granting staff status should auto-approve users waiting approval (#8533)
  • Granting staff status should auto-approve users waiting approval
  • Constraint error when inserting the same topic group twice
  • Cache short upload URL (#8541)
  • Disallow c as a tag
  • Disallow none as a category slug
  • Hide old bookmark button on post-menu if SiteSetting.enable_bookmarks_with_reminders
  • Replace deprecated URI.encode, URI.escape, URI.unescape and URI.unencode (#8528)
  • Update S3 stubs for more aws-sdk API changes (#8534)
  • Add new content type for theme/component
  • Don’t raise an error if the user is not present
  • Prevent scientific notation in free space check (#8473)
  • Always add username span in quick access item (#8526)
  • Reorder categories not working
  • Alphabetical tag sorting in mini-tag-chooser
  • Tag input doesn’t show all top 5 permitted tags
  • Ensures slug and id are not arrays (#8495)
  • Muted tags are respected by TopicTrackingState (#8467)
  • Don’t try to create an empty tag when updating a topic (#8481)
  • Default draft key in openComposerWithTopicParams (#8496)
  • Optimize images in Onebox (#8471)
  • Do not autocomplete categories or emojis in code blocks (#8459)
  • Crawler requests not tracked for non UTF-8 user agents
  • Skip validation on enforcing second factor change if the value is “no”
  • Avoid unpinning composer on iOS when invoking emojis
  • Ignore DMARC for emails sent to mailing list mirror
  • Image file names with dots were showing incorrectly in composer markdown (#8465)
  • Login page that redirects to preferences was broken
  • Redirect to /login-preferences didn’t work for subfolders
  • Anonymous cache regression
  • Export poll UI should only show for admins
  • Keep ruby & rt tags in html to markdown conversion.
  • Secure Upload URLs in lightbox (#8451)
  • BufferedValuesString.split is not a function (#8463)
  • Prevents multiple jumps to happen with LockOn (#8460)
  • Allow for nil upload record when migrating to S3
  • Ensures the element is on the page before scroll with lockon (#8458)
  • Use filtered posts when determining the next page
  • Add a component to all themes takes only active ones
  • Move select components/themes to top
  • Improve defaultIsAvailable
  • Add filter(Boolean) and remove btn class
  • Inbound link when the only slug available (#8457)
  • Don’t allow category slugs to be entirely digits
  • Respect enable_inline_emoji_translation setting in titles
  • Prepends whitespace when inserting via emoji picker
  • Filter readers avatars correctly when the post is a whisper
  • Guarantee order to correctly defer replies in review queue (#8426)
  • 500 error for missing badge grouping (#8446)
  • Hide pie legend when results are grouped (#8445)
  • Poll pie container was too large (#8444)
  • Do not autocomplete categories or emojis in code blocks (#8433)
  • Generate redirect URL correctly when using a subdirectory
  • Handle none path correctly with three levels
  • Ensures censor has always at least an empty string to handle (#8442)
  • Delay the ‘send_advanced_tutorial_message’ job to prevent race conditions
  • Optimize quoted images (#8427)
  • Add a unique index to developers table (#8436)
  • Make sure the suspended status is up to date (#8432)
  • Adds data-topic-id to quick-access-item (#8430)
  • Use mapBy and filterBy directly
  • Make Google Groups scraper work for G Suite users
  • Cache failed onebox URL request server-side (#8421)
  • Mark secure media upload insecure automatically if used for theme component (#8413)
  • Serve crawler view to Google PageSpeed
  • Correctly ignore/approve replies when acting on a flagged post (#8425)
  • Do not start the login flow when logging out from SSO/Authenticator (#8423)
  • Use dedicated Vimeo onebox for all video types
  • Correctly resize lazy loaded images in Oneboxes
  • Correct hostname in vimeo.com
  • Bypass finaldestination check for Vimeo links.
  • Do not validate topic when resetting bumped_at
  • Show updated_at for invite sent date.
  • Draft not clearing when replying to new topic
  • Oneboxer.js infinitely retrying failed requests (#8414)
  • Improves recurring by ensuring DST is computed correctly (#8410)
  • Don’t error when the empty current value in dif (#8406)
  • The build; ran prettier (#8412)
  • Update site data when we receive a list of categories
  • Only trigger upload ACL update when needed
  • Show quoted images correctly. (#8391)
  • Be more tactical with replacing markdown chars
  • Replace %20 with space in markdown file name for uploads (#8405)
  • When dismissing category inform via MessageBus (#8371)
  • Prevents exception and more duplicates (#8396)
  • Prevents timezone to show duplicated zones in preview
  • Method names incorrect (#8393)
  • Always return secure_proxy_without_cdn url for secure media (#8394)
  • Remove uneeded from discourse loader (#8390)
  • Aliases for require functioning (#8387)
  • Allow private media uploads to be reused in login_required sites
  • Replace this.get(“foo”) with this.foo to fix linting checks
  • Handle german quotes in discourse local-dates (#8386)
  • Mobile top topic list with a period and a category or tag
  • Do not log if an invalid mime type is passed to app
  • Add skip_validations in one more place for narrative bot plugin
  • Allow advanced tutorial when title emojis are disabled
  • Use correct MIME type for theme exports (#8379)
  • Abort CensoredWordsValidator early if censored_words_regexp nil (#8375)
  • Amazon video oneboxes were not working.
  • Allow secure uploads if global s3 setting active and enable_s3_uploads validations (#8373)
  • More Promise uses that were not imported
  • For a single authenticator, do not interrupt registration flow
  • Email excerpts for posts starting with a quote were displaying a username
  • Turn off auto bumping for topics with scheduled bumps
  • Parallel spec system needs needs a dedicated upload folder for each worker. (#8372)
  • ‘default_categories_muted’ site setting not working for anonymous users.
  • Do not insert conflict rows into category user
  • Automatically recover from bad sprockets cache in development (#8364)
  • Unable to remove required tag group from a category
  • Errors when using tags with colons in their name
  • Ensure load-more considers current position (#8357)
  • Better handling of Group model state (#8356)
  • Enter key should submit password reset form, not refresh the page
  • PM glyph in user-menu should always be shown to staff
  • We don’t need to refresh dates so often (#8367)
  • Attempts to be correct about dst when using recurrence (#8366)
  • A pmOnly tag should link to messages (#8361)
  • Don’t error CleanUpInactiveUserJob when user is missing (#8362)
  • Ensure revisions are made to store edit reasons and no reasons get wiped (#8363)
  • Support for rake db:rollback with plugins
  • Include 5 participants in topic summary
  • Use this.content.category instead of this.category on navigation-item
  • Confirm new email with backup codes enabled
  • Don’t show bots as post readers
  • Revert mobile jump to last post behaviour
  • SVG Sprite version hash should be based on bundle result
  • Tag topic lists should pass on noSubcategories when building the top menu
  • Tracking Topic State know about category_seen_at (#8351)
  • Need to require open-uri for discourse-narrative-bot plugin
  • Allow importing themes with subdirectories in extra_js
  • Missing User objects in Utilities
  • Computed is part of @ember/object not @ember/object/computed
  • Allow forceActive without a customHref
  • Do not deactivate admin accounts with recent posts or api keys (#8342)
  • Update quotes after moving posts (#8326)
  • Topic lists filtered by tag and a specified filter don’t work
  • Tag and category watchers regression (#8336)
  • Better error handling for invalid locale bundle versions
  • In case @ember/object hasn’t been loaded yet
  • Do not skip some emails in user search (#8317)
  • Keep emoji images in group bio excerpt (#8329)
  • More missing RSVP imports
  • Was using a native browser Promise instead of RSVP
  • Use correct class variable to get notification levels.
  • Remove magic numbers in notification levels.
  • Update api_key rake task for recent changes
  • Return a deprecation for Discourse.Session
  • Add deprecation for Discourse.NavItem in case themes are using it
  • Alias modules that are required AND imported (#8315)
  • Count current penalty if it started more than 6 months ago (#8313)
  • Use ‘about.json’ endpoint instead of using ember model to get the data.
  • Badge and user title interaction fixes (#8282)
  • Ensure enforce 2FA for staff satisfied by security keys (#8316)
  • Drafts are unique by draft_key and user_id
  • Correct display of last used date in API key details UI
  • Downcase SSO external email before checking against Discourse email (#8306)
  • Include onebox default options in development environment
  • The internal position on the topic timeline is a scroll position
  • Regression not showing excerpts in mobile timeline
  • Use long version of month names in date formats
  • Unicode group names encoded for url (#8302)
  • Too much blank padding in video oneboxes
  • Correct translation key for api key revoke button
  • Skip invalid URLs when checking for audio/video in search blurbs
  • Add <img> alt attribute for Summary emails
  • Tweak restorer spec to make it stableish (#8300)
  • Display tags topic list correctly when none is selected for subcategories
  • Build with prettier for imports (#8298)
  • Allow theme translations to be accessed in initializers (#8285)
  • FilterQueryParams mutates state that is essentially global
  • Improve regex used for image sizing controls (#8291)
  • On mobile setting active on navItem would not work
  • Skip composer blur event when switching apps in iOS
  • Do not update created_at date when resending invites
  • Do not consider mobile app traffic as crawler visits
  • No need to pass cache option in onebox
  • Dropbox videos were not loading
  • Ensure menu not too tall on desktop only
  • Prevents whitelisted_generic_onebox_spec to fail with zeitwerk (#8288)
  • Update action should be in setting-component mixin (#8287)
  • Ensures menu panel is not too tall for screen (#8248)
  • TopicQuery doesn’t react well to subcategories without definitions
  • Do not add personal message link in user menu if they are disabled
  • Move makeArray to discourse-common
  • Missing run import
  • Do not load plugin CSS/JS assets when disabled (#8275)
  • Unread topics not clearing when whisper is last post (#8271)
  • Hide muted subcategories for mobile (#8273)
  • Enter key on forms submits rather than refresh (#8274)
  • Make notification consent banner usable via keyboard and screenreader (#8255)
  • Move attachment_css_class constant out of upload-short-url for discourse-markdown-it
  • Cache Discourse.system_user separately for each multisite tenant (#8276)
  • Under some conditions draft would say it was saving when not
  • Tags can be filtered on categoryId without a q param (#8264)
  • Default user preferenced categories are not updating in admin site setting UI.
  • Prettier on importing mixin (#8270)
  • Ensure there’s an excerpt before showing the bio
  • Correct slug validation
  • Account for empty uploads directory upon backup restore (#8262)
  • Generate category url correctly when slugs are empty
  • Require q param in /tags/filter/search route (#8263)
  • Don’t use ember imports in pretty text
  • Use modules for Ember.run.debounce hack in testing
  • Upserting custom fields using keywords converts the array key to a string
  • More flaky jobs_base_spec.rb (#8259)
  • Flaky jobs_base_spec.rb (#8258)
  • Place image scale buttons unconditionally
  • Close modals on ESC key and clicking outside
  • Correct error when sending PM to email address
  • Prefer Category.find_by_slug over Category.find_by(slug: …)
  • TopicQuery category lookup by slug
  • Respond to user search correctly when category_id is blank
  • Theme component setting was not getting updated in the UI (#8247)
  • Reload plugin translations in development (#8243)
  • When running the wizard and using a custom theme, fallback to the color_scheme name if the base_scheme_id is nil (#8236)
  • Allow storage of non unique rows in oauth2_user_infos
  • Update rack-mini-profiler
  • Hide muted subcategories (#8239)
  • Handle nil case for avatar, just in case
  • Allow avatar downloads to follow redirects
  • Show poll voters in Oneboxed posts. (#7768)
  • Check for presence of liked post before creating notification
  • Rubocop rule on restorer spec (#8238)
  • Restore for non-multisite is not raising an error on reconnect step (#8237)
  • Backwards compatibility for uncompiled email style css
  • Do not load group members when user can’t see it.
  • Should not disable topic inputs while creating new topic.
  • Wizard tests were broken with new loader
  • Sortable controller var conflict
  • Correct path to ImportExport module (#8227)
  • Reconnect in restore process connects to correct DB (#8218)
  • Notifications are missing under certain conditions
  • Respect tl3 links no follow setting (#8232)
  • Return blank avatar when downloading an avatar is not possible due to file size
  • Exclude image_url from web_hook_topic_view_serializer
  • Prevent null-byte searches causing 500 error (#8226)
  • Follow redirect returns url if response code is 200
  • Do not resize xkcd image
  • Include user id in notification webhook (#8195)
  • Load user model when some attributes are missing.
  • Make category updates slug validation idempotent
  • Reload only notifications when refreshing notification count (#8221)
  • Zeitwerk-related fixes for jobs. (#8219)
  • Rate limit and hijack certificate generation. (#8215)
  • Add common HTML5 media extensions to onebox audio and video tags (#8216)
  • Correct mention autocomplete in new topics in unsecured categories
  • ‘only_hidden_tags_changed?’ method returned ‘true’ even when tags are not changed.
  • Id is always true since it’s been to_i’d
  • D-button should default type to button (#8217)
  • Fixes plugin generator with zeitwerk (#8220)
  • Various fixes to draft system
  • Update Redis gem to version 4.1.3
  • Polyfills forEach support on NodeList for IE11 (#8213)
  • Handle encoded slugs for subcategories
  • Do not truncate encoded slugs
  • Display site text overrides for non ‘_MF’ keys (#8189)
  • Transform pluralized keys to .other, to check valid interpolation
  • Update Redis gem to version 4.1.3 (#8197)
  • Get rid of redis freedom patch
  • More encoded slug fixes (#8191)
  • Do not encode the URL twice
  • More places do deal with encoded slugs
  • Handle the nil slug on /categories
  • Account for nil when looking up subcategories
  • Correct topic timeline position calculation
  • Tag cannot be used if it belongs to two tag groups with parent tag
  • Use the quote generator in the example text
  • Do not send notification to empty push_url
  • Do not make notification API call if push_url is blank
  • Add migrations to fix index on category slugs
  • Prevents trash button to get focus when submiting input on profile (#8198)
  • Respect private_email setting for user invited notification email
  • Include topic link when inviting existing users to a topic/PM
  • Correct line count link in GitHub commit onebox
  • Public_file_server.enabled is false in test (#8192)
  • Add unique index to prevent duplicate slugs for categories
  • Do not unpin reply box in iOS when selecting Emoji
  • Remove hiredis gem which is no longer needed
  • Subcategory permissions validation
  • Validation of category tree depth
  • Move notification level only when user posted
  • Zeitwerk-related fixes for jobs. (#8187)
  • Ensure that scheduled jobs are loaded. (#8183)
  • ‘local_cdn_url’ method should work for local relative urls too.
  • Allow themes to upload and serve js files (#8188)
  • Use upload’s cdn url in composer preview if available.
  • Allow change password with TOTP
  • Allows scrolling of search menu panel when showing more results (#8186)
  • Accurate sub_total calculation for reviewable_scores (#8184)
  • Properly encoded slugs when configured to (#8158)
  • Ensure we remove tempfiles from disk when creating an upload
  • Show a correct diff when editing consecutive paragraphs (#8177)
  • Prevent from creation of duplicated TopicAllowedUsers (#8169)
  • Minor Github onebox layout issues
  • Mobile adjustments for reviewable list
  • Downsize_uploads script
  • Don’t fail when there’s no directory to strip
  • During concurrent emails generation renderer should not be reused
  • Order UserFields by position, by default (#8176)
  • Site user_fields sorted by position
  • Sort UserField by position for Site
  • Don’t swallow the original error when moving posts
  • Narrative Bot certificates are ERB templates (#8174)
  • Topic timeline placement on iPad
  • Existing post timings could prevent moving posts
  • Decrement posts read count when destroying post timings (#8172)
  • Remove site setting ‘shadowed-by-global’ option (#8061)
  • Do not reset original scroll position in iOS to zero
  • Downsize_uploads script to support external storage
  • Store user_accuracy_bonus to clarify explanations (#8165)
  • Fix rake db:create after zeitwerk changes
  • Solution for pending migrations for bin/turbo_rspec
  • Updates discourse-ember-source gem (#8167)
  • Add mobile padding to bottom of user preferences screen
  • Check for category conflicts in SiteSetting validations (#8137)
  • Disallow negative reviewable score even if the accuracy would make it negative
  • Ensure push_url exists before making push notification API call
  • Properly downsize image on upload
  • Maxminddb:get task no longer working
  • Errors due to confusion between trustLevel and trust_level (#8149)
  • Update user vote count on topic trash/recover (#8144)
  • Correct position of topic progress in iOS when composer is visible
  • Broken rubocop by empty line in application.rb (#8148)
  • Autoload lib/ path for Sidekiq (#8147)
  • Ensures chart parent element is still present before render (#8145)
  • EmojiOne is now JoyPixels (#8142)
  • First post true if user creates topic first (#8139)
  • Show composer above DiscourseHub app nav on iPad
  • Apply Visual Viewport composer height calc in iOS only
  • Harden DistributedMutex
  • Exception with triggerRefresh and subcat listing (#8131)
  • Use migrations path for post_migrate (#8133)
  • Revert Demon::DemonBase back to Demon::Base (#8132)
  • Try to match advanced tutorial reset first (#8048)
  • Prevents trigger post read count update on non existing post (#8128)
  • Reset watched site settings when default locale changes
  • Respect unicode whitelist when suggesting username
  • Correctly escape category description text (#8107)
  • Change focus when application resumes in android
  • Include video tags and short urls in ‘have_uploads’ method.
  • Include ‘short_path’ as src in each_upload_url method.
  • PWA install was broken due to missing basic logo
  • Cleanup DiscoursePluginRegistry state after tests that use it
  • Fix options given to per-minute rate limiter
  • Properly render server side plugin outlets (#8106)
  • Require a min amount of reviewables before calculating thresholds
  • Sensitivity did not work by default
  • Remove versions from Active Record warm up (#8105)
  • Ignore min_trust_to_send_messages when messaging groups (#8104)
  • Proper jumpToPost with whispers/small-actions
  • By default, don’t abort Google Groups crawling on error
  • Split migration into two steps in developer guide (#8103)
  • Only apply post hide logic to flag actions
  • Google Groups crawler failed to login
  • Preview up to ‘max_oneboxes_per_post’ oneboxes
  • Put back the TL3 ->` TL0 spam thing
  • Ignored flags should not count in your accuracy score
  • Correct theme SCSS error handling
  • Live reload plugin stylesheets when editing in development
  • Live reload plugin stylesheets when the color scheme changes
  • Do not include theme variables in plugin SCSS, and fix register_css
  • Do not allow posting of category topic template without any changes
  • Escape $ in translations before interpolating (#8100)
  • Open drafts for PMs from Activity >` Drafts screen.
  • Ensure page is reloaded correctly when a hash is present (#8096)
  • Don’t show non-members as readers when the post is a whisper
  • Improve protection against problematic usernames (#8097)
  • Load raw hbs templates correctly from theme javascripts folder
  • Explicitly specify the format when loading /associate/{{token}}
  • Add support for version query parameter in InlineUploads
  • Do not escape fancy_title again. (#8095)
  • Do not show latest count in tabs on tag lists
  • Rails 6 multisite migrations and plugin migrations
  • Support <img> in code blocks when inlining uploads
  • Make markdown regexp patterns case insensitive.
  • Do not log ‘pull_hotlinked_images’ edits in the staff action log
  • Change admin dashboard sort caret icon color on hover
  • Let mailgun_api_key also support their “HTTP webhook signing key” (#8091)
  • Cast all numerical values in reports (#8087)
  • Clear authentication data from session after create account (#8040)
  • User directory should not include unapproved users
  • POP3 doesn’t work with TLS 1.3
  • Switch to full screen external login for Safari
  • Inline_uploads and subfolder (#8076)
  • Migrate_to_s3 task and subfolder
  • Errors in qunit tests when version check info is missing
  • Do not show staged users avatars when expanding the read count indicator
  • Display emojis in search result blurbs
  • Improve Onebox detection (#8019)
  • Modify frozen String and profile_db_generator uses category id (#8080)
  • Migrate post_edit_time_limit to tl2_post_edit_time_limit (#8082)
  • Move read state when moving posts
  • Topics with muted tag didn’t show up when filtering by category and tag
  • Post editing period specs
  • Inline_uploads not working on subfolder setups
  • :reject_user_delete action can only be handled by ReviewableUser (#8068)
  • Mobile Safari composer improvements (#8069)
  • Make ‘group membership requests’ feature compatible with visibility level option ‘logged_on_users’.
  • Adjust composer size for iPhone Xs Max and Xʀ
  • Report cached controller and action to loggers
  • Ensures google classic has correct man_facepalming emoji (#8065)
  • Include ‘short_url’ as src if upload url not exist
  • Close user card after clicking Message button
  • Auth popup handling for Safari same-site cookie quirks
  • Flagged posts user notifications (#8041)
  • User should get notified when a post is deleted
  • Broken scheduler when changing per_host <-> global
  • Allow accessing nested objects within theme settings
  • In case of orphan user records skip badge
  • Heartbeat should be per host
  • Notifications not updating correctly from background tab
  • Remote theme record not saved when checking for updates (#8054)
  • Avoid publishing changes if the topic was deleted
  • Include read indicator when the publish_group_state is enabled
  • An overridden text of a non-existent plural key resulted in error
  • Ensure live-reloading of theme CSS works first time (#8052)
  • Made turbo_rspec display errors in shared groups correctly
  • Race condition during deploys creating stylesheets
  • Don’t search for tags when editing topic title
  • Don’t blow up if the topic does not exists anymore
  • When activating via omniauth, create tokens after password reset
  • When activating a user, ensure the change is reflected immediately
  • Allow dashboard to load even when git version cannot be found
  • Display actual readers on the first post
  • Ensure avatar sizes are integers
  • Only use app argument for official iOS app banner
  • Show who read only if the attribute is enabled
  • Update topic groups correctly
  • Overriding _MF texts didn’t work for en_US
  • When using a custom authenticator URL, send request using GET
  • Add_to_serializer not correctly accounting for inheritance chains
  • Don’t display PWA banner when using native app
  • Remove duplicate %-sign from error messages
  • Heartbeat check per sidekiq process (#7873)
  • Allows mini-tag-chooser to fetch tags in background (#8033)
  • Filter out hidden posts for wordpress
  • Do not set destination_url cookie after deleting own account. (#8028)
  • Infinite loop when mentioning in IE11
  • Properly load desktop and mobile only plugin css assets.
  • Allow topic edits when using a hidden tag
  • Race-condition in fallback handlers (#8005)
  • Don’t try to delete staged, unused admins and mods
  • Regularly reset unknown extension of uploads
  • Limit PWA install banner to Android for now
  • Read indicator only appears when the group setting is enabled
  • Ensure extra locales are only available to staff
  • Ensure offset is always positive
  • Prevents mobile nav to create an error when unregistering click events (#8016)
  • Uses simpler pattern for custom href on extra nav items (#8015)
  • Rack-mini-profiler not showing plugin frames
  • J/K navigation resets current selection when scrolling fast.
  • Properly set notification levels on group invite
  • When inviting groups to message respect tracking state
  • Explicitly require topic_query_params
  • Clear banner topic cache after remapping
  • Ensures reports can’t modify records (#8006)
  • Correct race condition loading library
  • Hold s3 related distributed locks longer
  • Store custom attributes that are needed by plugins in queuedpost payload (#8009)
  • Attempts to use params from addDiscoveryQueryParam (#8007)
  • Convert omniauth authenticator names to symbols before comparing
  • Do not raise exception if the authenticator email is missing
  • Downcase email coming back from auth-provider
  • Replace model usage with SQL query
  • Correct ordering for post_edits report, and remove query limit
  • Correct query for post_edits dashboard report
  • Remove the tmp inventory files after the s3 uploads check.
  • RIP swipe-in menus on Android (#7997)
  • Don’t update watching_first_post notifications when moving first post
  • Trusted users might cause content to be hidden with one flag
  • Prevent failed remaps during restores
  • Truncate topic_links.url to 500 chars during remap
  • Do not create a double like notification. (#7999)
  • Blank second factor gets default name
  • Polyfills String.prototype.repeat for IE (#7994)
  • Disallow user self-delete when user posted in PMs
  • Use #dup instead of #+@ since content could be an instance of Nokogiri::XML::Element.
  • Drop readonly function when dropping table
  • Create readonly functions during backup
  • Detect DiscourseHub user agent.
  • Award ‘First Onebox’ badge just for Oneboxed URLs. (#7974)
  • Correct OmniAuth route ordering
  • Notify on Reviewable update. (#7980)
  • Wrong discobot tutorial started for certain locales.
  • Remove dependency on present? in distributed_mutex lib
  • Correctly encode non-ASCII filenames in HTTP header
  • Do not follow redirect on same host with path /login or /session
  • Allows replacement of digits and symbols emojis (#7978)
  • Embedding topics would fail with some HTML
  • Don’t hide/close topics if they don’t meet minimum visibility
  • Use unescaped title as combo-box id (#7979)
  • S3 uploads were missing a cache-control header (#7902)
  • Ensures flag-ratio report shows users with disagreed >` agreed (#7977)
  • Show membership requests link just for group owners. (#7543)
  • Generated controller should be in an underscored folder (#7975)
  • Ensures pikaday picker is showing in UTC (#7968)
  • Allows copy pasting file in composer with chrome (#7969)
  • Syntax error in b1f5949
  • Make the workbox path compatible with multisite
  • Composer preview on IE11 (#7970)
  • Rename deprecated “refresh” icon to “sync” (#7966)
  • Better detection of Apple browsers (#7961)
  • Various watched words improvements
  • Don’t include multisite upload path to source URL if already exist.
  • Make uploads recovery compatible with multisite.
  • Correctly update replies when first post gets moved
  • Modal onClose was being called repeatedly
  • Rollback when multisite tests raise exceptions
  • Don’t reuse redis connections in different threads in tests
  • Gravatar uploads being dependent on authorized_extensions.
  • DistributedMutex (#7953)
  • Better error message on username update from Admin user page.
  • Add back verbose option to DbHelper.remap
  • Add frozen_string_literal: true in the migration
  • Prevent user-notifications-dropdown from causing unintended changes
  • Post#each_upload_url yields incorrect path to block when CDN is enabled.
  • Make initializer work on first db:migrate
  • Correctly identify Chromium-based Edge
  • Support multi-file stylesheets in theme components (#7950)
  • Better error when SSO fails due to blank secret (#7946)
  • Include default label when exporting reports
  • Provide an error message if no valid tags were selected
  • Frozen string error in TopicEmbed.import (#7938)
  • Hide live-loaded posts from ignored users
  • Reverts #18e2816 (#7940)
  • Use same id for both original & optimized inventories in multisite setup.
  • Apply defaults constraints to routes format (take 2) (#7920)
  • Keep query params present in auth_redirect (#7923)
  • Ensure that jobs don’t run immediately after migrate_to_s3
  • Improves tags checking when updating category of topic (#7921)
  • Removes uncategorized context if not allowed in composer (#7922)
  • Send featuredLink as featured_link to backend to update correct … (#7915)
  • Use uniq instead of uniq! when checking for uncompressed root path. Use rails naming convention for ZipUtils
  • Migrations tried to change frozen string
  • Update reply count when moving posts
  • Delete notifications users can’t see after moving posts
  • Old notifications didn’t link to correct post after moving post
  • Allows to specify camelCased attributes in wrap component (#7919)
  • Set a minimum reading time per post. (#7842)
  • Always backup local uploads in addition to files stored on S3
  • Do not request refresh on ‘log out all’ request
  • Show same username or name for post notices. (#7862)
  • URL encode usernames in user profile links in RSS feeds
  • Remove post upload record creation inside ‘find_missing_uploads’ method.
  • Bugs preventing to close delete account modal with button (#7904)
  • String that can’t be translated in watched words UI
  • Empty backup names with unicode site titles
  • Respect logout_redirect setting on ‘Log out all’
  • When ‘raw’ started with non-image upload url it’s not converted to short-url.
  • Convert hotlinked non-image urls to short url.
  • Remove all service workers from Apple devices again
  • Rename deprecated icons, allow custom icons in badges
  • Recompile extra_js theme assets when COMPILER_VERSION changes (#7897)
  • Fallback to gzip compression if brotli isn’t supported (#7895)
  • Skip markdown conversion for hotlinked non image urls
  • Backups taken by pg_dump >`= 11 are nonportable (#7893)
  • Apply defaults constraints to routes format (#7890)
  • Ensure suppressed categories do not produce any featured topics. (#7863)
  • Allow ampersand in site_texts routes
  • Recalculate settings when dependent settings change
  • Use default locale for flag reasons
  • Do not show bootbox if post has no replies. (#7866)
  • Turn off search logging when read-only (#7877)
  • Ensures spinner is showing on tags/show when loading more (#7876)
  • Ensures routing with hash doesn’t stuck history (#7872)
  • Ensures routin with hash doesnt stuck history
  • Latest Selenium gem broke Google Groups import script
  • Remapping during restore was wrong for CDN URLs
  • Remap differently when backup comes from multisite
  • Turbo tests exit codes
  • Clear theme editor content on switching tabs
  • Remap shouldn’t try to change read-only columns
  • Show category name in title for crawler view
  • Use correct timezone for manual SQL
  • Don’t use exceptions to catch conflicts
  • Back button would go to previous topic instead of list
  • Only add image size when with & height are in pixels
  • IE grid layout issue on user’s own activity page
  • Fail if none of our tags could be updated
  • Do not show invite button if local logins are disabled
  • Ensures routing to / with query string works (#7859)
  • Don’t disable download_remote_images_to_local if site uses S3 (#7861)
  • Upsert a custom field if a unique constraint fails
  • Ensure lightbox image download has correct content disposition in S3 (#7845)
  • Prevent emoji-picker from not showing (#7856)
  • Respect the full_screen_login parameter from plugin auth providers (#7855)
  • Use title attribute for notification items. (#7840)
  • Remove misplaced save button
  • Show ‘Export’ button for all tabular reports. (#7838)
  • Logs for enabling/disabling components should show up in the staff actions logs
  • Ensures emoji helper is working with custom emojis (#7843)
  • Ensures /t/TOPIC_ID/POST_NUMBER is correctly routing (#7841)
  • Page starts at 1 (#7844)
  • Remove misplaced outlet
  • Creating new badge is failing on empty SQL query (#7837)
  • Only show remove timer button to users with permission to do so
  • Use normal title instead of fancy title for prefilled composer
  • Don’t send notification email when user isn’t allowed to see topic
  • Ensures static pages are using absolute path (#7828)
  • Copy local theme changes to correct temp folder when diffing updates to remote theme
  • Fix a navigation bug
  • FakeExceptions should have the original class name
  • An exception cause is itself an exception
  • Mark topics in sub categories as unread when dismissing parent
  • Turbo_rspec doesn’t accept these options
  • Only include pending/agreed scores in the total score
  • Provides an emoji helper to replace codes by images (#7802)
  • Prevents failure when TL was mutated on internal object (#7808)
  • Do not allow creation of topic if there is no category available for posting (#7786)
  • Calling action with a string is deprecated (#7807)
  • Closes search-menu on escape (#7804)
  • Do not include uncategorized_category_id in topic_create_allowed if posting in uncategorized is disabled
  • Ensure topic exists before making a banner. (#7781)
  • Don’t use DistributedCache to store redis readonly state
  • CategoryUser#batch_set (#7787)
  • Remove notification_level from category_users unique indexes
  • CategoryUser#batch_set wasn’t updating pre-existing records
  • Changed was being reported incorrectly
  • Iterate when clearing watched words cache
  • Multisite upload urls must have either db name or the word ‘short-url’.
  • Mobile overflow for tall fixed modals
  • Ensures url to full reviewable conversation works on subfolder
  • Category-chooser search should be scoped to category (#7794)
  • Ensure :after_auth event is triggered. (#7791)
  • Back button shenanigans when redirecting from index routes
  • Support carriage return in InlineUploads.
  • Don’t replace img tags within anchor tags with markdown format.
  • Edge case with anchor tag in InlineUploads.
  • Some toolbar operations weren’t triggering the change event
  • If a user deletes a hidden post, it should not lose history
  • Do not refresh all settings on save for all settings, limit to only a few
  • ‘status’ param change not filtering the topics in tag route.
  • BBcode edge case for InlineUploads.
  • Use correct name for selectable_avatars_enabled site setting
  • InlineUploads should replace attachment links with markdown text.
  • Upload#short_url generates incorrect URL when extension is nil.
  • Don’t allow users to edit topic information when the OP is locked
  • Couldn’t modify a widget that wasn’t in the registry
  • Remove temporary hack for fixed iOS bug (#7773)
7 « J'aime »

MODIFICATIONS UX

  • Masque le sélecteur d’emojis depuis l’onglet de modification des catégories dans le modèle de sujet (#9036)
  • Masque le sélecteur de date locale lorsqu’il est utilisé en dehors du compositeur principal
  • Limite la hauteur de l’icône dans btn-small pour éviter les incohérences de hauteur
  • Élimine le double défilement modal sur les longs formulaires de création de compte mobiles
  • Utilise le même style pour username et user-name
  • Seul le premier attribut doit être hyperlié
  • Ajoute une marge basée sur la position de l’attribut
  • Améliore l’apparence des petits boutons (#8990)
  • Affiche correctement les mentions dans les petits messages de publication
  • Ajuste la largeur du menu déroulant des notifications de sujet sur mobile
  • Garde les champs de catégorie et de balise du compositeur mobile sur une seule ligne
  • Ajustements mineurs de l’interface du créateur de sondages (#8985)
  • Limite la hauteur des champs utilisateur sur les cartes utilisateur mobiles, ajoute le mixin line-clamp
  • Limite la hauteur des détails des actions du personnel
  • Empêche le nombre de sujets de la liste déroulante des catégories de passer à la ligne (#8943)
  • Utilise le dimensionnement border-box sur les menus déroulants SK2
  • Affiche toutes les catégories parentes pour le sujet de destination
  • L’autocomplétion du compositeur suggérera tous les noms de groupes visibles
  • Ne pas agrandir les emojis dans les sondages (#8934)
  • Affiche l’état du sujet de destination lors du déplacement de publication(s) vers un sujet existant
  • Met à jour la navigation latérale des paramètres du site mobile pour le RTL
  • Correction de la mise en page mobile pour les éléments révisables récupérables
  • Empêche qu’une nouvelle badge soit orpheline sur mobile
  • Désactive toujours le bouton de création de compte lorsque les champs utilisateur sont invalides
  • Ignore le paramètre de nom provenant de l’IDP lorsqu’il est égal à l’email (#8869)
  • Améliore la copie de composer.saved_draft (#8863)
  • Met en cache la liste complète des icônes du sélecteur d’icônes (#8862)
  • Supprime le léger délai de rendu avec le bouton de notification de chronologie (#8860)
  • Ajuste l’algorithme de sélection du nombre de notifications
  • La barre de progression du sujet ne doit pas clignoter sur ordinateur de bureau
  • Introduit le composant icon-picker pour les badges (#8844)
  • Empêche l’en-tête du mini-sélecteur de balises de passer à la ligne (#8858)
  • Ajoute la prise en charge de la navigation par flèches au mini-sélecteur de balises (#8857)
  • Centre les titres dans l’en-tête amarré lorsqu’il n’y a pas deux lignes
  • N’affiche pas la description de l’option épinglée sur mobile (#8846)
  • S’assure que l’icône des options épinglées n’est pas sur une nouvelle ligne (#8845)
  • Inclut les catégories mises en sourdine sur la page des catégories par défaut (#8842)
  • Ajoute une icône pour Google Map onebox.
  • Cache le paramètre allow_embedding_site_in_an_iframe
  • Affiche la chronologie verticale du sujet pendant la rédaction (#8813)
  • Introduit le paramètre automatique ‘categories topics’ (#8804)
  • Les administrateurs ne doivent voir que leurs propres MP lors de la recherche dans :all
  • Le message d’erreur CSV invalide inclut désormais des informations sur la ligne mal formée (#8773)
  • Utilise ‘-’ comme slug de catégorie par défaut (#8607)
  • Ajoute une confirmation lors de l’ajout de synonymes de balises
  • Les utilisateurs doivent confirmer lorsqu’ils quittent un groupe privé
  • Ajustements mineurs au modal de sélection de sujet
  • Améliore l’apparence de l’édition du titre des MP
  • Améliore l’apparence des listes et des champs utilisateur dans les bios mobiles
  • S’assure que tous les codes de sauvegarde générés sont affichés à l’écran
  • Retourne une erreur plus conviviale lorsque le CSV est invalide. Ajoute un bouton Annuler pour revenir à la vue /badges
  • Met à jour l’avertissement de dépréciation IE11 et l’active par défaut
  • Centre le sujet vedette sur les profils mobiles
  • Supprime la dépendance au JS pour les liens de la boîte des catégories
  • Sous-sous-catégories dans « Boîtes avec sous-catégories » + cohérence
  • Corrige le message de validation pour la priorité de recherche de catégorie
  • Quelques ajustements de style de la page des catégories pour les sous-sous-catégories
  • N’utilise pas les avatars comme images opengraph de repli pour les réponses (#8605)
  • Invites#show ne peut pas être demandé en json et n’est pas configuré correctement (#8570)
  • Nouvelles icônes de cloche pour les statuts de notification/suivi
  • Améliore le style des sous-sous-catégories dans la liste des catégories (#8593)
  • Affiche les arrière-petits-enfants dans la liste des catégories (#8592)
  • Empêche le menu d’administration des publications d’apparaître sous l’en-tête sur l’OP
  • Réduit l’opacité sur le contenu des sujets masqués, mais pas sur les contrôles
  • Ajustements mineurs de la page d’administration utilisateur, accommodant les longs noms de groupes
  • Ajustement mineur pour donner plus de flexibilité au champ de saisie du destinataire des MP
  • Augmente la zone de tapotement de la combo-box pour mobile
  • Pluralise « likes/lu ceci »
  • Améliore l’alignement des boutons de connexion/inscription sociale dans Firefox
  • Le z-index de la lightbox d’image doit être supérieur au z-index du modal
  • Améliore la copie sur les modaux Déplacer vers un sujet et Déplacer vers un message
  • Inclut les groupes publics dans l’ensemble des groupes mentionnables (#8516)
  • Petites corrections pour le modal d’inscription iOS
  • Les styles de la combo-box de balises doivent correspondre aux balises sur les sujets
  • Mises à jour mineures du style pour les informations de balise
  • Tente de rendre le chargement des graphiques moins saccadé (#8529)
  • Supprime « voir plus » des modaux de téléchargement (#8470)
  • Supprime l’animation de l’avatar pour les cartes utilisateur mobiles (#8483)
  • Supprime le double encodage des titres d’utilisateur.
  • Empêche les barres de défilement au chargement initial du panneau (#8456)
  • Ajuste les marges des étapes de l’assistant (#8452)
  • Ignore les espaces de début dans la sélection lors de l’ajout d’un lien.
  • Affiche le nom complet du groupe même lorsque le titre est identique. (#8437)
  • N’affiche pas l’ombre sur les images au survol sur les appareils tactiles (#8429)
  • Affiche un message évident lorsque la restauration de sauvegarde est désactivée
  • Ajoute un effet de survol sur les images en lightbox (#8416)
  • Renomme « Masquer les résultats » en « Afficher le vote » dans les sondages (#8403)
  • Définit l’échelle sélectionnée à 100 % si l’échelle est indéfinie
  • Rend les icônes de partage de couleur cohérente pour les thèmes sombres
  • Augmente le fondu sur le contenu du long formulaire d’inscription pour un défilement plus évident
  • Lien d’authentification alternatif plus évident
  • Autorise la touche Entrée pour soumettre un email de test dans le panneau d’administration
  • Au lieu du nombre total d’utilisateurs, affiche uniquement le nombre d’utilisateurs qui seront affectés.
  • Ajoute un indicateur +n dans la liste des sujets MP (#8353)
  • Ajoute un lien de documentation CSP au paramètre content_security_policy_script_src
  • N’ajoute pas d’espaces de début/fin lors de la copie de la clé API dans Firefox
  • La saisie de balises suggère les balises requises si aucune n’a été sélectionnée
  • Affiche l’adresse email de l’utilisateur sur l’email et l’interface « accorder un accès administrateur »
  • Élargit le champ de saisie du nom du groupe de balises et ajoute un texte de remplacement
  • Convertit l’alerte et la fermeture du modal en boutons pour une accessibilité améliorée
  • Applique le bon arrière-plan à <select> sur les thèmes sombres (#8234)
  • Améliore la citation sur iOS
  • Corrige la régression avec le compositeur iOS
  • Met à jour le style des menus déroulants désactivés avec des variables de couleur
  • Standardise l’affichage des balises dans les résultats du menu de recherche
  • Les liens du tableau de bord pointent vers la liste des commits git au lieu de la comparaison git
  • Rend l’interface d’appartenance au groupe plus claire (#8210)
  • Met l’accent sur le fait que les dates locales sont en UTC dans les extraits (#8208)
  • S’assure que les informations onebox GitHub ne se wrapping pas inutilement
  • Améliore le rendu de la nouvelle onebox GitHub dans les emails
  • Ajoute une nouvelle ligne après la fermeture de la balise de sondage pour le créateur de sondages
  • Enveloppe le pied de page de l’email de résumé dans un tableau pour de meilleures options d’alignement
  • Inclut les métadonnées dans les résultats de recherche du modal de lien du compositeur
  • Ajoute des classes CSS au modèle d’email de résumé pour faciliter le style
  • Ajoute un glyphe au bouton « Aide » sur le modal de réinitialisation de mot de passe
  • Déclenche l’action principale dans les modaux en utilisant Entrée
  • Utilise les couleurs du thème pour les étiquettes des problèmes GitHub
  • Meilleur modal d’hyperlien du compositeur (#8160)
  • Refactorise la mise en page du compositeur iOS
  • Arrête d’utiliser une police à largeur fixe pour rendre la description des problèmes GitHub
  • Réduit la taille des icônes onebox GitHub
  • Supprime le paramètre de clavier iPad de iOS 13
  • Corrige le placement de la progression du sujet dans l’application iOS
  • Saisie pour le nom lors de la création d’un nouvel authentificateur (#8153)
  • Ajoute « Brouillons » à l’onglet de profil d’accès rapide. (#8155)
  • Limite la hauteur des modaux grands à un pourcentage de la vue
  • Corrige la mise en page du compositeur sur Android
  • Déclenche le redimensionnement du compositeur lors de la fermeture du clavier sur iPad
  • Contourne l’autocomplétion Chrome lors de la modification des champs de texte administrateur
  • Affiche les lectures/likes dans le même ordre que les boutons du menu de publication (#8140)
  • Mise en page du compositeur pleine vue sur iPad
  • Corrige le placement de la progression du sujet
  • Corrige l’alignement sur la barre de progression du sujet et supprime quelques nombres magiques
  • Améliore la mise en page du compositeur sur les iPads
  • Change le lien de raison d’édition du compositeur en une icône
  • Utilise l’API Visual Viewport pour la hauteur du compositeur iOS
  • Ajoute une classe pour distinguer les catégories spécifiques de modérateur sur la page À propos
  • Utilise le format moyen pour afficher l’heure dans les avis de publication. (#8074)
  • Affiche la version installée avec SHA au lieu du nombre de commits
  • Ajuste l’alignement de l’avatar de présence du compositeur RTL
  • Meilleure image utilisateur pour les intégrations/sujets
  • Aligner les contrôles de chronologie en haut
  • Masquer l’indicateur de lecture si le nombre de lectures est zéro
  • Utilise Flexbox pour l’intégration de la liste des sujets
  • Utilise vertical-align: middle au lieu des unités em
  • Utilise une variable de code couleur
  • Convertit la structure HTML de la liste des sujets intégrés de tableau à div
  • Améliorations de l’indicateur de lecture. (#8049)
  • Supprime les chaînes inutilisées concernant les notifications de bureau
  • Petit suivi de #8047
  • Meilleur alignement pour les balises dans l’en-tête (#8047)
  • Solution de contournement pour le bug d’autocomplétion Chrome dans la recherche
  • Correction de mise en page pour les boîtes de catégories avec de longs noms de sous-catégories
  • Empêche les images non en lightbox dans les citations de s’étirer/écraser (#8021)
  • Masque l’option « Créer une balise » si l’utilisateur ne peut pas créer de balise. (#7723)
  • Emplacement cohérent de la prise plugin category-title-before (#8010)
  • Ajoute un lien vers l’éditeur robots.txt dans la description du paramètre du site
  • Repli vers le nom du fournisseur d’authentification non localisé si nécessaire
  • Empêche les iframes onebox Twitter d’être plus hautes que la vue mobile
  • Améliore la gestion des erreurs pour les exceptions OmniAuth courantes (#7991)
  • Modifie le modèle d’email d’administration pour avoir plus d’espace pour le formulaire (#7993)
  • Efface le nom d’utilisateur lors de l’ouverture du modal de durée d’ignorance
  • Masque les boutons d’en-tête de connexion/inscription pendant les flux d’authentification
  • Ajoute l’icône du bouton de connexion à la page no_ember (#7982)
  • Améliore la mise en page du modal du créateur de sondages
  • Améliore les dates sur l’interface d’exportation des rapports (#7971)
  • Utilise des libellés de jours de la semaine plus courts dans le plugin local-dates
  • Utilise des libellés de jours de la semaine plus courts dans le sélecteur de date
  • Renomme « Conserver la publication » en « Conserver la publication masquée » lorsqu’elle est masquée (#7767)
  • Corrections de style pour la page d’aperçu de l’email de résumé d’administration (#7959)
  • Supprime la bordure confuse sur la liste des utilisateurs ignorés
  • Rend les vues de profil cohérentes avec les autres éléments (#7956)
  • Empêche les dates cuites de passer à la ligne (#7954)
  • Affiche un avertissement lorsque l’administrateur clique sur enregistrer sans ajouter de groupe lors de la modification des permissions de catégorie (#7947)
  • Augmente le contraste du texte de raison épinglé/suivi, améliore la mise en page
  • Améliore l’association de compte lorsque la description du compte est manquante
  • Ajoute une classe expanded/collapsed aux post-controls (#7932)
  • Corrige l’alignement vertical de l’icône favicon onebox (#7926)
  • Améliore la mise en page des longs en-têtes de balises sur mobile
  • Refactorise le modal de téléchargement d’avatar pour un meilleur espacement mobile
  • Met à jour le message « non trouvé » de l’invitation
  • Corrige l’espacement du contrôle de téléchargement d’image de profil sur mobile
  • Ajoute une balise <a> avec href aux titres de boîtes de catégories (#7901)
  • Supprime la copie dupliquée dans les préférences à double facteur
  • Utilise des variables de couleur SCSS
  • Désactive par défaut les notifications d’édition système (#7896)
  • Échange les sections ignorer et mettre en sourdine pour déplacer le bouton « Enregistrer les modifications » en bas
  • Utilise une hauteur relative à la vue pour la zone de texte robots.txt
  • Réorganise les contrôles dans les modaux d’édition
  • S’assure que la pointe de popup s’affiche au-dessus des menus déroulants (#7891)
  • Corrections de style de l’éditeur mobile (#7878)
  • Met à jour le texte de remplacement pour les groupes de balises
  • Ajoute un attribut title et un aria-label au lien d’icône MP
  • Jette la publication sélectionnée si elle n’est pas dans la vue. (#7869)
  • Correction de l’alignement du bouton étendre la publication (#7865)
  • Rend la hauteur du logo du site par défaut un nombre pair de 40px
  • Donne une largeur aux icônes de badge pour accommoder les SVG sans dimension
  • Améliore la onebox de statut Twitter avec des sauts de ligne
  • Ajoute un style pour les tweets cités (#7832)
  • Améliore le style des résultats de sujets similaires dans le compositeur (#7839)
  • Met les balises et les catégories sur la même ligne dans les résultats du menu de recherche (#87830)
  • Améliore le positionnement mobile du bouton de suppression du minuteur du sujet
  • Donne à chaque information sa propre ligne dans les résultats du menu de recherche (#7825)
  • Met à jour la copie de ignored_user_summary (#7748)
  • Déplace le lien pour afficher les sujets suivis, simplifie la traduction
  • Change l’icône pour l’indicateur d’espace réservé vidéo
  • Masque l’infobulle « la publication n’est pas lue » après que la publication a été lue (#7813)
  • Rend l’icône d’espace réservé vidéo onebox grise
  • Requiert une confirmation si l’on approuve une publication dans un sujet fermé
  • Nouveau bouton en ligne pour supprimer un minuteur de sujet (#7790)
  • Ajoute un raccourci pour différer les sujets (#7798)
  • Améliore le sélecteur de date du modal de changement d’horodatage (#7771)
  • Affiche l’icône de like sur les publications archivées (#7775)

MODIFICATIONS DE SÉCURITÉ

  • 2FA avec U2F / TOTP
  • Utilise un parsing JSON strict lors de l’analyse des métadonnées de sauvegarde
  • Améliore la logique d’authentification à deux facteurs
  • Corrige la vérification des permissions lors de la révocation des clés API utilisateur
  • Vulnérabilité dans WildcardUrlChecker
  • Met à jour rack-mini-profiler pour éviter un possible XSS (#8537)
  • Supprime les gestionnaires d’événements des fichiers SVG
  • S’assure que seuls les téléchargements d’images peuvent être intégrés
  • Met à niveau puma de 3.12.1 à 3.12.2 (#8464)
  • Vérifie les permissions lors de l’autocomplétion des mentions
  • Décompresse en toute sécurité les sauvegardes lors de la restauration. (#8166)
  • Mini profiler activé incorrectement pour les administrateurs
  • Décompresse en toute sécurité les fichiers. (#8124)
  • Met à jour la dépendance rubyzip
  • Met à jour rack-mini-profiler vers la dernière version pour corriger le XSS
  • N’autorise pas base_uri comme hôte intégrable si aucun n’existe
  • XSS lors de la onebox du champ de localisation du profil utilisateur
  • Réinitialise le mot de passe lors de l’activation d’un compte via un fournisseur d’authentification
  • N’envoie pas le jeton CSRF dans la chaîne de requête
  • Met à niveau nokogiri
  • Ajoute une limitation de débit pour la signalisation des erreurs JS anonymes
  • Ne révèle pas les détails de la catégorie aux utilisateurs qui n’ont pas accès
  • Restreint l’accès message-bus sur les sites login_required
  • Requiert POST avec un jeton CSRF pour la phase de requête OmniAuth
  • Nettoie l’ID d’email pour une utilisation comme clé mutex
  • Ajoute un écran de confirmation lors de la connexion de comptes associés
  • Valide l’identifiant de bloc de sauvegarde
  • XSS lors de l’affichage des mots surveillés dans le panneau d’administration.
  • Injection SQL avec les catégories par défaut
  • Met à niveau lodash
  • XSS avec le sélecteur de titre sur la page des préférences
  • Supprime le HTML des emails d’invitation
  • XSS dans les routes
  • Échappe le texte de l’email pour les publications contenant [details].

PERFORMANCE

  • Évite d’appeler le shell pour obtenir le nom d’hôte de manière agressive
  • Mémorise les champs utilisateur autorisés plus efficacement (#8968)
  • Mémorise PostRevisor#diff_size (#8939)
  • Optimise l’édition de publication
  • Charge les utilisateurs par lots lors de la génération de notifications (#8870)
  • Accélère le déplacement des publications sur les grandes bases de données
  • Utilise une route séparée pour les cartes utilisateur et sépare le sérialisateur utilisateur (#8789)
  • Met en cache les rangs pour les badges vedettes, pour simplifier la sérialisation utilisateur (#8698)
  • Réduit les requêtes DB lors de la sérialisation des informations d’ignorance/mise en sourdine (#8629)
  • Met en cache les ID d’utilisateurs ignorés et mis en sourdine dans l’objet current_user
  • Évite les requêtes DB lors de la vérification de la permission d’ignorance/mise en sourdine dans guardian
  • Met en cache le nombre de badges utilisateur dans la table user_stats (#8610)
  • Effectue moins de requêtes lors de la conversion des publications. (#8358)
  • Met en cache les ressources statiques dans NGINX plus longtemps
  • Ajoute un index filtré pour les bannières
  • Ajoute un index aux notifications pour accélérer le déplacement des publications
  • Arrête de détruire les brouillons sur le client lors de la publication de réponses
  • Exécute le nettoyage coûteux des uploads moins fréquemment
  • Met en cache les nombres de nouveaux utilisateurs dans les emails de résumé
  • Ajoute un index sur le groupe pour category_groups (#8231)
  • Ajoute un index unique oauth2_user_infos(user_id, provider) (#8230)
  • Déplacement plus rapide de l’état de lecture
  • Évite les expressions régulières pour le chemin critique
  • Réutilise le rendu lors du rendu des modèles d’email
  • Accélère le temps de rendu de la page À propos et limite les modérateurs de catégorie (#8112)
  • S’assure que nous réchauffons le cache de schéma dans l’ensemble du multisite
  • Évite de lancer un thread à chaque fois que nous fermons une connexion
  • Met à jour le nombre de lecteurs lorsqu’une publication d’un autre utilisateur est lue. Ne récupère pas à nouveau les données de la publication juste pour mettre à jour le nombre. (#8078)
  • Utilise l’URL CDN pour le proxy de favicon
  • Exécute plusieurs threads pour les tâches régulières planifiées
  • Réduit la fenêtre de cohérence sur les actions utilisateur
  • Évite de filtrer les brouillons partagés lorsqu’ils ne sont pas utilisés
  • Sélectionne uniquement le champ que nous utilisons
  • Précalcule la dernière publication lue par un membre du groupe
  • Calcul de la longueur du corps du compositeur plus rapide
  • Évite N+1 sur la vue du sujet
  • Rake posts:rebake_uncooked_posts s’exécute en ligne
  • Message_bus sera différé par le serveur lorsqu’il est inondé
  • Ajoute plus de contraintes sur l’utilisation du stockage Cache
  • Améliore la vitesse de requête lors de la recherche de MP directs
  • Utilise Oj pour sérialiser le JSON. (#7820)
  • Limite le temps passé à comparer de gros blocs de texte
  • Utilise Oj pour sérialiser le JSON. (#7780)
11 « J'aime »