Skip to main content
CS2 Cases
$---.--

Changelog

Every fix and feature shipped on cs2cases.cc, newest first, generated from the project's commit history each time the site is deployed. Entries are the developer's own commit notes and are often written in French. How the numbers are computed is on the Methodology page.

  • styles de cellules portés par <table> (HTML Kilowatt 197 -> 169 Ko), sans pastille de rareté redondante
  • maillage interne des pages caisses, related par knife pool puis EV puis date, liste du même type
  • chronologie (sortie, ordre de sortie, date des prix) et dateModified = date de contenu, même source pour le JSON-LD et le sitemap
  • section couteaux et gants, probabilité par finition et par phase, prix, liens knifeHubHref
  • EV, retour par dollar, verdict et rang issus du classement /best-cases, réponse directe datée
  • knife pools /knife-pools/{slug}
  • hubs couteaux /knives/{type} et gants /gloves/{type}
  • probabilité et coût moyen pour déballer chaque skin de la caisse
  • Content-Security-Policy statique, retrait de X-XSS-Protection
  • tableau des taux par palier avec 1 sur N, source des taux par type de conteneur

  • cartes de caisse en srcset 128 1x / 256 2x, paliers imageSizes fins
  • consentement GA4 (Consent Mode v2) et page légale exacte
  • JSON-LD des hubs, numberOfItems sur l'ItemList (mainEntity) et non sur CollectionPage
  • shadcn, prisma et dotenv en devDependencies, README réel, npm audit à 0
  • preload limité aux 2 premières cartes (1re rangée mobile)
  • tirage correct des phases Doppler / Gamma Doppler, limite de prix documentée
  • sons préchargés à la première interaction, plus au chargement
  • focus rendu au bouton Ouvrir à la fermeture du résultat
  • pourcentages de la légende des taux en text-foreground (#8847ff = 4,24:1 sur le fond)
  • hasFloat par item, plus de wear fictif ni de prix N/A
  • bande de roulette tirée aux vrais taux, gagnant or masqué
  • repli souvenir renormalisé, tirage et panneau cohérents
  • domain/opening.ts, simulateOpen avec rng injectable et test χ²
  • lint bloquant en CI (continue-on-error retiré)
  • /stats v1, observé vs théorique avec seuils, encart par caisse, CSV mensuel
  • corrections de contraste relevées par axe-core
  • nav du header et du footer nommées (axe landmark-unique)
  • sélecteurs zustand par champ, totaux d'historique cumulés, remboursement hors totalEarned
  • onglets synchronisés par l'événement storage, verrou d'ouverture partagé par Web Locks
  • /best-cases, classement vivant des weapon cases par retour par dollar
  • au-delà de 1 000 items l'item le moins cher est vendu, sellAll garde les items sans prix, sellItem retire un seul doublon
  • wallet et inventaire sous une seule clé écrite d'un bloc, échec d'écriture exposé
  • pages /methodology, /sources, /about et /changelog généré depuis git au build
  • persist validé par zod au rechargement, JSON corrompu sauvegardé en .bak, dépôt borné