Payload skládá URL uploadů absolutně podle serverURL. next/image to vyhodnotí jako externí zdroj a bez images.remotePatterns odmítne s HTTP 400 "url parameter is not allowed" — samotný soubor se přitom servíruje správně, takže se to projevilo až s nahraným obrázkem. Do next/image proto posíláme jen cestu (helper cestaKSouboru). Soubor leží na stejném originu jako web, takže je to korektní, a navíc na tom nezávisí doména: remotePatterns se zapékají při buildu, ale tentýž image běží na stagingu i v produkci pod jiným jménem. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
1.6 KiB
1.6 KiB
Changelog
Formát podle Keep a Changelog, verzování sémantické.
[Nevydáno]
Přidáno
- Kostra projektu na Payload CMS 3 + Next.js 16 nad SQLite.
- Kolekce
Products(obrázky, volné parametry, cena, dostupnost, skrytí),Media(zmenšeninynahledadetail),Pages,Users. - Veřejná část: výpis nabídky, detail položky, statické stránky.
- Administrace na
/admins vypnutou veřejnou registrací a zamykáním účtu po pěti neúspěšných pokusech. - Endpoint
/api/healthpro Docker HEALTHCHECK. - Produkční
Dockerfile,docker-compose.ymlpro vývoj adocker-compose.prod.ymlpro nasazení z Gitea registry. - CI v Gitea Actions: lint → testy → build → push image.
- Úvodní migrace databáze.
- Proměnná
CSRF_ORIGINSpro případy, kdy se admin otevírá i z jiné adresy, než jeNEXT_PUBLIC_SERVER_URL(typicky po IP v LAN). Bez ní Payload odmítal veškeré zápisy včetně nahrávání obrázků chybou 403.
Opraveno
- Adresáře
data/amedia/jsou v repu přes.gitkeep. SQLite si adresář nevytvoří, takže po čerstvémgit clonepadaly testy ipayload migratenaSQLITE_CANTOPEN(kód 14) — projevilo se to až v CI. - Obrázky se na webu nezobrazovaly. Payload vrací absolutní URL podle
serverURL, cožnext/imagebere jako cizí zdroj a bezremotePatternsodmítne s HTTP 400 „url parameter is not allowed". Donext/imagese nově posílá jen cesta — soubor leží na stejném originu a stejný image tak funguje na stagingu i v produkci, kde se domény liší.