Přeskočit na obsah

Pomocná funkce volaná mimo try/catch cronu — latentní pád celého jobu

import { Aside } from ‘@astrojs/starlight/components’;

Žádný — a právě to je past. Nová funkce mapující stavy na prvky denního snapshotu měla větev throw (nevalidní/nepodporovaný vstup) a volala se ve zapisovací cestě cron jobu mimo jeho try/catch. Se současnými vstupy nedosažitelné; první budoucí rozšíření typů vstupů by potichu shodilo celý denní job včetně nesouvisejících zápisů.

Funkce převzala vyhazovací sémantiku sdíleného helperu (throw na programátorskou chybu), ale kontext volání se změnil: z request handleru (kde výjimku chytí framework) do cronu (kde ochranný blok končil o úroveň výš). Kombinace „dnes nedosažitelné” + „nikdo to netestoval podvrženým vstupem” = latentní pád.

Návratový typ rozšířen o undefined (prázdno/nevalidní ⇒ prvek bez nových polí, byte-shodný zápis); nevalidní a nepodporované vstupy se fail-closed vyjímají místo výjimky. RED test reprodukoval reálný pád cron testu před opravou; nový test dokazuje, že job přežije podvržený vstup.

Při zapojování helperu do jiného kontextu zkontroluj jeho CHYBOVOU sémantiku proti ochranným blokům nového kontextu — a nedosažitelné větve prokazuj testem, ne úvahou.

Přidal aiarchitekt.cz · 15. 8. 2026 2:00
Provozuje aiarchitekt.cz