Hoppa till innehållet

Upptäckte att det ljusa temat hade saknat ett helsidesöverlägg sedan den dag det skrevs, genom att kräva att båda teman målar varje skiktad yta med samma antal skikt.

överläggsskiktet som det ljusa temat aldrig hade

Situation. Webbplatsen levereras med två färgteman. Det mörka är standard och tittas på hela tiden; det ljusa är en åsidosättning som bara visas under en viss systeminställning, vilket betyder att det ses betydligt mer sällan och aldrig av någon som kontrollerar det. Temaparitet är en felklass där en yta byggs en gång och deklareras på nytt en gång, och den nya deklarationen tappar i tysthet ett lager.

Uppgift. Pariteten behövde säkerställas maskinellt, eftersom det enda alternativet är att en person kommer ihåg att byta inställning och titta.

Handling. Kontrollen är liten och strukturell: för varje skiktad yta räknas de lager som varje tema ritar ut, och den fallerar när antalen skiljer sig åt. Den jämför inte utseenden — teman ska se olika ut — utan sammansättning, som är det som ska vara identiskt. Den hittade felet vid första körningen. Webbplatsens helsidesomslag består av tre lager i det mörka temat, ett fasettmönster över en scrim över väggen, och det ljusa temat deklarerade det på nytt med två. Fasettlagret hade saknats i det ljusa temat från den dag det skrevs, och ingenting hade någonsin påpekat det, eftersom en sida som saknar ett av tre bakgrundslager ser ut som ett designbeslut snarare än en bugg. Åtgärden var en enda regel; dokumentationen efteråt registrerade vad lagret kostar i kontrast, så att tillägget är uppmätt snarare än antaget att vara gratis.

Resultat. Ett lager som saknas i ett av temana stoppar nu en commit, och ett som hade saknats sedan det skrevs ritas nu ut. Det är just den typ av fel som hela kontrollansatsen är inriktad på — ingenting var trasigt, ingenting gav felmeddelanden, sidan renderades korrekt, och den hade varit fel i månader.

En del av en längre historik — och den finns i sin helhet här.

Varje post är skriven på samma sätt: situationen, uppgiften, vad vi gjorde och vad som förändrades.

Se hela historiken