Fejlesztés
Mi épült meg az oldalon, és mikor. Minden bejegyzés mögött valódi kód áll — a commit azonosítója ott van mellette.
A „kiadás” mint külön fogalom eltűnt az oldalról: mostantól az epizód maga a megjelenés. Az oldal megtanulta, hogy melyik domainen fut, a hírfolyam pedig új címre költözött, olvashatóvá vált, és már az új részekről is szól.
6518313A Host fejlécet a hívó adja meg. A saját oldalunkba visszaírt címnél ez rendben van — aki meghamisítja, a saját nézetét rontja el. Egy jelszó-visszaállító levélbe kerülő hamis cím viszont működő adathalász link, amit mi kézbesítünk az áldozat postafiókjába. A levelek ezért kizárólag a beállított értéket használják, és ez a kódban külön, nevesített döntés.
6518313A Chrome az XSLT-stíluslapot a script-src alá sorolja, az oldal fő szabálya pedig strict-dynamic-ot használ, ami kikapcsolja a hosztlistát — így a stíluslap betöltése tiltott volt, egyetlen konzolsorral magyarázva. A megoldás nem a fő szabály lazítása: a hírfolyam és a stíluslapja saját, szigorúbb szabályt kapott, amiben semmi nincs a saját stíluslapon kívül.
Az oldal mostantól meg tudja mondani magáról, hogy még épül. Az admin felületen a beállítások száma tizennyolcról harmincötre nőtt, és mindegyik mögött valódi viselkedés áll — kapcsoló, ami nem csinál semmit, rosszabb, mintha ott sem lenne.
771cbafEgy elrejtett gomb udvariasság, nem szabály: a végpontok böngésző nélkül is elérhetők. Ezért az értékelés, a letöltés-feloldás, a nézési előrehaladás és a lejátszás mind a kiszolgálón is ellenőrzi a saját kapcsolóját, és 403-mal, magyar indoklással utasít vissza. A lejátszásnál ez egyetlen közös ponton történik, amin mind a négy útvonal (manifest, lejátszási lista, szegmens, közvetlen fájl) átmegy — különben a lejátszó ugyan nem indulna el, de a már kiadott szegmens-címek tovább élnének.
Megjelent az adásnaptár, mindenki törölheti a saját fiókját és hozzászólásait, és kiderült, hogy a keresés függvényei a Postgres számára láthatatlanok voltak.
0652691Az éles telepítés elhasalt azzal, hogy `function immutable_unaccent(text) does not exist` — miközben a függvény ott volt. A Postgres az indexkifejezéseket szűkített kereséssel értékeli ki: sem az indexépítés, sem az automatikus karbantartás nem látja azt az útvonalat, amit a hívó lát. Ugyanez a hiba csendben ott volt a helyi adatbázis naplójában is, az automatikus elemzés alatt — vagyis a tábla karbantartása hónapokig sikertelen lett volna anélkül, hogy bárki észreveszi. Minden függvényhivatkozás sémával együtt szerepel, és van rá teszt, ami a szűkített útvonalat állítja be, hogy ez ne fordulhasson elő újra.
A leghosszabb nap: hozzászólások, értesítések, e-mail, teljes szöveges keresés, profilok, nézési előrehaladás, telepíthetőség — és a mögéjük tett integrációs tesztek.
8f2067eA proxy tetszőleges belső címre rá tudott kérdezni, ha valaki a megfelelő paramétert küldte; ez a réteg mostantól csak arra megy ki, amire szabad. Emellett kiderült, hogy néhány sebességkorlát olyan kulcsra épült, ami sosem ismétlődött — vagyis nem korlátozott semmit.
Az oldal megkapta a mostani kinézetét, a csapat kezelhetővé vált a felületről, és az AniList–MyAnimeList import elkezdte kitölteni a projektek adatait.
2694015Környezeti változóban tárolt jelszó vagy előre beégetett fiók helyett. Ugyanitt magyarra kerültek a környezeti beállítások hibaüzenetei.
Az első nap: adatmodell, jogosultságok, tervezői rendszer, API-váz, admin felület, tesztek — és minden, amire a többi épül.
4445e78Ugyanebben a körben a GYIK kezelése és a hibák központi gyűjtése.
90c603a