- In HomePage, dopo il filtro per comunità, viene applicata una deduplicazione basata sull'id_canti: se lo stesso canto esiste sia nella lista globale (validato) sia in quella parrocchiale (non validato), viene mantenuto solo quello non validato.
- In HomePage.findCanto(), Player, Display e Playlist: quando il filtro comunità è attivo, la ricerca di un canto per ID dà precedenza alla lista comunitaCantiPersonali rispetto al catalogo globale.
- In PlaylistPage: aggiunta gestione completa delle sorgenti (global, my-canti, canti personali comunità) con stesso ordine di priorità.
- Recuperato il campo 'canti_personali' dalle tabelle dell'API parrocchiale.
- Mappato ed integrato il segnale 'comunitaCantiPersonali' in locale e salvato su localStorage.
- Permesso il caricamento e l'interrogazione corretta dei brani custom in HomePage, PlayerPage, DisplayPage, YoutubePlayerService e MediaSessionService.
- Risolto il disallineamento per cui la parrocchia 123456 mostrava 196 brani anziché 208.
- Aggiunto il caricamento reattivo del canto tramite un 'effect' in PlayerPage e DisplayPage.
- Ora l'applicazione attende che la lista asincrona dei canti sia popolata per caricare la canzone richiesta da URL.
- Aggiunto autoscroll standard con controllo velocità (V1-V10) e relativo toggle in settings.
- Implementata la visualizzazione opzionale di tag e data aggiornamento nella lista canti.
- Rinnovata la pagina 'Proponi Canto' con tastiera accordi (fondamentale + variazioni) e OCR spaziale potenziato per l'allineamento automatico degli accordi con il testo.
- Ottimizzata la persistenza della modalità schermo intero.