Caro @LTB
Když jsem ti psal, byli jsme na verzi 5.6.9, ale po mém e‑mailu jsem pokračoval v práci a nyní jsme na verzi 5.10.1. Přeskočili jsme 5.7.x (režim prezentace + tisk tabule + nebezpečná zóna kódu náhodného), 5.8.x (sdílený obrázek pro Instagram/Telegram, stránkování párování, optimalizace databáze), 5.9.x (Web Share API, Bot broadcast s fotkou po ukončení turnaje, RR num_turni greyout, refactor banner news), 5.10.0 (automatické zálohování před odstraněním s obnovením do 7 dnů). Vydání jsou velmi krátká, protože jsem měl volný den věnovaný tomu.
Odpovídám ti po pořadí na tvá témata:
═══════════════════════════════════════════════════════════
REGISTRO ZPOZDĚNÝCH
═══════════════════════════════════════════════════════════
✓ Ano, je to vše v 5.6.4 a následně zablokováno. Nyní přidáš tým během běhu, naplníš ho rosterem přes standardní UI, a při příštím Generování kola se správně vloží do párování s 0 body. Přidal jsem také 10 automatických testů plus 2 na Round Robin (PARTE D — zablokováno pro RR kvůli pevné kalendáři). Všechny zelené na pilotním turnaji. Doporučuji provést test s turnajem 4-5 týmů, dvě kola hrána, pak přidej „zpožděný“ tým: měl by se objevit ve třetím kole bez problémů.
═══════════════════════════════════════════════════════════
POSUN TÝMU
═══════════════════════════════════════════════════════════
✓ Potvrzeno, šlo o regresi. Když jsi klikal na tým pro rozbalení, server znovu načítal stránku s `&squadra=N` a posun se vrátil na začátek — zvlášť frustrující s mnoha týmy. Už jsme to dříve řešili, ale při jedné ze středních verzí na záložce Týmy se oprava ztratila.
═══════════════════════════════════════════════════════════
TLAČÍTKO Q V REŽIMU PREZENTACE
═══════════════════════════════════════════════════════════
✓ Skutečný bug, omlouvám se. Používal jsem `history.back()` což ale nefunguje, když je prezentace otevřena v nové kartě (historie prázdná → nic se nestane při stisku klávesy). Nyní je tok:
1. Q ve fullscreen → opustí fullscreen
2. Q znovu (nebo Q bez fullscreen) → pokud jsem ti otevřel prezentaci ze stránky turnaje (referrer same-origin), `history.back()` tě vrátí tam
3. Pokud jsi přišel přímo na URL, přesměruje se na veřejnou stránku turnaje
Funguje ve všech případech. Stejný chování má i `Esc`.
═══════════════════════════════════════════════════════════
NEBEZPEČNÁ ZÓNA
═══════════════════════════════════════════════════════════
Zasáhl jsi bod: potvrzení, které vyžaduje jen „zadej kód/jméno“, je mentálně přeskočeno, když uživatel začíná s úmyslem zrušit. Přesně to se stalo dnes ráno na našem testovacím turnaji.
Proto, kromě náhodného kódu 2 číslic v nebezpečné zóně (bariera zůstává), jsem ve verzi 5.10.0 přidal automatické zálohování před smazáním: před DELETE se uloží JSON se vším turnajem (týmy, rosters, sestavy, kola, zápasy, vyrovnání) do tabulky. Uchováváno 7 dní. Všechno najdeš v:
Menu uživatele → „Smazané turnaje“
(nebo přímo: my.chesspairings.org/tornei_eliminati.php)
Z toho vidíš nedávno smazané turnaje, expiraci zálohy a tlačítko „Obnovit“, které znovu vytvoří turnaj se stejným ID, pokud je volné. Funguje pro individuální i týmové. Denní cron v 04:00 vymaže expirované.
Na tvůj návrh zamknutí: vezmi ho na vědomí, budeme to řešit. Automatické zálohování pokrývá 99 % případů („oh no, smazal jsem, okamžitě obnovím“), ale zámek by byl druhou úrovní explicitní ochrany pro „důležité“ turnaje. Zaznamenáno jako další funkce k posouzení.
═══════════════════════════════════════════════════════════
REŽIM PREZENTACE + TISK TABULE — všechny testy
═══════════════════════════════════════════════════════════
Při testování se zaměř na:
Modalita Prezentace (projektor v místnosti):
- URL: tlačítko „Režim prezentace“ nad kartami turnaje, nebo přímo `presentazione.php?id=X&token=Y` pro jednotlivce / `presentazione_squadre.php?...` pro týmy
- Veřejný token, žádné přihlášení požadováno — připoj laptop k projektoru a jdi dál
- 2 snímky v rotaci: Top 10 žebřík (15 s) → Párování aktuálního kola (60 s, stránkované na 10 stolů na stránku)
- Live data: automatické obnovení každých 30 s, kompletní reload při nových výsledcích nebo změně kola
- Ovládání: Space = pauza/hraní (s žlutým badge viditelným), ← → = manuální navigace bez přerušení, F = fullscreen toggle, Q/Esc = exit
Stiskni tlačítko „Tisk tabule“ nad kartami (vždy viditelné, i pro turnaj v registraci):
- Vygeneruje A4 portrét s 2 velkými QR kódy: jeden na veřejnou stránku turnaje, druhý generický na Telegram bot
- Pokud je turnaj soukromý, QR kód turnaje se nahradí upozorněním (pro aktivaci by bylo potřeba zaškrtnout „Veřejná stránka turnaje“ v Nastavení)
═══════════════════════════════════════════════════════════
DNEVNÁ KOMBINACE — hodně štěstí
═══════════════════════════════════════════════════════════
Včera večer mi dej vědět, jak to šlo. Pokud během turnaje vyjde nějaký bug nebo podivnost, dej mi o tom vědět, abych na to mohl pracovat následující den.