Versão v0.16.0
41 anomalies corrigées par 8 lots parallèles
Correções e alterações (40)
| Referência | Título | Componente | Prioridade | Resolvida a |
|---|---|---|---|---|
| BUG-2026-268 | Directs : toasts « X diffuse en direct » répétés trois fois à chaque (re)connexion WebSocket | client useAppSocketEvents.js (STREAMER_LIVE_ANNOUNCED) ; api.js onopen ; socket. | P3 | |
| BUG-2026-269 | TICK_UPDATE : champs de détail absents convertis en 0 dans player.lastTickBreakdown | client/src/hooks/useAppSocketEvents.js (TICK_UPDATE, num) | P3 | |
| BUG-2026-401 | Client : api.fastForwardTicks envoie { ticks } alors que la route d'avance rapide lit count | client/src/services/api.js (fastForwardTicks) ; server/src/routes/v1/v1DevSystem | P3 | |
| BUG-2026-383 | Outil MCP preview_taxes : catégorie « marketing » proposée mais inconnue du moteur fiscal (8 % par défaut) | mcp/server.js (preview_taxes) ; server/src/taxEngine.js (calculateAssetTax) | P3 | |
| BUG-2026-387 | Outils MCP subscribe_pca et get_pca_status : player_id et incident_id mal typés, get_pca_status toujours faux sans player_id | mcp/server.js (subscribe_pca, get_pca_status) ; server/src/routes/v1/v1Cyber.js | P3 | |
| BUG-2026-441 | Outil MCP inject_test_scenario : scénarios et paramètres incomplets | mcp/server.js (inject_test_scenario) | P3 | |
| BUG-2026-443 | Registre des factures : le filtre MARKETPLACE n'inclut pas les offres d'enchère (MARKETPLACE_BID) | server/src/engine/engineBanking.js (getInvoicesPaginated) | P3 | |
| BUG-2026-361 | Journal PLAYER_JOINED : numéro du compte personnel publié (PRIV-04) | server/src/engine/enginePlayer.js (addLog PLAYER_JOINED) | P3 | |
| BUG-2026-440 | Achats : identifiant d'entreprise d'un type inattendu → erreur SQLite brute | server/src/engine/engineDatacenter.js (createDigitalService) ; engineNetwork.js | P3 | |
| BUG-2026-320 | Registre des factures sans joueur : icône d'actualisation qui tourne sans fin ; décor factice du bordereau de virement | client InvoicesManagerSection.jsx ; BankingTransferTab.jsx ; PopsManagerSection. | P3 | |
| BUG-2026-655 | Registre des abonnements : libellés encore en dur en français et clés common.perPage / first / last absentes des 8 dictionnaires | client/src/components/Subscriptions/SubscriptionsManagerModal.jsx | P3 | |
| BUG-2026-343 | Textes d'interface inexacts : dock des favoris, bandeau des entreprises, commande pause/vitesse | client/src/i18n/locales/*.js | P3 | |
| BUG-2026-271 | Nettoyage : clés de traduction, textes d'aide et fonction devenus inutilisés après le lot 3 | client/src/i18n/locales/*.js ; client/src/i18n/guideTranslations.js ; enterprise | P3 | |
| BUG-2026-353 | docs/INTERCITY_FLOWS_AND_SERVICES_GUIDE.md : DWDM plafonné à 2 Tbps, comparaison des prix « sur le réseau », Looking Glass « Dijkstra » | docs/INTERCITY_FLOWS_AND_SERVICES_GUIDE.md | P3 | |
| BUG-2026-444 | Documentation : diffusion d'une souscription PCA et route de migration de régie à vérifier | docs/WEATHER_CRISES_AND_BCP_GUIDE.md ; docs/AD_NETWORKS_AND_MARKETING_GUIDE.md | P3 | |
| BUG-2026-363 | deploy_world_backbone.js : PoP de 200 G (palier inexistant) à 5 GC/h et liaisons à 0,1 % d'entretien | server/scripts/deploy_world_backbone.js | P3 | |
| BUG-2026-338 | Mode Circuit PCB : le choix fait à la touche K n'est pas conservé après rechargement | client/src/components/Map/WorldMap.jsx | P3 | |
| BUG-2026-339 | Raccourcis de la carte actifs pendant qu'une fenêtre est ouverte | client/src/components/Map/WorldMap.jsx | P3 | |
| BUG-2026-341 | Bouton Guide de la barre du haut : ouvre le chapitre FAI au lieu du Démarrage rapide | client/src/App.jsx ; client/src/components/HUD/TopBar.jsx | P3 | |
| BUG-2026-342 | Réverbération « executive » de la fenêtre de ville jamais déclenchée (noms d'onglets erronés) | client/src/components/CityModal/CityModal.jsx | P3 | |
| BUG-2026-318 | Pile de navigation : deux instantanés successifs du même type sont fusionnés sans comparer l'onglet ni la facture | client/src/hooks/useAppModals.js pushCurrentModalToStack | P3 | |
| BUG-2026-231 | Compteurs du Marché plafonnés à 100 annonces ; « (X à vous) » compté parmi les 100 plus récentes | client/src/hooks/useAppModals.js | P3 | |
| BUG-2026-287 | Son d'erreur joué deux fois dans le classement et le dossier magnat | client LeaderboardModal.notifyLeaderboardUnavailable ; MagnatDossierModal | P3 | |
| BUG-2026-367 | Bouclier anti-crash (uncaughtException, unhandledRejection) enregistré deux fois dans server.js | server/src/server.js | P3 | |
| BUG-2026-438 | NewspaperEngine : édition du jour lancée en arrière-plan au chargement du module | server/src/newspaperEngine.js (constructeur) | P3 | |
| BUG-2026-329 | Journal : pseudos des souscripteurs PCA exposés dans l'API publique (crises_json.pca_players), non affichés | server/src/newspaperEngine.js (collecte des crises, getLatestEdition, getEdition | P3 | |
| BUG-2026-455 | Alerte de déficit : compte à rebours décalé d'un jour (« J+2/10 » dès 24 ticks, « 0j » à 216 ticks) | server/src/engine/engineTick.js | P3 | |
| BUG-2026-381 | Tick : compteur de l'audit des services (tous les 5 ticks) remis à zéro au redémarrage du serveur | server/src/enterpriseEngine.js | P3 | |
| BUG-2026-457 | GET /api/v1/mail : count absent et courriels imbriqués (emails.length sur un objet) | server/src/routes/v1/v1Social.js | P3 | |
| BUG-2026-402 | OpenAPI : routes de développement v1 publiées sous /api au lieu de /api/v1 | server/src/docs/swaggerSpec.js ; server/src/docs/openapi.json | P3 | |
| BUG-2026-368 | Tests : le bac à sable fileSandbox tient le verrou d'écriture de la vraie base pendant tout un fichier | server/test/helpers/fileSandbox.js | P3 | |
| BUG-2026-400 | Tests guiApiMcpParity et swaggerIntegrity : écrivent de vrais fichiers du dépôt (ROADMAP_BUGS.md, openapi.json) | server/test/guiApiMcpParity.test.js ; server/test/swaggerIntegrity.test.js | P3 | |
| BUG-2026-436 | Tranches de test : purges restantes par LIKE sur un préfixe d'identifiant ; INSERT OR REPLACE d'un joueur au pseudo fixe | server/src/services/testRunners/sliceCyber.js, sliceCrises.js, sliceMarketplace. | P3 | |
| BUG-2026-437 | Tranches de test : une prévision du monde entier à chaque action réseau (serveur bloqué pendant la tranche) | server/src/services/testRunners/slice*.js (recalculateAllCompanyRevenues) | P3 | |
| BUG-2026-439 | test_dev_and_audit.js : clé d'administration de secours codée en dur | server/scripts/test_dev_and_audit.js | P3 | |
| BUG-2026-423 | npm run seed sur un monde peuplé : suppression en cascade des entreprises | server/scripts/seed_cities.js | P3 | |
| BUG-2026-384 | Audit fiscal auditTaxCompliance : aucune anomalie n'est jamais calculée, statut toujours COMPLIANT | server/src/auditEngine.js (auditTaxCompliance) | P3 | |
| BUG-2026-385 | devEngine.auditFiscalReconciliation : leakDetected toujours false et verdict VERIFIED_AUDIT_BALANCED codé en dur | server/src/devEngine.js (auditFiscalReconciliation) | P3 | |
| BUG-2026-360 | Audit : un sous-compte personnel préfixé TRES sort du rapprochement | server/src/auditEngine.js (startsWith('TRES-')) | P3 | |
| BUG-2026-270 | Horodatage des écritures fiscales et cyber distinct de celui du tick | server/src/taxEngine.js collectTax ; cyberEngine (écritures) | P3 |