Les fenêtres TEMP CSS et TEMP JS ne perdent plus leurs données à la fermeture — v3.2.2 et v3.2.3
Pendant des semaines, notre backlog portait cette ligne : « × dans TEMP vide le sessionStorage ». Un petit titre, des mois d'un problème silencieux — un clic accidentel sur la croix × jetait code, journal, géométrie. En mai 2026, nous avons enfin corrigé cela (v3.2.2) et avons immédiatement ajouté un bouton « effacer » pour un nettoyage délibéré (v3.2.3). Voici ce qui a changé et pourquoi ce petit détail est plus important qu'il n'y paraît.
Ce qui ne fonctionnait pas
Les fenêtres TEMP CSS, TEMP JS, TEMP JS Console et TEMP Output Console (raccourcis Ctrl+Alt+G/H/J/K) vivaient dans le sessionStorage de l'onglet sous un id aléatoire attribué à la première ouverture. La fermeture par × appelait removeTempPane, qui :
- supprimait l'entrée d'état de la fenêtre (code, journal, géométrie,
viewMode), - libérait l'id, si bien que chaque
Ctrl+Alt+Gultérieur créait un nouvel id aléatoire.
Résultat : le contenu était perdu irrémédiablement, et même si quelque chose avait survécu quelque part, vous ne pouviez plus le retrouver — l'ouverture suivante cherchait un autre id. Quelqu'un travaillant dans TEMP CSS et cliquant par mégarde sur × perdait 20 minutes d'écriture de sélecteurs.
v3.2.2 — la croix × ne fait que masquer
En v3.2.2, nous avons changé de modèle : une fenêtre TEMP n'est plus supprimée à la fermeture, elle reçoit un drapeau closed et reste dans la session avec son contenu, sa géométrie et son viewMode. La fonction createTempPane est désormais idempotente : rouvrir une fenêtre du même type (par exemple Ctrl+Alt+G pour le CSS) révèle la fenêtre existante avec les données conservées au lieu d'en créer une nouvelle. injectTempPanesIntoData ne rend que les fenêtres non-closed, si bien qu'après un rechargement, vous voyez toujours ce qui était censé être visible.
Les données des fenêtres TEMP disparaissent toujours à la fermeture de l'onglet — c'est la portée naturelle de sessionStorage et la promesse initiale des « données dans la session ». Un rechargement de page les efface également (sessionStorage est par-onglet-par-origine et ne survit pas au cycle de vie naturel de la page).
v3.2.3 — le bouton « effacer »
Maintenant que × était devenu inoffensif, nous avons ajouté un outil de nettoyage délibéré : les en-têtes de TEMP CSS et TEMP JS ont reçu un bouton avec une icône de corbeille juste à côté du ×. Cliquer dessus vide le contenu de l'éditeur d'un seul geste :
- l'effacement entre dans l'historique d'annulation du navigateur —
Ctrl+Zle restaure ; - pour TEMP CSS, il met à jour immédiatement la balise
<style>vivante sur la page — vous voyez l'effet aussitôt ; - une nouvelle clé i18n
tempPane.clear.titleen 8 langues (infobulle).
Deux intentions, deux boutons : masquer la fenêtre (×) et vider son contenu (corbeille). Auparavant, × combinait les deux en un seul geste destructeur.
Ce que cela change au quotidien
Trois scénarios concrets où cela fait la différence :
- « Masque-le un instant, je reviens tout de suite » — vous avez TEMP CSS ouvert avec une règle CSS un peu longue, vous voulez voir la page sans la fenêtre, mais vous reviendrez dans une minute. Avant la v3.2.2 : × effaçait le code. Maintenant : × masque,
Ctrl+Alt+Gramène le tout avec le même code. - « J'ai confondu × avec le bouton de fermeture » — une erreur classique quand de nombreuses fenêtres sont ouvertes. Avant : travail perdu. Maintenant : un autre
Ctrl+Alt+Get vous voilà revenu là où vous étiez. - « Je veux repartir de zéro » — avant la v3.2.3, le seul moyen d'effacer était de tout sélectionner + supprimer, ou de fermer + perdre. Maintenant : cliquez sur la corbeille,
Ctrl+Zsi vous changez d'avis.
Autres correctifs rendus possibles par ce modèle
L'ancien modèle « × efface » bloquait aussi de petites améliorations qui n'avaient pas de place sensée : mémoire de la taille par type de fenêtre (v2.13.201), double-clic sur la barre = bascule de taille (v2.13.203), confinement du défilement (v2.13.203). Après la reconstruction de l'état des fenêtres, ces trois améliorations disposent d'un endroit cohérent pour stocker leurs données et réagissent de manière cohérente à la fermeture et à l'ouverture.
Voir aussi
- Fenêtres TEMP — description complète des fenêtres invoquées par raccourci
- TEMP ou fenêtre persistante — un modèle de décision
- Fenêtres sur la page — les fenêtres de développeur à l'intérieur de la page
Installez JustZix — et cessez de perdre votre code TEMP à cause d'un seul clic accidentel.
Notez cet article
Aucune note — soyez le premier.