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.
36 lines
1.5 KiB
Markdown
36 lines
1.5 KiB
Markdown
# 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.vue`
|
|
- `src/components/pmocontrol/QueueItem.vue`
|
|
- `src/components/pmocontrol/MediaItem.vue`
|
|
- `src/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.
|