Repository navigation
v9.1
RELEASE NOTES : KOTBO v9.1
Version : v9.1
Statut : Production Release
Périmètre : Bot, Dashboard, API, base de données et MCP
📑 Résumé
Kotbo v9.1 consolide les fondations introduites avec v9.0 et livre une évolution importante des modules communautaires. Cette version apporte une refonte complète de l'algorithme Daily, enrichit fortement les Clans et leur classement public, étend l'internationalisation du bot et du Dashboard, et renforce la sécurité de l'économie comme de la protection anti-raid.
La release comprend également une vaste campagne de fiabilisation : optimisation du chargement du Dashboard, modularisation des API et des outils MCP, correction des alertes YouTube/Twitch, durcissement des opérations de masse et amélioration générale du typage du bot.
Points clés
- Daily Algo v2 : semaines compétitives, barème configurable, podium, clôture manuelle, temps réel et conversion des points vers les Clans.
- Clans enrichis : classement public modernisé, recherche de membres et d'historique, saisons visibles, ex æquo multi-vainqueurs et opérations de masse fiabilisées.
- Sécurité renforcée : garde-fous anti-abus sur l'économie, protection anti-raid revue et rate limiting des écritures Dashboard.
- Internationalisation étendue : meilleure couverture Paraglide côté bot et Dashboard, commande
/languageet sélection de langue simplifiée. - Performances et maintenabilité : chargement différé du Dashboard, réponses API compressées, caches d'accès et découpage des grands modules.
🏆 Daily Algo v2
- Nouveau fonctionnement par semaines compétitives, avec état de la semaine, podium et clôture manuelle.
- Passage à un barème entier et figé, avec prise en charge du hors-sujet et d'un plancher de participation.
- Nouvel onglet Dashboard dédié au barème et aux récompenses, ainsi qu'un espace d'administration.
- Synchronisation en temps réel par WebSocket des réglages, évènements et résultats.
- Pont automatique avec le module Clans : les points Daily peuvent être convertis en points de Clan lors de la clôture.
- Services backend, routes API, schéma Prisma, documentation et tests dédiés mis à jour.
🏰 Clans, saisons et classement public
- Refonte visuelle du classement public afin de l'aligner sur l'expérience du module Leveling.
- Recherche côté serveur limitée et optimisée, avec affichage du rang réel et de l'historique complet des scores d'un membre.
- Affichage des dates de saison et d'un compte à rebours sur la page publique.
- Gestion correcte des ex æquo : plusieurs Clans peuvent désormais être déclarés vainqueurs, avec plusieurs leaders récompensés.
- Affichage de tous les rôles de Clans vainqueurs dans la table des multiplicateurs XP.
- Attribution configurable de points de Clan lors d'un boost du serveur, avec évènement identifiable dans le flux public.
- Opérations de distribution, retrait, reset et rollback rendues non bloquantes et plus résilientes.
- Garantie qu'un membre n'appartient qu'à un seul Clan, création automatique du profil membre si nécessaire et exclusion des entrées techniques des classements.
- Corrections des annonces de victoire, des clôtures répétées, de la cohérence des saisons et des textes encore non traduits.
- Ajout d'index de base de données pour accélérer le calcul des rangs et les recherches historiques.
🛡️ Sécurité, économie et anti-raid
- Ajout de garde-fous anti-abus sur l'économie et correction de
/marketpour les achats, enchères, annulations et listes. - Refonte et consolidation de la protection anti-raid, avec correction de la persistance des audits.
- Réparation de la migration de production liée à la protection anti-raid.
- Rate limiting des écritures issues du Dashboard et correction d'un cas de double attribution d'XP.
- Validation plus stricte des corps de requêtes et des tableaux utilisés par les sanctions, les évènements et les liens de salons.
- Correction du salon d'alerte AutoMod ignoré et amélioration des valeurs de repli des configurations.
🌐 Internationalisation et expérience utilisateur
- Extension de la couverture Paraglide dans le bot et le Dashboard.
- Ajout de la commande
/language. - Nouveau sélecteur de langue par drapeau dans la barre de navigation, avec affichage de la langue active.
- Traduction des derniers contenus en dur de la page Clans et du classement public.
- Déplacement du widget de profil dans un onglet dédié des paramètres utilisateur.
- Masquage de la page « Admin Permission Lock » lorsque la fonctionnalité est désactivée.
- Correction de plusieurs défauts d'alignement, de couleurs, de navigation et d'état sur les pages du Dashboard.
📡 YouTube, Twitch et intégrations
- Refonte du modèle de suivi YouTube/Twitch et simplification de sa persistance.
- Correction des alertes YouTube et Twitch qui pouvaient ne plus être envoyées.
- Meilleure gestion des modèles de messages, des variables, des mentions et des transitions live/hors ligne.
- Couverture de tests largement enrichie pour les boucles de suivi, les modèles et les services Twitch/YouTube.
- Nouveau CRUD MCP pour gérer l'accueil personnalisé via des threads privés.
⚡ Performance et architecture
- Chargement initial du Dashboard accéléré grâce au code-splitting par route, au lazy loading, au prefetch et aux rafraîchissements non bloquants.
- Chargement différé de XLSX, restriction des imports Chart.js, isolation des icônes et compression des assets.
- Cache des droits d'accès côté bot et compression des réponses JSON.
- Réduction de la consommation mémoire du typecheck MCP.
- Découpage de l'API Dashboard en clients par domaine et modularisation des routes bot.
- Découpage de
registerMcpToolsen 28 modules spécialisés et restructuration des outils MCP. - Mutualisation des contrats avec
@kotbo/contracts, notamment pour les dossiers membres. - Réduction du bruit de journalisation et suppression des loggers devenus inutiles.
🔧 Fiabilité et qualité du code
- Vaste campagne de typage des services, routes API, interactions Discord, caches et mocks de tests.
- Suppression de nombreux casts obsolètes et de directives
@ts-expect-errorpérimées. - Correction du respawn d'un shard via IPC, de plusieurs erreurs de référence dans
/helpet de quatre bugs MCP. - Fiabilisation des pseudos de giveaways, des imports de sauvegarde et de la restauration.
- Ajout d'ESLint au Dashboard et correction des avertissements Svelte et erreurs de lint associées.
- Isolation des tests unitaires Bun afin d'éviter la contamination des mocks entre fichiers.
📊 Chiffres de la release
- 130 commits hors commits de merge
- 468 fichiers modifiés
- 29 fonctionnalités, 38 correctifs, 9 optimisations et 38 refactorings identifiés dans les commits conventionnels
- Version du package bot :
9.0→9.1
What's Changed
- Livraison recette → main : typage bot, Clans, i18n et performances Dashboard par @sailingteam4 dans #88
- Daily Algo v2 et ses évolutions par @Intercalaire dans #89, #91, #93, #94 et #95
- Fiabilisation et évolution du module Clans par @Intercalaire dans #96 à #107
- Nettoyage de la journalisation par @Intercalaire dans #108
- Livraison finale recette → main par @sailingteam4 dans #109
- Passage du bot en version 9.1 par @Klaynight-dev dans #110
- Correctif d'alignement des champs de recherche par PhysX
Merci à @Intercalaire, @sailingteam4, @Klaynight-dev et PhysX pour leurs contributions à cette version.
Full Changelog : v9...v9.1