Aller au contenu

Applications et API

6 fonctionnalités essentielles · 19 ajoutées depuis le fork

Ce que propose Catodon

API Misskey

Créez des bots et des clients sur une API REST et de streaming complète, avec une console intégrée.

La console d’API : le point d’accès users/show appelé avec un nom d’utilisateur, et le JSON que le serveur a répondu.

API Mastodon

Amélioré par Catodon

Utilisez les applications Mastodon et Pixelfed avec votre compte, grâce à une API Mastodon native.

La fédération ActivityPub

Amélioré par Catodon

Suivez et discutez avec Mastodon, Lemmy, PeerTube et d’autres instances de tout le fédiverse.

Webhooks

Amélioré par Catodon

Envoyez des événements à vos propres services, avec des envois signés et un journal des envois.

La liste Recent deliveries d’un webhook de compte : chaque tentative avec son événement, le statut répondu par le destinataire, 204 ou 410, quand et en combien de temps, et un bouton Send again sur chacune.

API compatible Lemmy

Créé par Catodon

Laissez les applications et sites Lemmy lister les forums publics de l’instance.

La section de l’API de forum compatible Lemmy de la politique de fédération dans le Control Panel, avec son interrupteur et une explication de ce que les annuaires de forums peuvent lire.

Connecter des applications

Amélioré par Catodon

Autorisez des applications tierces avec OAuth, MiAuth ou des applications identifiées par une adresse web.

Nouveautés version par version

Toute la conversation d’une publication en une seule requête

26.10.0

Une nouvelle route notes/context renvoie les réponses situées au-dessus et en dessous d’une publication, dans l’ordre de la conversation, avec les mêmes limites que Mastodon. Elle alimente l’affichage des conversations des applications Mastodon ; les vues de conversation propres à Catodon ne l’utilisent pas.

Des envois de webhook signés

26.11.0

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.

Un journal des envois de webhooks

26.11.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.

La liste Recent deliveries d’un webhook de compte : chaque tentative avec son événement, le statut répondu par le destinataire, 204 ou 410, le moment et la durée, et un bouton Send again sur chacune.

Désactiver les webhooks morts

26.11.0

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.

Une notification Webhook disabled : le webhook Live check a échoué à répétition et a été désactivé ; corrigez son destinataire, puis réactivez-le.

Se connecter avec Pixelix et d’autres applications Pixelfed

26.10.0

Deux choses les en empêchaient : le jeton que Catodon fournissait ne portait pas un champ exigé par l’application, et une application qui ne demande aucun accès particulier ne pouvait que lire. Les deux sont corrigées, et une telle application propose désormais un choix entre lecture seule et lecture et écriture lors de l’autorisation.

La page d’autorisation d’une application qui n’a demandé aucun accès particulier, proposant Lecture seule ou Lecture et écriture.

Des publications programmées depuis les applications Mastodon

26.9.0

Les applications Mastodon peuvent programmer des publications via l’API Mastodon.

Les notifications push pour les applications Mastodon

26.11.0

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.

Les filtres de mots sont les filtres de Mastodon

26.10.0

Les routes de filtres de Mastodon lisent et écrivent désormais les mêmes filtres que l’écran de paramètres affiche, si bien qu’un filtre créé dans Tusky est celui qui s’affiche ici, et inversement. Jusqu’ici, ce qu’un client Mastodon réglait était mémorisé par jeton d’accès et ne filtrait absolument rien.

La traduction dans les clients Mastodon

26.10.0

La route de traduction de Mastodon répond désormais depuis le traducteur que l’instance utilise déjà pour ses propres publications, et l’instance annonce la fonctionnalité et les langues vers lesquelles elle traduit, si bien que Tusky propose son bouton de traduction dès qu’il voit le drapeau.

Les identifiants doivent désormais précéder le fichier dans un envoi

26.10.0

Sur une route qui exige des identifiants et prend un fichier, l’identifiant doit désormais précéder le fichier dans le corps multipart. Le corps entier était auparavant collecté en premier, ce qui voulait dire écrire tout un envoi sur le disque avant même de savoir si l’expéditeur·rice était autorisé·e à l’envoyer.

Listes exclusives sur l’API Mastodon

26.10.0

Catodon a toujours eu « Masquer du flux Accueil » sur une liste, mais sa sortie Mastodon l’ignorait : le champ était signalé comme inconnu et abandonné quand un client tentait de le régler. Les clients tiers voient et modifient désormais la même chose qu’un compte Catodon.

Descriptions d’avatar et de bannière, via l’API

26.10.0

Elles ont toujours été enregistrées et fédérées dans les deux sens ; rien ne les relisait. Les deux API les renvoient désormais partout où le compte est le sujet de la requête, et la route de mise à jour Mastodon les écrit sur les images nommées dans le même appel. Le client web ne les affiche ni ne les modifie encore.

L’inscription depuis les applications Mastodon

26.11.0

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.

Des applications qui se connectent sans enregistrement, et l’API client ActivityPub

26.10.0

Une application peut se connecter sans rien avoir enregistré au préalable : elle est identifiée par une adresse web qui la décrit et se prouve avec PKCE ; la page de consentement affiche son nom et son icône. Les applications qui utilisent l’API client-serveur d’ActivityPub peuvent alors publier, suivre, réagir, lire le flux Accueil et plus encore, par l’outbox du compte. C’est activé par défaut ; Administration → Fédération → Politique désactive l’API client ActivityPub.

La section API client ActivityPub de la politique de fédération dans l’Administration, avec son interrupteur et une explication de ce que les applications ActivityPub peuvent faire une fois connectées.

Tout un arbre de réponses pour les applications

26.11.0

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.

La dernière publication de chaque hashtag suivi, pour les applications

26.11.0

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.

Réglages de forum déclarés dans la description de l’API

26.10.0

Trois champs de forum que l’instance envoyait déjà, à savoir si un forum est réservé aux adultes et deux restrictions sur qui peut y publier, sont désormais déclarés dans la description de l’API, et les types misskey-js générés suivent. Rien de ce que l’instance envoie ne change.

Les options du flux public sur le flux Recommandé

26.11.0

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.