From 6d9c50d4549d6befb52048e84908a5b8e69957f9 Mon Sep 17 00:00:00 2001 From: Eric Coissac Date: Sat, 27 Dec 2025 14:44:07 +0100 Subject: [PATCH 1/2] Debug online --- pmocontrol/src/discovery.rs | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/pmocontrol/src/discovery.rs b/pmocontrol/src/discovery.rs index 013d7198..d095ceca 100644 --- a/pmocontrol/src/discovery.rs +++ b/pmocontrol/src/discovery.rs @@ -183,8 +183,10 @@ where endpoint.touch(location, server_header, max_age); endpoint.types_seen.insert(device_type); - if !endpoint.seen_as_renderer { - if let Some(info) = self.provider.build_renderer_info(endpoint) { + // Toujours tenter de classifier et envoyer un événement Online pour maintenir + // l'état à jour dans le registre (important pour les serveurs qui ré-apparaissent) + if let Some(info) = self.provider.build_renderer_info(endpoint) { + if !endpoint.seen_as_renderer { tracing::debug!( "Renderer classified: udn={} friendly_name={} model={}", info.udn, @@ -192,12 +194,12 @@ where info.model_name ); endpoint.seen_as_renderer = true; - updates.push(DeviceUpdate::RendererOnline(info)); } + updates.push(DeviceUpdate::RendererOnline(info)); } - if !endpoint.seen_as_server { - if let Some(info) = self.provider.build_server_info(endpoint) { + if let Some(info) = self.provider.build_server_info(endpoint) { + if !endpoint.seen_as_server { tracing::debug!( "Server classified: udn={} friendly_name={} model={}", info.udn, @@ -205,8 +207,8 @@ where info.model_name ); endpoint.seen_as_server = true; - updates.push(DeviceUpdate::ServerOnline(info)); } + updates.push(DeviceUpdate::ServerOnline(info)); } } } From 40cce9f894a64133e7614c84bab3468b82b643bd Mon Sep 17 00:00:00 2001 From: Eric Coissac Date: Sat, 27 Dec 2025 14:56:45 +0100 Subject: [PATCH 2/2] Rends les items de la queue de lecture cliquables. --- .../src/components/pmocontrol/QueueItem.vue | 12 +- .../src/components/pmocontrol/QueueViewer.vue | 10 ++ .../components/unified/RendererTabContent.vue | 17 ++- pmoapp/webapp/src/services/pmocontrol/api.ts | 11 ++ pmocontrol/src/control_point.rs | 112 ++++++++++++++++++ .../src/control_point/openhome_queue.rs | 14 +++ pmocontrol/src/openapi.rs | 8 ++ pmocontrol/src/pmoserver_ext.rs | 88 +++++++++++++- 8 files changed, 268 insertions(+), 4 deletions(-) diff --git a/pmoapp/webapp/src/components/pmocontrol/QueueItem.vue b/pmoapp/webapp/src/components/pmocontrol/QueueItem.vue index 8dd7e808..968bbc5d 100644 --- a/pmoapp/webapp/src/components/pmocontrol/QueueItem.vue +++ b/pmoapp/webapp/src/components/pmocontrol/QueueItem.vue @@ -6,10 +6,19 @@ defineProps<{ item: QueueItem isCurrent: boolean }>() + +const emit = defineEmits<{ + click: [item: QueueItem] +}>() + +function handleClick(item: QueueItem) { + console.log('[QueueItem] Click detected on item:', item.index, item.title) + emit('click', item) +}