Cette mise à jour implémente la détection des flux continus (radio, streaming) et améliore la gestion de la barre de progression pour ces flux. Les changements incluent : - Ajout d'une méthode predicat `is_playing_a_stream()` au niveau de `MusicRenderer` - Développement d'une fonction utilitaire `is_continuous_stream_url()` pour analyser les headers HTTP - Mise à jour des backends (UPnP, OpenHome, LinkPlay, ArylicTcp, Chromecast) pour détecter les flux continus - Ajout d'un flag `continuous_stream` dans chaque backend - Export du module de détection de flux - Mise à jour de l'API REST et des événements SSE pour transmettre l'état du flux - Correction de la gestion de la position de lecture pour les flux continus Les flux continus sont maintenant correctement détectés via une analyse HTTP des headers, permettant une gestion appropriée de la barre de progression dans l'interface web.
1.5 KiB
1.5 KiB
Bug : Images non affichées dans la webapp (fallback SVG systématique)
Description du bug
Dans l'application web Control Point, les images de couverture d'album ne s'affichent plus correctement. Au lieu d'afficher les images, seuls les petits logos SVG de fallback (icône Music) sont visibles, alors que :
- Les URLs des images sont correctes
- Les images sont bien présentes dans le cache
- Les images sont accessibles via leur URL directe
Ce bug est apparu après une correction précédente visant à éliminer les images grises.
Symptômes
- Les composants affichent l'icône SVG de fallback au lieu des vraies images
- Le problème est plus fréquent qu'avant la correction précédente
- Les images en cache du navigateur ne s'affichent pas
Crates/Modules concernées
- pmoapp/webapp (application Vue.js)
Composants à examiner
src/components/pmocontrol/CurrentTrack.vuesrc/components/pmocontrol/QueueItem.vuesrc/components/pmocontrol/MediaItem.vuesrc/components/pmocontrol/RendererCard.vue
Cause suspectée
Le pattern d'affichage d'image avec v-show="imageLoaded" ne gère pas correctement le cas où l'image est déjà en cache du navigateur. Dans ce cas, l'événement @load peut se déclencher de manière synchrone avant que Vue n'ait attaché l'écouteur, laissant imageLoaded à false.
Solution attendue
Ajouter une vérification de l'état complete de l'image après le montage du composant et après chaque changement d'URL, pour détecter les images déjà chargées depuis le cache.