images list

This commit is contained in:
phact 2025-09-03 22:29:00 -04:00
parent 6a642902d6
commit 53b7fb27d2

View file

@ -166,10 +166,22 @@ class MonitorScreen(Screen):
return return
services = await self.container_manager.get_service_status(force_refresh=True) services = await self.container_manager.get_service_status(force_refresh=True)
# Fetch image info independent of service state # Collect images actually reported by running/stopped containers so names match runtime
project_images = await self.container_manager.get_project_images_info() images_set = set()
digest_map = {img: dig for img, dig in project_images} for svc in services.values():
images = [img for img, _ in project_images] img = (svc.image or "").strip()
if img and img != "N/A":
images_set.add(img)
# Ensure compose-declared images are also shown (e.g., langflow when stopped)
try:
for img in self.container_manager._parse_compose_images(): # best-effort, no YAML dep
if img:
images_set.add(img)
except Exception:
pass
images = list(images_set)
# Lookup digests/IDs for these image names
digest_map = await self.container_manager.get_images_digests(images)
# Clear existing rows # Clear existing rows
self.services_table.clear() self.services_table.clear()
@ -188,13 +200,9 @@ class MonitorScreen(Screen):
service_info.image or "N/A", service_info.image or "N/A",
digest_map.get(service_info.image or "", "-") digest_map.get(service_info.image or "", "-")
) )
# Populate images table (unique images) # Populate images table (unique images as reported by runtime)
if self.images_table: if self.images_table:
seen=set() for image in sorted(images):
for image in images:
if not image or image in seen:
continue
seen.add(image)
self.images_table.add_row(image, digest_map.get(image, "-")) self.images_table.add_row(image, digest_map.get(image, "-"))
# Update controls based on overall state # Update controls based on overall state
self._update_controls(list(services.values())) self._update_controls(list(services.values()))