diff --git a/CHANGELOG.md b/CHANGELOG.md index 8cd05af..6194334 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,37 @@ e questo progetto aderisce al [Versionamento Semantico](https://semver.org/lang/ --- +## [2.1.0] - 2026-07-08 + +### Aggiunto +- Time out con spot pubblicitari: sul controller una modal fa scegliere squadra e video (o nessuno) tra i file `.mp4` della cartella `spot/`; il display copre il tabellone con un overlay a countdown, riproduce il video scelto (con fallback su testo "TIME OUT " se manca o finisce in anticipo) e sfuma nell'ultimo secondo; il server chiude automaticamente il time out dopo 30s anche in caso di disconnessione del controller; video elencati da `/spot/list` e serviti da `/spot/.mp4` +- Storico di cambi e time out registrato per ogni set nella `striscia` (popolato lazy, ordinato per punteggio, usato dal referto) +- Modalità **Amichevole**: i set si vincono normalmente ma la partita non termina mai automaticamente, per giocare set illimitati +- Dialog dedicato a fine partita che blocca ulteriori punti e apre le azioni post-match (referto, chiusura) +- Prototipo di generazione referto di gara stampabile (`src/referto.js`): formazioni di partenza, griglia punti, cambi e time out per set +- Layout esteso "da regia" per il controller in orientamento landscape (tablet), con pannelli squadra affiancati +- Indicatore ON/OFF sul pulsante Striscia del controller; config si riapre automaticamente dopo un reset +- Supporto WSL2 in sviluppo: `getNetworkIPs()` interroga PowerShell per ottenere gli IP reali della rete Windows +- Flusso di sviluppo containerizzato con hot reload: `docker-compose.dev.yml` e nuovo target `dev` nel Dockerfile multi-stage +- Suite di test estesa a oltre il 99% di copertura statement, con nuovi test e2e (time out, referto, accessibilità, visual regression) + +### Modificato +- `punteggio`/`setVinti`/`servizio` derivati sempre dalla `striscia` invece di essere memorizzati nello stato +- Struttura dati `striscia` compattata da array a stringa +- Il controller rispetta `state.order` (scambio lato squadre) come il display +- Logica di connessione WebSocket lato client estratta in `src/wsMixin.js` riusabile +- Dev server esposto su tutte le interfacce di rete (`vite --host`) +- Persistenza dati passata da named volume a bind mount (`./.segnapunti`) per accesso diretto ai file dall'host + +### Rimosso +- Sezione shortcut da tastiera dal README (funzionalità non più implementata) +- Emoji da codice, UI e commenti (ora vietate salvo richiesta esplicita) + +### Corretto +- Immagine Docker di produzione: mancava la copia di `src/spot-utils.js`, causando errori nel serving degli spot video + +--- + ## [2.0.0] - 2026-05-12 ### Aggiunto diff --git a/README.md b/README.md index fa24bba..c55b99c 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # Segnapunti -![Version](https://img.shields.io/badge/versione-2.0.0-blue) +![Version](https://img.shields.io/badge/versione-2.1.0-blue) ![Node](https://img.shields.io/badge/node-%3E%3D18-green) ![Docker](https://img.shields.io/badge/docker-ready-2496ED?logo=docker&logoColor=white) ![License](https://img.shields.io/badge/licenza-privata-lightgrey) @@ -191,10 +191,10 @@ Il `Dockerfile` è multi-stage (`deps` → `dev` / `builder` → `runtime`); sen ```bash docker build \ - -t santantonio.sytes.net/attilio/segnapunti:2.0.0 \ + -t santantonio.sytes.net/attilio/segnapunti:2.1.0 \ -t santantonio.sytes.net/attilio/segnapunti:latest . -docker push santantonio.sytes.net/attilio/segnapunti:2.0.0 +docker push santantonio.sytes.net/attilio/segnapunti:2.1.0 docker push santantonio.sytes.net/attilio/segnapunti:latest ``` diff --git a/docker-compose.yml b/docker-compose.yml index 95b0628..dd5c286 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,6 +1,6 @@ services: segnapunti: - image: santantonio.sytes.net/attilio/segnapunti:2.0.0 + image: santantonio.sytes.net/attilio/segnapunti:2.1.0 container_name: segnapunti ports: - "3000:3000" diff --git a/package-lock.json b/package-lock.json index ad407b9..a7921c3 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "segnapuntianto", - "version": "2.0.0", + "version": "2.1.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "segnapuntianto", - "version": "2.0.0", + "version": "2.1.0", "dependencies": { "express": "^5.2.1", "vue": "^3.2.47", diff --git a/package.json b/package.json index 7f46485..b277283 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "segnapuntianto", "private": true, - "version": "2.0.0", + "version": "2.1.0", "type": "module", "scripts": { "dev": "vite --host",