Files
pmomusic/Blackboard/Done/bug_images_cache_webapp.md
Eric Coissac ea5328450b Implémentation de la détection de flux continu et gestion de la barre de progression
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.
2026-01-31 10:33:06 +01:00

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.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.