📜 Changelog

Historie všech změn a aktualizací

v1.3.0 12. listopadu 2025 Aktuální

Přidáno

  • Health check endpoint (/api/health) pro monitoring systému
  • Monitorování systémového zdraví (D1, KV, TMDB API)
  • Monitorování sběru dat (stáří dat, počet záznamů)
  • Monitorování newsletteru (poslední odeslání, počet odběratelů)
  • Support pro UptimeRobot monitoring s query parametry (?check=system/data/newsletter)
  • TMDB Discovery API pro bulk loading Netflix obsahu
  • Rozšíření databáze na 432+ kvalitních titulů
  • Emoji vlaječky pro zobrazení země původu obsahu (🇺🇸 🇰🇷 🇯🇵)
  • Tooltips na vlaječkách s plným názvem země
  • České názvy zemí (50+ zemí)

Změněno

  • Kompletní mobilní UX optimalizace pro telefony 320px - 640px
  • Horizontal scroll navigace s scroll-snap efektem
  • Section tabs flex-wrap (2 tlačítka na řádek)
  • Vertical stack pro controls dropdowny na mobilu
  • Všechny touch targets zvětšeny na min 44px (Apple HIG)
  • Font-size: 16px na inputech pro prevenci iOS auto-zoom
  • Full-width newsletter form na mobilu
  • Menší typography a spacing na mobilech
  • Responzivní breakpointy: 640px, 768px, 1024px
  • Archiv řazení změněno z "Nedávno přidané" na "Nové v archivu"
  • Region filter nyní reload data z API (místo jen frontend filtru)
  • Zobrazení ISO kódů zemí nahrazeno emoji vlajkami

Opraveno

  • Navigační tlačítka přetékající viewport na mobilu
  • Section tabs částečně mimo obrazovku (červený prvek)
  • Controls dropdowny se nevešly na úzké telefony
  • Touch targets příliš malé pro pohodlné ovládání
  • Region filter checkbox nefungoval správně
  • Origin country nezobrazovalo informace o zemi původu
  • D1 batch API format error - opravena struktura prepared statements
  • Zastaralá KV cache způsobující nesprávné statistiky

Technické

  • Health check API s multi-level status (healthy/degraded/unhealthy)
  • HTTP 200 pro healthy/degraded, 503 pro unhealthy
  • Cache age monitoring s varováním při data >48h
  • Newsletter monitoring s varováním při >7 dnů od odeslání
  • TMDB Discovery API endpoint s filtry (provider=Netflix, region=CZ)
  • Bulk content loading (až 20 stránek, rate limiting 200-250ms)
  • CSS media queries optimalizované pro mobile-first approach
  • Scroll-snap-type: x mandatory pro navigation
  • Hidden scrollbars (scrollbar-width: none, ::-webkit-scrollbar)
  • -webkit-overflow-scrolling: touch pro iOS momentum scrolling
v1.2.0 11. listopadu 2025

Přidáno

  • Cloudflare D1 databáze pro persistentní ukládání obsahu
  • Archivní stránka (📦 Archiv) s kvalitním obsahem z historie
  • API endpoint /api/archive pro zobrazení archivu
  • API endpoint /api/best pro nejlepší obsah všech dob
  • API endpoint /api/stats pro statistiky databáze
  • Data Access Layer s optimalizovaným cachingem (KV + D1)
  • Automatické ukládání Top 10 a Netflix New dat do databáze
  • Sledování historie výskytů (appearances) pro každý titul
  • Filtrování archivu podle typu, hodnocení a řazení
  • Pagination na archivní stránce (50 položek, "Načíst další")
  • Zobrazení statistik databáze na archivní stránce
  • Quality tiers (excellent, good, average, below-average, poor)
  • Odkaz na Archiv skrytý do 1. prosince 2025 (čekání na naplnění databáze)

Změněno

  • Navigace rozšířena o odkaz na Archiv na všech stránkách
  • API Top 10 a Netflix New nyní ukládají data do D1
  • Denormalizovaná databázová struktura pro rychlé čtení
  • Netflix New limit zvýšen z 100 na 150 titulů na kategorii (300 celkem)
  • Maximální počet stránek z TMDB zvýšen z 5 na 10
  • Minimální počet hlasů snížen z 50 na 30 pro více nového obsahu
  • Cache verze zvýšena na v5 pro invalidaci starých dat

Technické

  • Cloudflare D1 SQLite databáze s 2 tabulkami (content, appearance_history)
  • 7 optimalizovaných indexů včetně partial indexů pro kvalitní obsah
  • 3 SQL views pro časté dotazy (v_quality_content, v_recent_quality, v_top10_frequent)
  • Hybridní caching strategie: KV (1-5ms) + D1 (10-30ms) + APIs (500-2000ms)
  • Batch operations pro efektivní ukládání dat
  • Automatická detekce regionálního obsahu (asijský a latinskoamerický)
  • Non-blocking DB operace - chyby neblokují API odpovědi
  • Migrace 0001_initial_schema.sql
v1.1.0 10. listopadu 2025

Přidáno

  • Navýšení limitu TMDB Discover ze 20 na 100 položek na kategorii
  • Netflix New nyní zobrazuje ~200 titulů (100 filmů + 100 seriálů)
  • Vícestránkové načítání z TMDB API (až 5 stránek)
  • Double Opt-In systém pro newsletter (zatím neaktivní)
  • Automatický režim tématu podle východu/západu slunce v Praze
  • Cyklování témat: tmavé → světlé → auto → tmavé
  • Newsletter stránka s formuláři pro přihlášení a odhlášení
  • Šablona potvrzovacího emailu pro Double Opt-In
  • Crypto utility pro šifrování/dešifrování tokenů
  • Stránka s potvrzením přihlášení k newsletteru

Změněno

  • Rating badge přesunut z karty na poster (vlevo nahoře)
  • Rating badge umístěn nad horní hranu posteru (top: -0.8rem)
  • Výchozí téma změněno na 'auto' režim
  • Cache verze zvýšena na v4 pro Netflix New data

Odstraněno

  • Rank badge (#1, #2, #3...) odstraněn ze všech karet
  • Ikona hvězdičky (⭐) odstraněna z hodnocení
  • Hodnocení nyní zobrazeno jako "70% ✅" místo "⭐ 70% ✅"

Opraveno

  • Newsletter subscribe formulář - problém s načítáním DOM
  • Přesnost TMDB vyhledávání s filtrováním podle roku
  • Duplikátní tituly v newsletteru (deduplikace podle tmdb_id)
  • Oddělení regionálního obsahu (asijská a jihoamerická tvorba)
  • CSS proměnné na newsletter stránce pro správné témata
  • DMARC DNS záznam - odstraněno "TTL: Auto" z hodnoty
v1.0.0 3. listopadu 2025

Přidáno

  • Úvodní vydání Topflix
  • Integrace Netflix Top 10 ČR (filmy + seriály)
  • Netflix New obsah z TMDB API (posledních 6 měsíců)
  • Zobrazení hodnocení z TMDB a ČSFD
  • Indikátory kvality (💣 výborné, ✅ dobré, 👍 průměrné, ⚠️ podprůměrné, ❌ špatné)
  • Přepínání tmavého/světlého tématu
  • Filtr regionu (skrýt/zobrazit asijský a latinskoamerický obsah)
  • Možnosti řazení (pořadí, hodnocení, doporučené)
  • Responzivní design pro mobily a desktop
  • KV namespace caching (7denní TTL)
  • Týdenní newsletter systém s Resend API
  • Cron trigger pro newsletter (středy 15:00 UTC)
  • Dynamické generování předmětu emailu
  • List-ID a deliverability hlavičky

Technické

  • Nasazení na Cloudflare Pages
  • Cloudflare Workers pro cron triggery
  • Integrace TMDB API
  • Resend API pro doručování emailů
  • Scraping Netflix Top 10 TSV dat