Plánovač připomínek byl posledním místem, kde web sahal přímo do Supabase; rozhodlo se, jak má běžet, a schéma mezitím dostalo indexy pod cizí klíče.
Co jsem dělal já
Rozhodl jsem, jak poběží připomínky: cron pustí SQL, které ověří, jestli má smysl budit backend, a odeslání obstará backend.
Nechal jsem produkci nasazovat jednou denně v 16:00.
Zrušil jsem akci „Přidat jako flow moment“; Flow lístek už z todo nic nepřebírá.
Rozhodl jsem, že prázdný text v deníku nechává prázdný záznam — deník mazání nemá.
Zamítl jsem navrženou opravu falešného hlášení „Úkol se mezitím změnil“: hlídač měl přeskakovat zápis, který nic nemění, jenže přesně takový zápis aplikace dělá schválně, aby i uložení beze změny prošlo kontrolou souběžné editace.
Co udělala továrna
Otevřela přesun plánovače připomínek na API, poslední místo, kde web sahal přímo do Supabase; cron v databázi ho budí, jen když může být co poslat.
Přestěhovala za API Historii plánů a dashboard Dnes a ztenčila Uzavření dne na jedno čtení.
Dala každému cizímu klíči index na jeho straně; Postgres indexuje jen cíl, takže mazání rodiče skenovalo celou dětskou tabulku.
Vyjmenovala sloupce u on delete set null na sedmi složených klíčích; bez seznamu se nulovalo i user_id, které prázdné být nesmí.
Readiness teď odmítne repliku, která nedrží podpisové klíče vydavatele, takže by přihlašovací token nedokázala ověřit.
Nechala build spadnout a pojmenovat metodu, když adaptér neobalí práci s databází tak, aby se technická chyba dostala nahoru jako jeden známý typ; do té doby vynechání nikdo nehlídal.
Otestovala poprvé, co se stane, když uložení formuláře selže — do teď testy uměly jen úspěch: vypršené přihlášení pošle na login, výpadek serveru se nevydává za chybu ve vyplnění, a formulář po odmítnutí nevymaže, co uživatel napsal.
Navázala barvy v sedmi CSS modulech Detailu dne a ve sdílených komponentách na tokeny a přidala detektor na každou syntaxi, kterou jde barvu napsat.