Checklists
Otevřené bugy a položky čekající na posouzení napříč projekty.
Otevřené bugy
4
Vyžadují opravu
Čeká na posouzení
76
K posouzení
Otevřené bugy
| Projekt | Popis | Kategorie | Větev | Poznámka | Vytvořeno | |
|---|---|---|---|---|---|---|
| Oskar | D1 migrace na remote: před prvním ostrým testem spustit pnpm wrangler d1 migrations apply DB --remote — bez toho /signup spadne na chybějící tabulce users. | tests | main c941a6d | — | 18. 5. 2026 | Zobrazit |
| Hammocknook CF | Doc drift: docs/runbook/cdn-setup.md a docs/effect-api-handover.md mají odkazy na smazaný soubor api/src/lib/images-router.ts a popisují /api/images proxy jako stále funkční. Aktualizovat texty na stav po R070. | docs | main 458a62d | — | 9. 5. 2026 | Zobrazit |
| Hammocknook CF | V hero search baru hledej sumava bez diakritiky. Aktuálně nic nenajde. Zkus Šumava s diakritikou — výsledky se objeví. | logic | main ce2b6a1 | — | 7. 5. 2026 | Zobrazit |
| Hammocknook CF | Klik na 'Použít filtry' nebo 'Zrušit filtry' celou stránku znovu načte (krátký záblesk, nahoře loading). Není to plynulý SPA přechod jako u jiných odkazů. Polish kandidát. | performance | main d1a2ae6 | — | 6. 5. 2026 | Zobrazit |
Čeká na posouzení
| Projekt | Popis | Kategorie | Větev | Vytvořeno | |
|---|---|---|---|---|---|
| Oskar | Registrace: vyplň nový e-mail + heslo (min 8 znaků) → přesměrování na /account, vidíš svůj e-mail. | logic | main | 18. 5. 2026 | Zobrazit |
| Oskar | Registrace s existujícím e-mailem: redirect zpět na /signup s hláškou „Účet s tímto e-mailem už existuje.". | logic | main | 18. 5. 2026 | Zobrazit |
| Oskar | Login se správnými údaji: redirect na /account; se špatnými údaji: redirect zpět na /login s hláškou „Nesprávný e-mail nebo heslo.". | logic | main | 18. 5. 2026 | Zobrazit |
| Oskar | Login: stejná hláška pro neexistující e-mail i pro špatné heslo (záměrné anti-enumeration). | security | main | 18. 5. 2026 | Zobrazit |
| Oskar | /account bez přihlášení → automatický redirect na /login. | logic | main | 18. 5. 2026 | Zobrazit |
| Oskar | Odhlášení tlačítkem na /account: redirect na /, session cookie smazaná, /account už nepřístupný. | logic | main | 18. 5. 2026 | Zobrazit |
| Oskar | Cookie atributy v DevTools → Application → Cookies: HttpOnly, SameSite=Lax, Secure (jen v produkci s HTTPS). | security | main | 18. 5. 2026 | Zobrazit |
| Oskar | Timing oracle při loginu: login s neexistujícím e-mailem vrátí response výrazně rychleji než login s existujícím e-mailem a špatným heslem (PBKDF2 verify běží jen u existujícího usera). Tracked pro Sprint 002 hardening. | security | main | 18. 5. 2026 | Zobrazit |
| Oskar | CSRF: endpointy /api/auth/{signup,login,logout} nemají CSRF token. SameSite=Lax mitiguje top-frame cross-origin POST, ale není explicit obrana. Tracked pro Sprint 002. | security | main | 18. 5. 2026 | Zobrazit |
| Oskar | Žádné unit testy pro password.verify, sessionCookie.parse a schema decode. Doporučuju HF v Sprint 001 nebo první run v Sprint 002. | tests | main | 18. 5. 2026 | Zobrazit |
| Oskar | Session TTL inkonzistence: změna env SESSION_TTL_DAYS změní cookie maxAge, ale DB session.expiresAt zůstává hardcoded 30 dní. Tracked pro Sprint 002. | logic | main | 18. 5. 2026 | Zobrazit |
| /home/github/Repoflare | Otevři homepage https://npm.vyvoj.dev/ — má se zobrazit landing page s tlačítky na dashboard, návod a GitHub. Žádná chybová stránka. | layout | main | 10. 5. 2026 | Zobrazit |
| /home/github/Repoflare | Otevři https://npm.vyvoj.dev/docs — návod musí mít všech 6 sekcí (Token, .npmrc, Publish, Install, Plný proxy režim, Troubleshoot) a fungující anchor odkaz mezi sekcí 2 a 5. | docs | main | 10. 5. 2026 | Zobrazit |
| /home/github/Repoflare | Otevři neexistující URL https://npm.vyvoj.dev/dashboard/foobar — musí se ukázat brandovaná 404 stránka s tlačítky Domů a Dashboard. | layout | main | 10. 5. 2026 | Zobrazit |
| /home/github/Repoflare | V dashboardu /dashboard/tokens vytvoř nový token — zelená potvrzovací hláška s tokenem, který se znovu nezobrazí. Tlačítko Zkopírovat funguje. | tests | main | 10. 5. 2026 | Zobrazit |
| /home/github/Repoflare | V dashboardu /dashboard/tokens smaž existující token — řádek zmizí, žádná chyba. | tests | main | 10. 5. 2026 | Zobrazit |
| /home/github/Repoflare | V dashboardu /dashboard/ hledej balíček podle části názvu — výsledek se filtruje za běhu, počet "X z Y" odpovídá. Vyprázdni search → seznam zpět. | tests | main | 10. 5. 2026 | Zobrazit |
| /home/github/Repoflare | Na detailu balíčku /dashboard/packages/<jméno> klikni Zkopírovat u install snippetu — text "npm install ..." je v clipboardu (vyzkoušej paste do editoru). Po 2s se tlačítko vrátí na "Zkopírovat". | tests | main | 10. 5. 2026 | Zobrazit |
| /home/github/Repoflare | V Safari nebo v incognito s vypnutým clipboardem zkus Zkopírovat — místo padání se na 2s zobrazí "Kopírování selhalo", pak se vrátí. | tests | main | 10. 5. 2026 | Zobrazit |
| /home/github/Repoflare | Tab přes celý dashboard od horního navigačního prvku — viditelný focus ring na každém interaktivním prvku (odkazy, tlačítka, inputy, selecty). | accessibility | main | 10. 5. 2026 | Zobrazit |
| /home/github/Repoflare | Spusť screen reader (VoiceOver/NVDA) na /dashboard/tokens, vyplň prázdný název a klikni Vytvořit token — reader nahlas přečte chybovou hlášku včetně role="alert". | accessibility | main | 10. 5. 2026 | Zobrazit |
| /home/github/Repoflare | Zkontroluj že prázdné seznamy mají konzistentní text "Zatím tu nejsou žádné X." (tokens, balíčky bez search query). | accessibility | main | 10. 5. 2026 | Zobrazit |
| /home/github/Repoflare | Zkus GET https://npm.vyvoj.dev/mock/-/mock-1.0.0.tgz bez Authorization tokenu — 403 Forbidden (npm tarball routes vyžadují bearer token). | security | main | 10. 5. 2026 | Zobrazit |
| /home/github/Repoflare | V scope-first režimu (.npmrc s @mujscope:registry=...) spusť npm install nějakého publikovaného privátního balíčku — projde přes Repoflare. Veřejný balíček (např. lodash) musí jít přímo na npmjs.org, ne na Repoflare. | logic | main | 10. 5. 2026 | Zobrazit |
| Hammocknook CF | Otevři hlavní stránku hammocknook.win — hero pozadí (zelený les) musí načíst rychle a být ostré v různých velikostech okna (zmenši/zvětši browser, srcset si vybere správnou variantu). | layout | main | 9. 5. 2026 | Zobrazit |
| Hammocknook CF | Otevři /prihlaseni — pozadí přihlašovacího formuláře musí být stejný hero obrázek, ostrý. | layout | main | 9. 5. 2026 | Zobrazit |
| Hammocknook CF | Otevři /mapa, klikni na nějaký pin — popup musí ukázat náhledový obrázek spotu (ne placeholder, ne broken image). | layout | main | 9. 5. 2026 | Zobrazit |
| Hammocknook CF | Otevři detail libovolného spotu (např. /spots/sumavske-trojmezi) — Galerie návštěvníků musí načíst miniatury fotek (pokud nějaké jsou). Klikni na fotku — lightbox otevře full-size verzi. | layout | main | 9. 5. 2026 | Zobrazit |
| Hammocknook CF | Sprint scope: sprint.md D3 plánovalo sdílený helper cdnImageUrl() v libs/api-models. Reálně jsou dvě duplicitní implementace cdnUrl (api/src/lib/cdn.ts + web/src/lib/img.ts). Funkčně OK, ale konsolidovat až bude příští sprint kolem images. | logic | main | 9. 5. 2026 | Zobrazit |
| Hammocknook CF | Žádné unit testy pro web/src/lib/img.ts — funkce imgUrl má netriviální logic (idempotence transform prefix, http/https detect, bare key composit). Při příštích úpravách helperu doplnit. | tests | main | 9. 5. 2026 | Zobrazit |
| Hammocknook CF | R2 CORS pravidlo na bucketu hammocknook-photos-prod povoluje localhost:4321 a localhost:4200 origins pro dev convenience. Pokud se nikdy nedělá dev upload z lokálního Astro, lze localhost origins z CORS pravidla odstranit. | security | main | 9. 5. 2026 | Zobrazit |
| Hammocknook CF | Vytvoř nový spot. Admini dostanou email s názvem, lokací, autorem, amenity chips, badge "soukromý" pokud private a popisem do 400 znaků. | logic | main | 7. 5. 2026 | Zobrazit |
| Hammocknook CF | Na /mapa klikni na "Najdi spoty u mě" v top baru. Po povolení polohy URL dostane ?centerLat=¢erLng= a karty zobrazí reálnou vzdálenost (5.3 km / 47 km). Aktivní stav = zelený "Řadím od tebe" pill s ✕. | logic | main | 7. 5. 2026 | Zobrazit |
| Hammocknook CF | Po povolení polohy otevři libovolný spot detail. V sidebar info tabulce je nový řádek "Vzdálenost: X km od tebe" (čte cookie hn-geo). | logic | main | 7. 5. 2026 | Zobrazit |
| Hammocknook CF | Na /mapa v top baru jsou 3 buttony Mapa/Satelit/Topo. Klik = page reload + změna pozadí. Satelit = letecké snímky (Esri), Topo = topografie (OpenTopoMap), Mapa = default vector. | layout | main | 7. 5. 2026 | Zobrazit |
| Hammocknook CF | Po změně mapy (Mapa→Satelit) se filtry, vyhledávání i geolokace zachovají v URL — neztratí se. | logic | main | 7. 5. 2026 | Zobrazit |
| Hammocknook CF | Na /mapa list pravého panelu zobrazí real km vedle regionu (jen pokud aktivní geolokace). Bez geo = jen region. | logic | main | 7. 5. 2026 | Zobrazit |
| Hammocknook CF | Vyzkoušej zruš geolokaci ("✕" v pillu nebo navigací bez params). Cookie hn-geo se smaže, distance zmizí všude. | logic | main | 7. 5. 2026 | Zobrazit |
| Hammocknook CF | Jako admin otevři Upravit u libovolného spotu s 2+ fotkami. Klik na "Nastavit jako hlavní" u ne-hero fotky. Po save fotka má badge ★ Hlavní v gridu. | logic | main | 7. 5. 2026 | Zobrazit |
| Hammocknook CF | Otevři detail spotu — vpravo v sidebar kartě je teď reálná malá mapka místo placeholderu. Kontrola: správný marker, drag funguje, scroll-wheel vyžaduje ctrl/⌘. | logic | main | 7. 5. 2026 | Zobrazit |
| Hammocknook CF | Na detailu spotu sekce "Komunita říká" — neměly by být duplicate Upravit/Smazat (ty už jsou jen v sidebar kartě). Hlasování je teď zelené/hnědé pill button s palec ikonou. | logic | main | 7. 5. 2026 | Zobrazit |
| Hammocknook CF | Napiš novou recenzi jako USER. Admini (pfencl@, oskar.kalas@) by měli dostat email s hvězdičkami, plným textem, autorem a linkem. Update existující recenze už mail neposílá. | logic | main | 7. 5. 2026 | Zobrazit |
| Hammocknook CF | API endpointy pro favorites (POST/DELETE/GET) nemají dedikované integration testy. Doplnit boundary testy v dalším sprintu. | tests | main | 7. 5. 2026 | Zobrazit |
| Hammocknook CF | Dej si v profilu do Oblíbených spot. Pak ho jako autor přepni na privátní. Vrať se na /ucet?tab=favs — spot z listu zmizí, ale ověř, jestli počítadlo Oblíbené v záložce odpovídá viditelným položkám. | logic | main | 7. 5. 2026 | Zobrazit |
| Hammocknook CF | Klikni na srdce u libovolného spotu, nech tab běžet hodinu, pak klikni znovu. Sleduj — srdce by mělo ukázat Přihlášení vypršelo toast místo tichého flicku. | logic | main | 7. 5. 2026 | Zobrazit |
| Hammocknook CF | Po přihlášení Google otevři /ucet — má zobrazit počítadla 'X spotů sdíleno / Y recenzí / Z hlasů' reálnými čísly. Pokud vidíš 0/0/0 nebo error, hlásit jako bug. | logic | main | 6. 5. 2026 | Zobrazit |
| Hammocknook CF | Na /mapa v levém sidebaru aktivuj toggle 'Moje spoty' (po přihlášení). Mapa se má zúžit jen na tvé spoty. Pokud vidíš všechny spoty nebo error, hlásit. | logic | main | 6. 5. 2026 | Zobrazit |
| Hammocknook CF | Vytvoř nový spot na /spots/new — vyplň formulář a klikni Vytvořit. Má následovat redirect na detail spotu. Pokud vidíš 'Vytvoření spotu selhala (FetchError)', hlásit. | logic | main | 6. 5. 2026 | Zobrazit |
| Hammocknook CF | Edituj existující spot (vlastní). Změň název nebo popis a ulož. Detail page má zobrazit aktualizované hodnoty. | logic | main | 6. 5. 2026 | Zobrazit |
| Hammocknook CF | Smaž vlastní spot tlačítkem Delete v edit screenu. Spot má zmizet z mapy i ze seznamu /spots/me. | logic | main | 6. 5. 2026 | Zobrazit |
| Hammocknook CF | Na detail page spotu klikni šipku nahoru (upvote) nebo dolů (downvote). Counter se má zvýšit. Druhý klik na stejnou šipku hlas vrátí (counter se sníží). | logic | main | 6. 5. 2026 | Zobrazit |
| Hammocknook CF | Napiš novou recenzi (1-5 hvězdiček + text) na detail page přihlášený. Recenze se má objevit v seznamu Recenze pod popisem. Edit/Delete vlastní recenze funguje. | logic | main | 6. 5. 2026 | Zobrazit |
| Hammocknook CF | Otevři https://api.hammocknook.win/docs — má zobrazit Scalar UI s titulem 'Hammocknook API', verzí 0.0.1, popisem (geospatial API...) a seznamem endpointů (Spots/Photos/Votes/Reviews/Users/Admin/Me/Health) + Models sekce. | docs | main | 6. 5. 2026 | Zobrazit |
| Hammocknook CF | Otevři https://api.hammocknook.win/openapi.json — vrátí JSON s 'info.title': 'Hammocknook API', verzí 0.0.1 a seznamem všech /api/* paths. | docs | main | 6. 5. 2026 | Zobrazit |
| Hammocknook CF | Otevři detail spotu (např. /spots/jeseniky-pod-pradedem). Hero foto + galerie mají načíst (žádný broken-image ikona / 500 status v Network tabu). | logic | main | 6. 5. 2026 | Zobrazit |
| Hammocknook CF | Pokud klikneš 'Sign in with Google' 2× rychle za sebou, druhý flow může selhat redirectem na chybovou stránku 'please_restart_the_process'. User pak musí znovu kliknout. Neblokující bug — flag pokud se opakuje často. | logic | main | 6. 5. 2026 | Zobrazit |
| Hammocknook CF | Mobile dev (native Kotlin/Swift kamarád) potřebuje vědět: kořenový openapi.json je pryč. Nový zdroj specu pro orval / SDK gen je runtime https://api.hammocknook.win/openapi.json. Předat tuto informaci. | docs | main | 6. 5. 2026 | Zobrazit |
| Hammocknook CF | Schema.Number → Schema.Finite v libs/api-models znamená že request body s NaN/Infinity v lat/lng/rating teď vrátí 400. Praktiky neproblém (JSON nemá NaN), ale pokud někdo testuje API s edge case čísly, ví proč. | logic | main | 6. 5. 2026 | Zobrazit |
| Hammocknook CF | Sprint 016 hotovo — pauznuté carry-over runy (Sprint 011 R046 profil counters, Sprint 010 R043 perf, Sprint 015 R057+R058 Effect cleanup) lze odblokovat. Vyber prioritu pro další sprint. | docs | main | 6. 5. 2026 | Zobrazit |
| Hammocknook CF | Otevři https://api.hammocknook.win/docs. Stránka má načíst Scalar UI s tmavým tématem. Vlevo je seznam tagů (Spots, Photos, Reviews, Auth, Votes, Admin). | layout | main | 6. 5. 2026 | Zobrazit |
| Hammocknook CF | V Scalar UI klikni Spots → 'List spots'. Klikni 'Try it out' → 'Send'. Má vrátit 200 s JSON arrayí spotů. Když přidáš query parameter minRating=4, list se zúží. | tests | main | 6. 5. 2026 | Zobrazit |
| Hammocknook CF | V Scalar UI klikni Spots → 'Get spot detail'. Vyplň path parameter id (může být UUID nebo slug, např. 'jeseniky-pod-pradedem'). Send → 200 s detail spotu, nebo 404 pokud neexistuje. | tests | main | 6. 5. 2026 | Zobrazit |
| Hammocknook CF | V Scalar UI klikni Reviews → 'Create review'. Bez přihlášení Send → 401. Po přihlášení a zadání spotId + rating + text → 201 s ReviewResponse. | tests | main | 6. 5. 2026 | Zobrazit |
| Hammocknook CF | V Scalar UI klikni Votes → 'Cast / change / remove vote'. Body { value: 1 } přihlášený → 200 s aktualizovanými countery. Body { value: 0 } → vote se smaže. | tests | main | 6. 5. 2026 | Zobrazit |
| Hammocknook CF | V Scalar UI ověř že u všech endpointů s 'security: sessionCookie' je vidět ikona zámku. Bez přihlášení dostaneš 401, po přihlášení 200/201/204 podle endpointu. | security | main | 6. 5. 2026 | Zobrazit |
| Hammocknook CF | Otevři https://api.hammocknook.win/openapi.json přímo v prohlížeči. Vrátí JSON s openapi:'3.1.0', 18 paths, 24 operations, 13 components.schemas. Velikost ~31KB. | tests | main | 6. 5. 2026 | Zobrazit |
| Hammocknook CF | Až přibyde search input nahoře (zatím nefunguje), tester ověř že 'Zrušit filtry' NEsmaže text v search. Aktuálně by smazal — fix se bude řešit s implementací search. | logic | main | 6. 5. 2026 | Zobrazit |
| Hammocknook CF | Filtr na cenu (max Kč) zatím v sidebaru chybí, ale backend ho už umí. Buď doplnit price slider, nebo zatím nezveřejňovat. Tester nemůže nic ověřit, dokud nepřibude UI. | logic | main | 6. 5. 2026 | Zobrazit |
| Hammocknook CF | Sprint 011 ještě není kompletní — chybí Run 046 (Profil — opravdové počty místo hardcoded '23 spotů navštíveno' v sekci Účet). Po jeho dokončení přijde druhé kolo auditu. | docs | main | 6. 5. 2026 | Zobrazit |
| Hammocknook CF | Otevři Mapa, klikni libovolný filtr a Použít. Pod tlačítkem 'Použít filtry' se objeví 'Zrušit filtry'. Klikni na něj. Všechny filtry se vypnou a vrátí se plný seznam spotů. | logic | main | 6. 5. 2026 | Zobrazit |
| Hammocknook CF | Otevři Mapa. Bez kliknutí na nic — tlačítko 'Zrušit filtry' se NEMÁ objevit. Objeví se až po zapnutí alespoň jednoho filtru. | logic | main | 6. 5. 2026 | Zobrazit |
| Hammocknook CF | Otevři Mapa. V hlavičce Filtry je počet '0 aktivních'. Klikni jeden chip — počet se zvedne na '1 aktivních'. Klikni další — '2 aktivních'. Reset filtry vrátí na 0. | logic | main | 6. 5. 2026 | Zobrazit |
| Hammocknook CF | Když filtr nic nenajde (zkus např. všechny terény + nejvyšší hodnocení), vpravo má v hlavičce být '0 spotů' a seznam prázdný. | tests | main | 6. 5. 2026 | Zobrazit |
| Hammocknook CF | Otevři stránku Mapa. V levém panelu Filtry klikni 'Stromy ≥ 2' a 'Voda do 200m'. Klikni 'Použít filtry'. Vpravo má zůstat jen spoty které mají oboje vybavení. | logic | main | 6. 5. 2026 | Zobrazit |
| Hammocknook CF | Otevři Mapa. V sekci Hodnocení klikni '4+'. Použij filtry. Vpravo má zůstat jen spoty s hodnocením 4 a vyšším. | logic | main | 6. 5. 2026 | Zobrazit |
| Hammocknook CF | Otevři Mapa. V Typ terénu klikni 'Les' a 'Louka'. Použij filtry. Vpravo má být spoty které mají alespoň jeden z těch terénů (lesní NEBO louková, nemusí mít oba). | logic | main | 6. 5. 2026 | Zobrazit |