Okna TEMP CSS i TEMP JS nie tracą już danych przy zamknięciu — v3.2.2 i v3.2.3
Tygodniami w naszym backlogu wisiało: „× w TEMP czyści sessionStorage". Drobny tytuł, miesiące cichego problemu — przypadkowy klik w krzyżyk wyrzucał kod, log, geometrię. W maju 2026 to wreszcie naprawiliśmy (v3.2.2) i od razu dorzuciliśmy przycisk „wyczyść" dla świadomego czyszczenia (v3.2.3). Oto co się dokładnie zmieniło i dlaczego ten drobiazg jest większy, niż wygląda.
Co psuło się wcześniej
Okna TEMP CSS, TEMP JS, TEMP JS Console i TEMP Output Console (skróty Ctrl+Alt+G/H/J/K) żyły w sessionStorage karty pod losowym id przypisywanym przy pierwszym otwarciu. Zamknięcie krzyżykiem × wywoływało removeTempPane, które:
- kasowało wpis ze stanem okna (kod, log, geometria,
viewMode), - zwalniało id, więc każde kolejne
Ctrl+Alt+Gtworzyło nowe losowe id.
Wynik: zawartość ginęła nieodwracalnie i nawet gdyby gdzieś pozostała, nie dało się jej odnaleźć — kolejne otwarcie szukało innego id. Komuś, kto pracował z TEMP CSS i przez przypadek kliknął ×, ginęło 20 minut pisania selektorów.
v3.2.2 — krzyżyk × tylko chowa
W v3.2.2 zmieniliśmy model: okno TEMP nie jest już usuwane przy zamknięciu, dostaje flagę closed i pozostaje w sesji wraz z zawartością, geometrią i viewMode. Funkcja createTempPane jest teraz idempotentna: ponowne otwarcie okna danego typu (np. Ctrl+Alt+G dla CSS) odsłania istniejące okno z zachowanymi danymi zamiast tworzyć nowe. injectTempPanesIntoData renderuje tylko okna nie-closed, więc po reload-ie wciąż widzisz to, co miało być widoczne.
Dane okien TEMP nadal znikają przy zamknięciu karty — taki jest naturalny zakres sessionStorage i pierwotne założenie „dane w obrębie sesji". Reload strony też je czyści (sessionStorage jest per-karta-per-origin i nie przeżywa naturalnego cyklu strony).
v3.2.3 — przycisk „wyczyść"
Skoro × stało się przyjazne, dodaliśmy świadome narzędzie do czyszczenia: nagłówek TEMP CSS i TEMP JS dostał przycisk z ikoną kosza obok krzyżyka. Klik czyści zawartość edytora jednym ruchem:
- czyszczenie trafia do historii undo przeglądarki —
Ctrl+Zcofa; - dla TEMP CSS od razu aktualizuje żywy
<style>na stronie — widzisz efekt natychmiast; - nowy klucz i18n
tempPane.clear.titlew 8 językach (tooltip).
Dwie intencje, dwa przyciski: schowanie okna (×) i opróżnienie jego treści (kosz). Wcześniej × łączyło oba w jeden destrukcyjny ruch.
Co to znaczy w codziennej pracy
Trzy konkretne scenariusze, w których to robi różnicę:
- „Schowaj na chwilę, zaraz wracam" — masz otwarte TEMP CSS z dłuższym CSS-em, chcesz zobaczyć stronę bez okna, ale za chwilę wrócisz. Przed v3.2.2: × kasował kod. Teraz: × chowa,
Ctrl+Alt+Gprzywraca z tym samym kodem. - „Pomylił mi się × z krzyżykiem" — klasyczny błąd, gdy okien jest dużo. Przed: utrata pracy. Teraz: kolejne
Ctrl+Alt+Gi jesteś z powrotem w punkcie, w którym byłeś. - „Chcę zacząć od zera" — przed v3.2.3 jedynym sposobem czyszczenia było zaznaczenie wszystkiego i delete albo zamknięcie + utrata. Teraz: kliknij kosz,
Ctrl+Zgdyby się rozmyśliło.
Inne fixy, które ten model umożliwił
Stary model „× kasuje" psuł także drobne usprawnienia, których nie dało się sensownie dodać: pamięć rozmiaru per typ okna (v2.13.201), dwuklik w belkę = przełącznik rozmiaru (v2.13.203), scroll containment (v2.13.203). Po przebudowie stanu okien wszystkie trzy mają teraz spójne miejsce do trzymania danych i konsekwentnie reagują na zamknięcie/otwarcie.
Zobacz też
- TEMP panes — pełny opis okien wywoływanych skrótem
- TEMP czy trwałe okno — model decyzyjny
- Okna na froncie — okna deweloperskie wewnątrz strony
Zainstaluj JustZix — i przestań tracić kod w TEMP przez jedno kliknięcie.
Oceń ten wpis
Brak ocen — oceń jako pierwszy.