Une réponse ou un fil dans un flux, et désormais une publication citée qui est elle-même une réponse, disposent d’un bouton Afficher le fil qui déplie sur place les publications auxquelles elle répond, sans déplacer ce que vous lisez. Masquer le fil les replie, le fil se replie aussi de lui-même une fois sorti de l’écran, et quand la publication à laquelle elle répondait a été supprimée, le bouton ouvre sur une ligne qui le signale.
Chaque envoi d’un webhook doté d’un secret porte désormais un en-tête X-Catodon-Signature, un HMAC-SHA256 d’un horodatage et du corps, calculé avec ce secret, pour que le récepteur puisse vérifier qu’il vient bien de votre instance et qu’il est récent. Les webhooks créés sans secret en reçoivent désormais un aléatoire, et X-Misskey-Hook-Secret, qui envoie le secret lui-même, est déprécié et sera retiré dans la 27.1.0.
Les webhooks de compte et les webhooks système listent désormais leurs 30 dernières tentatives d’envoi : quand, pour quel événement, le statut HTTP ou la raison de l’absence de réponse, et la durée. Un bouton Renvoyer relance un envoi perdu pendant que votre récepteur était hors service, même quand le webhook est désactivé, en gardant son eventId pour que le récepteur puisse le reconnaître. Le journal se lit aussi par i/webhooks/deliveries et admin/system-webhook/deliveries.
Un webhook qui échoue à livrer 10 événements d’affilée, le premier au moins une heure plus tôt, est désormais désactivé au lieu d’être envoyé indéfiniment vers une adresse morte, et son ou sa propriétaire est prévenu·e : le compte, ou chaque modérateur·ice et administrateur·ice pour un webhook système. Seuls comptent les événements qui ont épuisé toutes leurs tentatives, si bien qu’une courte panne ne change rien, et le webhook peut être réactivé une fois son récepteur rétabli.
Un forum d’une autre instance, comme Lemmy, Mbin ou PieFed, peut désormais être suivi par le compte proxy de cette instance : le forum voit alors le proxy comme abonné à votre place, tandis que ses publications arrivent toujours dans vos flux et que les notifications fonctionnent comme pour n’importe quel abonnement. Un réglage choisit le comportement du bouton S’abonner ; il n’est proposé ni pour les forums de cette instance ni pour les forums qui approuvent leurs abonné·es à la main.
Une publication qu’un de vos flux personnalisés a ajoutée à Abonnements, venue d’un compte que vous ne suivez pas, porte désormais au-dessus d’elle une ligne qui nomme ce flux et l’ouvre, à la manière de la ligne Hashtag suivi. Quand un hashtag que vous suivez explique déjà la publication, seul le hashtag est nommé, et les publications qui seraient de toute façon dans Abonnements n’ont pas de ligne.
Les administrateur·ices peuvent ajouter leurs propres widgets à la colonne des widgets : une petite page HTML, avec du CSS et éventuellement du JavaScript, ou une intégration comme un bouton de don ou un widget Discord. Chacun s’exécute isolé de l’application, sans pouvoir savoir qui vous êtes ni agir à votre place, et celui qui charge du contenu d’autres sites demande avant de récupérer quoi que ce soit, puisque ces sites verraient votre adresse IP.
Un nouvel interrupteur des flux personnalisés empêche un mot-clé de correspondre à l’intérieur de l’identifiant d’un compte mentionné par une publication : avec le mot-clé catodon, une publication qui ne fait que mentionner quelqu’un sur catodon.social n’arrive plus dans le flux. Il s’applique aussi aux mots-clés exclus, est désactivé par défaut, suit les exports, et les applications le règlent par keywordsIgnoreMentions dans antennas/create et antennas/update.
Une publication venue de Misskey, Sharkey, CherryPick ou d’une autre instance Catodon n’affichait que les réactions que votre instance avait reçues par hasard. Désormais, quand une personne connectée en ouvre une, votre instance demande ses réactions à l’instance d’origine et affiche le plus grand des deux comptes pour chaque émoji, en mettant à jour la publication à l’écran, et les applications Mastodon voient les mêmes chiffres. Les requêtes sont rares et espacées, et les instances bloquées ou mises en sourdine ne sont jamais interrogées.
Une publication que vous avez déjà boostée propose désormais Booster à nouveau, qui la fait remonter pour vos abonné·es sans annuler le premier boost, avec la visibilité de votre dernier. Pour ne pas inonder les flux, les boosts d’une même publication, programmés compris, doivent être espacés d’au moins 24 heures, et la publication ne grimpe pas davantage dans les tendances. Annuler le boost retire toujours tous vos boosts de cette publication d’un coup.
Les notifications push pour les applications Mastodon
Tusky, Pachli, Ice Cubes et les autres applications Mastodon peuvent désormais s’inscrire aux notifications push : elles apprennent chaque nouvelle notification aussitôt, au lieu de vérifier toutes les 15 minutes ou de ne rien recevoir une fois fermées. Les types de notification demandés par l’application et son réglage « de qui » sont respectés, et révoquer l’accès d’une application supprime son abonnement. Le tout s’appuie sur les réglages Web Push existants de l’instance.
Traduire les textes alternatifs et les publications citées
Traduire une publication traduit désormais dans le même geste les descriptions de ses images et vidéos, affichées sous une ligne Traduit depuis, et une publication avec des images mais sans texte peut être traduite pour ses seules descriptions. Une citation est traduite avec la publication qui l’affiche, seulement pour les parties dans une langue que vous ne lisez pas, et la visionneuse de médias comme les publications citées ont leurs propres boutons de traduction.
Avec Cliquer pour ouvrir les publications activé, un clic sur l’en-tête d’une citation, sur un espace vide ou sur sa marge ouvre désormais la publication citée, comme le faisait déjà un clic sur son texte, dans les flux comme sur la page de la publication. Auparavant, la citation de la page de publication ne réagissait pas à cet endroit, et celle d’un flux ouvrait la publication qui contenait la citation.
Une publication qui est un événement venu de Mobilizon, de Gancio ou d’une autre instance affiche désormais sous son titre une carte avec la date, l’heure dans le fuseau horaire de l’événement et dans le vôtre, chaque lieu avec son adresse, l’éventuel lien en ligne, et s’il est annulé ou reporté. Rien n’est chargé depuis un service de cartographie tant que vous ne suivez pas un lien, et Ajouter au calendrier télécharge un fichier .ics construit dans votre navigateur.
Une nouvelle page Événements liste les événements qui ne sont pas encore terminés, les plus proches d’abord, parmi tous les événements publics que l’instance connaît, avec des onglets pour ceux de cette instance et pour les comptes et forums que vous suivez, et des filtres par catégorie ou par hashtag. Les profils et les forums qui ont des événements à venir gagnent un onglet Événements, et les applications lisent la liste par la nouvelle route events/upcoming.
Événement, dans le menu … du formulaire de publication, transforme une publication en événement avec un titre, un début et une fin, un fuseau horaire, un lieu, une adresse et un lien en ligne, et une modification peut l’annuler ou le reporter. Les autres instances le reçoivent comme un Event ActivityPub, sous la forme que décrit la FEP-8a8e, avec une ligne indiquant la date et le lieu pour que Mastodon les affiche aussi. Les applications utilisent le nouveau paramètre event de notes/create, notes/edit et notes/schedule/create.
Un événement créé ici accepte par défaut les réponses de tout le monde, dans la limite d’un nombre de places si l’organisateur·ice en fixe un, et les personnes sur Mobilizon, Friendica et Hubzilla peuvent aussi répondre. Participer, Peut-être et Je ne peux pas se trouvent sous l’événement ; le nombre de participant·es est public, leur identité n’est visible que par l’organisateur·ice. Les applications utilisent les nouvelles routes events/rsvp, events/unrsvp et events/attendees, pour les événements de n’importe quelle instance.
Événement privé, dans l’éditeur d’événement, transforme un événement en publication directe adressée aux personnes que vous invitez, qui seules peuvent le voir et y répondre, et qui reçoivent une notification avec des boutons de réponse. Aucune d’elles ne peut voir qui d’autre a été invité, sur cette instance ou sur une autre, et l’organisateur·ice garde la liste des invité·es et de leurs réponses sous Participant·es.
Chacun·e peut désormais inviter quelqu’un à un événement public ou non listé depuis sa carte. Une personne de cette instance reçoit une notification avec des boutons de réponse et retrouve l’événement sous Mes événements, tandis qu’une personne d’ailleurs reçoit un message avec le titre, l’heure, le lieu et le lien, que les instances Catodon qui connaissent ces invitations transforment en la même notification. Chaque personne n’est invitée qu’une fois, et jamais quelqu’un qui vous bloque ou vous masque.
Les événements sur les instances qui ne les gèrent pas
Misskey, Sharkey et les versions antérieures de Catodon, qui ne connaissent rien aux événements, affichent désormais le titre, la date, le lieu et le lien d’un événement au-dessus de sa description, si bien qu’un événement publié ici dit toujours quoi, quand et où sur ces instances.
La page Événements gagne un bouton Nouvel événement, des vues À venir et Passés, et un onglet Mes événements pour les événements auxquels vous avez répondu, les invitations et les événements que vous organisez. L’éditeur règle désormais une catégorie, la façon d’y participer et un nombre maximal de participant·es, et son champ d’adresse recherche le lieu et l’épingle sur une carte que vous pouvez ajuster. La recherche et les tuiles de la carte passent par votre propre instance, si bien que votre navigateur ne contacte jamais OpenStreetMap.
Testés face à Mobilizon, Gancio, Friendica, Hubzilla, Mastodon, Lemmy, NodeBB, Mbin et PieFed, les événements s’affichent désormais mieux sur bon nombre d’entre eux : Mastodon et Hubzilla affichent une ligne qui dit quand et où, les réponses parviennent à Hubzilla, et un événement sur invitation arrive sur Friendica comme un événement plutôt que comme un message privé. Les événements publiés dans des forums NodeBB, Mbin ou PieFed leur parviennent désormais comme des publications de forum ordinaires.
Quand vous demandez à participer à un événement d’une autre instance, comme un événement Mobilizon qui approuve ses participant·es, vous êtes prévenu·e quand l’organisateur·ice vous accepte ou vous refuse ; pour un événement ouvert à tout le monde, seul un refus est annoncé. La notification peut être désactivée dans Paramètres > Notifications, et un événement ouvert à l’écran se met à jour sans rechargement dès que la réponse arrive.
Mobilizon ne prévient pas les autres instances quand quelqu’un rejoint un événement, si bien que les chiffres affichés ici devenaient périmés. Désormais, quand une personne connectée ouvre ou liste un événement à venir d’une autre instance, cette instance est de nouveau interrogée sur le nombre, au plus toutes les dix minutes par événement, et le nouveau chiffre apparaît sur la page ouverte dès qu’il arrive.
Administration > Intégrations > Cartes règle le serveur de tuiles, le crédit affiché sur la carte et la recherche d’adresse compatible Nominatim qu’utilise l’éditeur d’événement, à la place de ceux d’OpenStreetMap. Les tuiles sont conservées par serveur de tuiles, si bien qu’un changement n’affiche jamais les anciennes, et un nettoyage quotidien retire les tuiles que personne n’a regardées depuis un mois.
La collection upcomingEvents que lisent les autres instances ne listait que les 50 premiers événements à venir d’un compte. Elle les liste toujours, et renvoie désormais vers des pages suivantes quand il y en a davantage, pour que les autres instances puissent atteindre tous les événements à venir d’un compte.
/@user/events.ics est un flux iCalendar des événements publics d’un compte, ceux à venir et ceux des 30 derniers jours, pour que vous puissiez les suivre dans votre application d’agenda. Il est proposé pour les mêmes comptes que leurs flux Atom et RSS, un bouton de l’onglet Événements du profil copie son adresse, et les événements réservés aux abonné·es, non listés ou de forums privés n’y apparaissent jamais.
Une publication citée, comme une publication affichée dans une carte d’aperçu de lien, a désormais ses propres boutons Répondre, Booster, J’aime et menu avec leurs compteurs, pour que vous puissiez y répondre ou l’aimer sans l’ouvrir. Un partage croisé de forum affiche ainsi son original, avec son score et son vote négatif, et les compteurs se mettent à jour en direct à mesure que d’autres répondent, aiment, votent ou boostent.
Le compteur de boosts d’une publication monte et descend désormais à mesure que d’autres personnes la boostent ou annulent leur boost, dans les flux, les cartes de forum et les citations, là où seuls vos propres boosts apparaissaient jusqu’ici sans rechargement. Les applications qui suivent une publication par l’API de streaming reçoivent les nouveaux événements renoted et unrenoted, et les cartes de forum affichent désormais les chiffres plus élevés annoncés par l’instance d’origine de la publication.
Les réglages de la barre du bas sur mobile se trouvaient jusqu’ici dans ceux de la Barre de navigation ; ils ont désormais leur propre page Barre du bas sur mobile dans Paramètres → Navigation et disposition, sous Barre de navigation. Son bouton Widgets s’affiche désormais orienté de la même façon que dans la barre elle-même.
Un forum d’une autre instance que personne ici ne suit paraissait vide. Sa page a désormais un bouton de rechargement, comme un profil distant, qui met à jour ses informations et récupère jusqu’à dix de ses derniers fils, pour Lemmy, PieFed, NodeBB et les autres forums qui listent publiquement leurs publications. Les fils déjà connus ici sont désormais rangés sous leur forum, eux aussi, et chaque forum peut être actualisé une fois toutes les cinq minutes.
Quand votre politique de notifications retient ce que quelqu’un vous envoie, son message le plus récent dans Messages porte désormais les boutons Accepter, Archiver et Archiver et bloquer. Accepter laisse passer le compte à partir de là et libère ses notifications retenues, tandis qu’archiver déplace et met en sourdine la conversation sur tous vos appareils. Les applications disposent des nouvelles routes notes/direct-messages/filtered-senders et notes/direct-messages/accept-sender.
Une nouvelle vue Vidéos rassemble les vidéos des chaînes PeerTube que vous suivez et des chaînes YouTube auxquelles vous êtes abonné·e par flux RSS dans une seule grille par date, avec les directs PeerTube et Owncast en tête. Elle mémorise où vous en êtes de chaque vidéo sur tous vos appareils, tient une liste À regarder plus tard et cherche sur PeerTube grâce à un index de recherche, et les abonnements YouTube peuvent être importés depuis Google Takeout ou un fichier OPML.
Dans l’onglet Chaînes de la vue Vidéos, Sélectionner transforme la liste en cases à cocher, pour que vous puissiez cocher plusieurs chaînes, exporter les chaînes YouTube cochées en CSV Google Takeout ou en fichier OPML, ou vous désabonner de toutes après une seule confirmation. Tout sélectionner puis Se désabonner dans l’onglet YouTube retire toutes les chaînes YouTube, et une chaîne dont le désabonnement a échoué reste cochée pour que vous puissiez réessayer.
Quand l’instance est reliée à un fournisseur OpenID Connect comme Keycloak, Authentik ou Entra ID, les fenêtres de connexion et d’inscription proposent un bouton pour celui-ci, tandis que les règles d’inscription habituelles de l’instance s’appliquent toujours. Les comptes existants peuvent lier ou délier le fournisseur dans Paramètres > Sécurité. Les administrateur·ices déclarent les fournisseurs dans la nouvelle section sso du fichier de configuration, qui peut aussi confier la gestion des rôles au fournisseur.
L’import d’une liste ou d’un flux personnalisé se termine désormais par une notification d’un nouveau type, importCompleted, qui porte importedEntity et le compte de ce qui a été écrit et de ce qui a été laissé de côté. L’interface web et les notifications push l’affichent, un client de l’API peut l’écarter, et elle n’est pas envoyée aux applications Mastodon, puisque Mastodon n’a pas de type équivalent.
Les lanceurs Android qui dessinent toutes les applications d’une seule couleur, ainsi que les icônes à thème d’Android, affichaient un Catodon installé sous la forme d’un carré plein. L’application propose désormais le logo de Catodon comme icône monochrome, que ces lanceurs dessinent dans leur couleur. Les administrateur·ices qui définissent leurs propres icônes d’application peuvent en ajouter une dans un nouveau champ d’Administration > Image de marque, une page désormais organisée selon l’endroit où chaque image apparaît.
Connecté·e à un compte Mastodon, Découvrir a désormais un onglet Liens avec les actualités que son instance voit en tendance, un onglet Utilisateur·rices avec son annuaire de profils, et Hashtags suivis à côté de Tendances dans l’onglet Hashtags. Chacun n’apparaît que là où l’instance du compte le propose, à partir de Mastodon 3.0, 3.5 ou 4.0 et sur les autres instances qui répondent, et rien ne change pour un compte de cette instance.
À côté de Masquer les boosts, le menu d’un compte propose désormais Masquer les réponses : ses réponses à d’autres personnes quittent tous les flux, tandis que ses propres publications, ses fils, ses boosts, ses réponses à vous et ses messages restent. Paramètres > Masquages et blocages liste les comptes dont vous avez masqué les réponses, et les applications disposent de reply-mute/create, reply-mute/delete et reply-mute/list, avec isReplyMuted dans la relation avec un compte.
Les annonces de l’instance pour les comptes Mastodon
Connecté·e avec un compte Mastodon, Annonces liste désormais les annonces de cette instance avec leurs liens, leurs mentions et leurs émojis personnalisés, marque celles qui ne sont pas lues et pose une pastille sur l’entrée de navigation. J’ai compris en écarte une sur l’instance, et des réactions peuvent être ajoutées ou retirées. La fonctionnalité apparaît sur Mastodon 3.1 et suivants et sur les versions qui en dérivent, et sur les autres instances dès qu’elles répondent pour les annonces.
Connecté·e à Catodon avec un compte Mastodon, le menu d’un compte distant propose désormais Bloquer cette instance, et Paramètres > Masquages et blocages liste les instances bloquées avec un champ pour en ajouter une. Les blocages passent par les blocages de domaine de Mastodon lui-même, ce sont donc les mêmes que ceux qu’affichent les applications Mastodon, et leur effet au-delà du masquage dépend de l’instance du compte. La fonctionnalité est proposée sur Mastodon depuis la 1.4, sur Akkoma et sur les instances compatibles.
Connecté·e avec un compte Mastodon sur une instance sous Mastodon 4.0 ou plus récent, Glitch-soc ou Hometown avec la traduction activée, le bouton de traduction et l’entrée de menu demandent désormais à cette instance de traduire la publication, en gardant ses liens, ses mentions et ses émojis. Ils sont proposés sur les publications publiques et non listées, les seules que Mastodon traduit, et à partir de Mastodon 4.2 seulement quand l’instance sait traduire cette langue.
Une application qui propose de créer un compte, comme celle de Mastodon, peut désormais le faire sur une instance Catodon par la route POST /api/v1/accounts de Mastodon, en suivant toutes les règles du formulaire de l’instance : invitations, approbation, vérification de l’adresse e-mail, âge minimum et noms d’utilisateur réservés. Chaque refus est signalé sur son champ. Une instance dotée d’un captcha refuse les inscriptions depuis les applications, et celles-ci sont limitées en débit par adresse IP et par application.
Le flux Comptes est renommé Flux, et à côté des comptes et des hashtags, sa liste a désormais une ligne pour chaque forum et flux RSS suivi et pour chacune de vos listes et chacun de vos flux personnalisés, placée selon sa publication la plus récente. Sélectionner une ligne affiche ses publications à côté de la liste, des interrupteurs dans Options choisissent les types listés, et le champ de recherche les retrouve par leur nom. Les applications disposent de la nouvelle route streams/latest.
Comme dans Mastodon 4.6, un·e visiteur·se sans compte peut laisser une adresse e-mail sur un profil qui le propose et recevoir par e-mail les publications publiques de ce compte, une fois l’adresse confirmée, avec un lien de désabonnement dans chaque e-mail. Un compte l’active dans Paramètres > Confidentialité, où il voit combien il a d’abonné·es mais jamais leurs adresses. Les administrateur·ices l’activent par rôle, et les applications peuvent utiliser POST /api/v1/accounts/:id/email_subscriptions.
Les abonnements par e-mail s’étendent aux blogs : un·e visiteur·se non connecté·e trouve un bouton S’abonner dans l’en-tête du blog et un encadré après avoir lu un article jusqu’au bout, puis reçoit par e-mail les seuls articles du blog, chacun avec son titre, son résumé et son lien. Un·e auteur·ice peut proposer le formulaire du profil, celui du blog, les deux ou aucun, et email-subscriptions/create prend un nouveau paramètre kind, all ou blog.
Administration > Performance s’ouvre désormais sur des réglages suggérés pour la machine sur laquelle l’instance tourne, déduits de sa mémoire, de ses cœurs de processeur, des comptes actifs, de la taille de la base de données et de l’espace disque libre, chacun avec sa raison et un bouton Appliquer. Rien ne change tant que vous n’en appliquez pas un, et un disque presque plein pour les fichiers distants en cache allume la pastille de l’Administration. La liste est aussi disponible par admin/performance-suggestions.
Les flux Comptes, Forums et RSS peuvent désormais afficher leur liste seule, sur toute la largeur de la colonne du flux : un compte, un forum ou un flux s’ouvre alors sur sa propre page, avec une flèche de retour, comme sur un téléphone. Le choix se trouve dans le menu Options de chaque flux et dans les Paramètres, est mémorisé par appareil pour chacun des trois, et convient aux écrans où deux colonnes côte à côte se sentent à l’étroit.
Une publication de la liste d’un forum affiche désormais jusqu’à trois lignes de son texte sous son titre, ou la description de la page liée pour un simple lien, sauf si elle est derrière un avertissement de contenu. Les publications sont dessinées en panneaux, comme dans un flux, et en disposition sur une seule colonne, chaque forum de la liste affiche le début de sa description avec ses nombres d’abonné·es et de publications.
Le renvoi ajouté côté instance dans la 26.10.0 dispose désormais d’un écran dans Paramètres → Gestion du compte → Migration de compte. Les visiteur·ses de votre profil voient un avis qui pointe vers l’autre compte, tandis que vos abonné·es, vos publications et vos abonnements restent où ils sont ; vous ne pouvez pas publier tant que le renvoi est en place, et contrairement à une migration, il peut être annulé à tout moment.
Les marque-pages peuvent être rangés dans des catégories privées, affichées en rangée au-dessus de vos publications enregistrées, pour qu’une longue liste reste facile à parcourir ; une publication peut figurer dans plusieurs à la fois, et le menu d’une publication la classe en un clic. Personne d’autre ne voit vos catégories, les applications Misskey les voient comme des clips, et une instance migrée depuis Misskey retrouve les anciens clips de ses comptes sous forme de catégories.
Importer et exporter les catégories de marque-pages
Paramètres → Données et stockage a une section Catégories de marque-pages qui exporte vos catégories sous forme de fichier de clips, le format de Misskey et de Sharkey, et en importe un venu de Catodon, de Misskey ou de Sharkey, en ajoutant aux marque-pages chaque publication qu’il contient. Un nouveau champ indiquant l’instance d’origine du fichier permet de retrouver les publications de cette instance, pour cet import comme pour celui des marque-pages.
Les modérateur·ices disposent d’une entrée Actualiser les données distantes dans le menu d’une publication venue d’une autre instance, qui la relit depuis son origine comme si elle venait d’arriver. Une publication reçue avant une correction d’affichage, comme une vidéo PeerTube, prend l’apparence actuelle ; ce n’est pas une modification, donc la publication n’est pas marquée comme modifiée et personne n’est notifié.
Les menus pour choisir un flux personnalisé, une liste ou un flux se dotent désormais d’un champ pour les filtrer en tapant dès qu’ils comptent 10 entrées ou plus, comme le faisaient déjà les longues listes déroulantes. Cela concerne les onglets Flux personnalisés et Listes du flux, le sélecteur du widget Flux et le bouton qui remplit la page de recherche à partir d’un flux personnalisé.
Paramètres → Apparence gagne Gruvbox Dark et Light, Rosé Pine OLED sur noir pur, Nyan Trail Night créé par Sproid pour cette version, ainsi qu’un thème sombre et un thème clair aux couleurs de Bluesky, Discord, Mastodon, Threads, du Twitter classique et de 𝕏. Les thèmes de réseaux n’empruntent que les couleurs, sans logo, et assombrissent toute teinte trop pâle pour se lire en texte.
Chaque image porte désormais une pastille sur sa miniature : ALT ✔ quand elle a une description, qu’un clic déplie par-dessus l’image, et ALT ✘ barré quand elle n’en a pas, pour que les images non décrites se repèrent. Les vidéos et les tuiles de la grille de médias affichent la même chose, et les lecteurs d’écran continuent de lire la description sur l’image elle-même.
La visionneuse de médias gagne une barre d’outils avec un bouton ALT qui affiche la description sans réduire l’image, une loupe pour la voir en taille réelle et le même menu qu’une miniature, ainsi qu’un compteur et les dimensions, le poids et le format du fichier. Les images masquées le restent jusqu’à ce que vous les dévoiliez, et la visionneuse revient de la dernière image à la première.
Mastodon n’affiche que les quatre premiers fichiers d’une publication : le formulaire de publication avertit donc dès qu’un cinquième est joint, marque la coupure d’un trait pointillé et estompe les miniatures qui suivent. Les fichiers se déplacent par glisser-déposer pour choisir lesquels passent en premier ; rien n’est bloqué, et les personnes sur Catodon voient toujours tous les fichiers.
La description d’un profil a désormais un bouton Traduire en dessous, comme une publication, qui utilise le traducteur de l’instance et affiche le résultat sous la biographie avec sa langue d’origine. Il est proposé quand un traducteur est configuré et que le profil déclare une langue que vous ne lisez pas ; les applications y accèdent par la nouvelle route users/translate.
À côté du bouton de réponse, une publication dans un flux ou sur une carte de forum affiche désormais le nombre de réponses de tout son fil, et pas seulement des réponses directes, et survoler le bouton détaille les deux nombres. Un réglage rétablit l’ancienne forme « 3 (12) » ou les seules réponses directes, et les applications trouvent le total dans threadRepliesTotal.
La nouvelle route notes/thread renvoie en une seule requête les réponses à une publication sur plusieurs niveaux, sous forme de liste à plat où chaque réponse indique son parent, avec un curseur partout où il reste des réponses. Elle trie par pertinence, des plus anciennes ou des plus récentes à chaque niveau, accepte des limites de taille, et écarte les réponses que vous ne pouvez pas voir ainsi que tout ce qui se trouve en dessous.
Le flux Comptes liste désormais les hashtags auxquels vous êtes abonné·e parmi les comptes que vous suivez, chacun avec sa dernière publication publique, et en choisir un affiche ses publications à côté de la liste, avec un bouton pour vous désabonner. Un interrupteur dans Options les écarte et une nouvelle catégorie Hashtags les liste seuls ; la colonne Comptes du deck fait de même, et la liste se charge désormais au fil du défilement.
La dernière publication de chaque hashtag suivi, pour les applications
La nouvelle route notes/followed-hashtags renvoie, pour chaque hashtag auquel vous êtes abonné·e, sa publication publique la plus récente, de la plus récente à la plus ancienne, avec les mêmes filtres et la même pagination que notes/following. Les publications des comptes et des instances mis en sourdine, bloqués ou suspendus, et celles qui portent un hashtag que vous avez bloqué, sont écartées.
Une réponse écrite par l’auteur·ice de la première publication d’un fil affiche désormais un petit OP à côté de son nom, dans les flux, sur les pages de publication et sur les profils, et un clic dessus ouvre la première publication. Les applications le lisent dans le champ byThreadAuthor de chaque réponse.
Un thème, installé ou défini par un·e administrateur·ice comme thème de l’instance, peut désormais régler les largeurs de la mise en page, les espacements et l’arrondi des coins en plus des couleurs, à partir d’une liste fixe de propriétés personnalisées. Les valeurs doivent être de simples tailles, tout le reste est ignoré, et le CSS personnalisé de l’instance comme le vôtre l’emportent toujours sur ce que règle le thème.
Paramètres → Apparence → Texte et formes → Arrondi des coins gagne un quatrième choix, Thème, à côté de Catodon, Misskey et Sharkey, qui reprend les coins réglés par le thème en cours. Choisir un thème qui les règle propose une fois de passer à ce choix ; rien ne change pour qui ne le fait pas.
Fichiers de marque-pages et d’instances bloquées dans les Paramètres
Les imports de marque-pages et de domaines bloqués ajoutés côté instance dans la 26.10.0 ont désormais leurs boutons dans Paramètres → Données et stockage → Importation et exportation, et acceptent les fichiers de Catodon comme ceux de Mastodon. Les instances bloquées s’exportent directement en blocked_domains.csv, le fichier que lit Mastodon, et les administrateur·ices peuvent autoriser ou refuser chacun de ces imports selon le rôle.
Motifs, règles et publications dans les signalements
La fenêtre de signalement demande désormais un motif, permet de cocher les règles de l’instance enfreintes et de joindre les publications récentes du compte, celle d’où part le signalement étant déjà cochée. Les modérateur·ices voient tout cela dans l’Administration, les règles telles qu’elles étaient rédigées au moment du signalement, et on ne peut joindre que des publications qu’on peut voir soi-même.
Quand un·e modérateur·ice suspend un compte, local ou d’une autre instance, toutes les personnes de l’instance qui y étaient abonnées ou auxquelles il était abonné reçoivent une notification qui le dit, avec le nombre de leurs abonnements qui ont cessé de fonctionner, comme le fait déjà le blocage d’une instance. Les abonnements sont conservés, si bien que lever la suspension les rétablit, et les applications Mastodon la reçoivent comme une notification de relations rompues.
Quand un compte a un lien vérifié, contrôlé de la même façon que sur Mastodon, la ligne sous son identifiant dans les publications, les listes d’abonné·es, les onglets d’une publication et la recherche de comptes l’affiche sous forme de pastille avec une coche. Catodon vérifie lui-même les liens venus d’autres instances plutôt que de s’y fier, et les listes d’abonné·es, les résultats de recherche et les aperçus de profil ont des cartes plus compactes.
Paramètres → Profil propose une date facultative, celle de votre arrivée sur le fédiverse, quelle que soit l’instance, affichée sur votre profil à côté de la date d’inscription sur celle-ci, désormais intitulée Membre depuis. Elle est partagée avec les autres instances, que les instances Catodon savent afficher, et les administrateur·ices peuvent désactiver la fonctionnalité sur leur instance.
Administration → Fédération → Politique gagne une section Instances modérées : chaque instance bloquée ou mise en sourdine peut porter un commentaire public et voir son nom masqué, et les administrateur·ices choisissent qui peut voir la liste et les commentaires, personne par défaut. La liste apparaît alors sur la page Informations et dans les applications Mastodon, et s’importe ou s’exporte au format domain_blocks.csv de Mastodon, avec un aperçu avant l’enregistrement.
Explications et traductions des règles de l’instance
Chaque règle de l’instance peut désormais porter une explication plus longue et des traductions dans toutes les langues que parle Catodon, comme le permet Mastodon 4.4. Chacun·e lit les règles dans la langue de son interface quand une traduction existe, sur la page Informations, à l’inscription et lors d’un signalement, et les applications Mastodon reçoivent les deux par les routes de l’instance.
Une fois par jour, l’instance demande à la forge de Catodon la dernière version stable, et quand celle-ci est plus récente, le Tableau de bord de l’Administration affiche un avis aux administrateur·ices avec un lien vers ses notes de version. Contrairement à la vérification de Mastodon, la requête n’envoie pas la version en service, et elle peut être désactivée dans Sécurité réseau.
Alertes de mise à jour critique et de fin de support
La vérification quotidienne des mises à jour lit désormais quelles versions sont critiques et quand chaque branche de versions cesse d’être maintenue. Une version critique plus récente entraîne un avertissement impossible à fermer dans le Tableau de bord, ainsi qu’une annonce et un e-mail à chaque administrateur·ice, et la fin du support est annoncée trois mois et deux semaines avant, puis une fois passée. Comme pour l’avis de nouvelle version, la requête n’envoie ni le nom de l’instance ni sa version.
Une pastille de l’Administration pour le travail en attente
La pastille à côté d’Administration dans la navigation ne s’allumait que pour les signalements non résolus et les demandes d’abonnement aux forums. Elle s’allume désormais pour chaque carte de Tableau de bord > À traiter, des comptes en attente d’approbation et des tendances à examiner jusqu’aux appels et, pour les administrateur·ices, une mise à jour critique, désormais une carte à cet endroit plutôt qu’un bandeau. La pastille, le compteur du menu et les cartes concordent désormais.
Un nouvel onglet Hashtags dans Administration → Tendances liste les hashtags en vogue et permet aux modérateur·ices d’autoriser ou de refuser chacun d’eux, comme sur Mastodon. Un interrupteur décide si un hashtag non examiné peut devenir tendance, activé pour les instances existantes et désactivé pour les nouvelles, et les applications Mastodon accèdent à cet examen par l’API d’administration de Mastodon.
Les administrateur·ices peuvent désormais publier des conditions d’utilisation datées, rédigées en Markdown et accompagnées d’un résumé des changements, depuis Administration → Conditions d’utilisation, au lieu de renvoyer vers une page ailleurs. Chaque version est conservée et lisible sur l’instance, les versions publiées ne peuvent pas être modifiées, et les comptes sont prévenus à l’avance quand une version prend effet plus tard.
Les modérateur·ices peuvent avertir un compte local, avec au besoin une décision de le mettre en sourdine ou de marquer ses médias comme sensibles, en partant d’un modèle s’ils ou elles le souhaitent. Le compte est notifié, retrouve chaque décision sur une nouvelle page Décisions de modération et peut faire appel une fois de chacune dans les 20 jours ; les modérateur·ices acceptent ou rejettent les appels dans Administration → Appels, comme sur Mastodon.
Paramètres → Notifications → Filtrer les notifications propose six règles, comme les personnes que vous ne suivez pas, les nouveaux comptes ou les mentions privées non sollicitées, chacune réglée sur afficher, filtrer ou ignorer. Les notifications filtrées attendent en silence dans leur propre liste, regroupées par compte, pour être acceptées ou écartées, comme sur Mastodon, et les applications y accèdent par l’API de politique de notifications de Mastodon.
Vous pouvez désormais recevoir par e-mail les nouveaux·elles abonné·es, les demandes d’abonnement, les mentions, les partages, les réactions et les décisions de modération, chacun avec son propre interrupteur et les mêmes valeurs par défaut que Mastodon. Le courriel ne part que vers une adresse vérifiée, pour les notifications encore non lues après quelques secondes, 10 par heure au plus, dans la langue de votre profil, avec un lien pour couper ce type d’un clic.
L’éditeur de flux personnalisés gagne Langues à recevoir, pour qu’un flux ne prenne que les publications écrites dans les langues choisies, avec une option pour masquer celles qui n’en déclarent aucune ; un flux sans langue choisie les prend toutes, comme avant. Un flux peut désormais ne reposer que sur des langues, par exemple toutes les publications en français, et les conserve à l’export comme à l’import.
Pour les applications, notes/bubble-timeline accepte désormais les mêmes options que notes/global-timeline : les tris Populaires et Actives, et des interrupteurs pour les réponses et les publications de forum, chacun réglé par défaut sur ce que renvoyait le flux Recommandé jusqu’ici. Le flux Recommandé écarte aussi désormais les réponses aux publications réservées aux abonné·es dont vous ne suivez pas l’auteur·ice, comme le flux public.
Paramètres → Apparence a une nouvelle section Mise en page, avec des curseurs pour la largeur de la barre latérale, de la colonne des publications et des widgets, les espaces qui les séparent et la largeur maximale d’ensemble, réglés par appareil et montrés sur un schéma. Vos valeurs s’appliquent une fois activées, avant celles de votre thème, et l’option Utiliser toute la largeur de l’écran étale les colonnes sur un grand écran.
Raccourcis clavier pour la barre latérale et les onglets
Comme dans Element, Discord ou Slack, Alt+Bas et Alt+Haut ouvrent la page suivante ou précédente de la barre latérale, dans l’ordre que vous avez choisi. Alt+Maj avec les flèches passe d’un onglet à l’autre dans les barres d’une page, comme Abonnements, Recommandées et Toutes dans la vue Forums, et maintenir une touche répète le pas.
Un forum peut désormais indiquer jusqu’à trois langues auxquelles il est destiné, affichées sur sa couverture et partagées avec les autres instances comme le fait Lemmy, si bien que Lemmy, PieFed et les annuaires de forums les affichent aussi. Les langues des forums d’autres instances s’affichent également, et l’API compatible Lemmy les renvoie désormais.
Ctrl+K, ou Cmd+K sur Mac, ouvre une palette qui mène à n’importe quelle page de la barre latérale, des Paramètres ou de l’Administration en tapant quelques lettres, et va droit à un réglage par son nom. Elle lance aussi quelques actions, cherche des publications ou des comptes, et ouvre hashtags, adresses et liens ; sans clavier, elle peut être ajoutée à la barre latérale.
Comme dans Mastodon 4.4, un·e administrateur·ice peut fixer un âge minimum dans Administration > Inscription. Le formulaire d’inscription demande alors une date de naissance et refuse toute personne plus jeune, avec ou sans invitation, et se contente de vérifier la date sans la conserver. Rien n’est demandé aux comptes existants, et l’âge est transmis aux applications Mastodon comme registrations.min_age de /api/v2/instance.
Comme le Wrapstodon de Mastodon, chaque compte qui a publié dans l’année en reçoit un bilan en décembre : des cartes avec ses publications par mois, ses nouveaux·elles abonné·es, un archétype, ses hashtags et applications les plus utilisés, les comptes auxquels il a le plus répondu et qu’il a le plus boostés, et ses publications publiques les plus populaires. Seul le compte peut le voir, les années précédentes restent accessibles, et les applications Mastodon le lisent par /api/v1/annual_reports.
/login affiche désormais le formulaire de connexion sur chaque instance, avec les options d’inscription et d’autre instance, pour que les visiteur·ses des instances dont la page d’accueil est un flux ou Découvrir puissent se connecter sur un téléphone, où le bouton rond ramenait à la même page. La connexion ramène à la page d’où venait le ou la visiteur·se, et le réglage Page d’accueil peut désormais afficher cette page de connexion à la racine du site.
La barre du bas sur mobile se modifie désormais comme la liste de la barre latérale : après les boutons du menu et du flux, choisissez jusqu’à trois éléments comme Rechercher, Découvrir ou Flux personnalisés, avec leurs badges de non-lus, ou aucun. Rien ne change tant que vous n’y touchez pas, et quand Widgets est laissé de côté, son bouton passe dans le menu. La disposition est mémorisée sur chaque appareil, comme celle de la barre latérale.
Règles de signalement, points focaux et réponses des listes
Connecté·e avec un compte Mastodon, le formulaire de signalement liste désormais les règles de cette instance et envoie celles qui ont été choisies, une image en cours de publication gagne un Point focal qui indique à l’instance quelle partie garder dans les aperçus, et les réglages d’une liste gagnent Afficher les réponses adressées à. Les points focaux envoyés par les instances Mastodon sont désormais respectés dans les aperçus, et les comptes de cette instance trouvent aussi l’entrée Point focal.
Le filtrage des notifications pour les comptes Mastodon
Connecté·e avec un compte Mastodon sous Mastodon 4.3 ou plus récent, Paramètres > Notifications propose désormais la politique de notifications de cette instance, avec les mêmes choix que sur Catodon, et les comptes filtrés attendent dans Notifications filtrées d’être acceptés ou écartés. Deux types que Mastodon envoie sont désormais affichés au lieu d’être ignorés : les abonnements rompus après un blocage d’instance, et les décisions de modération, avec un lien vers l’instance du compte, où elles peuvent faire l’objet d’un appel.
Comme avec ListenBrainz, un profil peut afficher le morceau que son ou sa propriétaire écoute sur Last.fm, ou le dernier écouté, sur une ligne sous l’identifiant avec sa pochette, son titre et son artiste. Saisissez votre nom d’utilisateur Last.fm dans Paramètres > Profil une fois que l’administration a configuré une clé d’API Last.fm ; c’est votre instance qui interroge Last.fm, pas le navigateur du visiteur ou de la visiteuse. Les applications le lisent par users/lastfm-now-playing.
Un événement venu de Mobilizon, Gancio, Friendica, Hubzilla ou de toute instance qui suit la FEP-8a8e est désormais conservé avec son début et sa fin, son fuseau horaire, ses lieux, son statut, ses catégories, ses organisateur·ices et sa participation, et une modification qui le déplace le met à jour. Les applications qui utilisent l’API Mastodon voient son titre, sa date et son lieu en tête de la publication, et les applications natives reçoivent un objet event qui le décrit.