This commit is contained in:
jarek committed 2026-07-11 15:31:52 +02:00
1 parent 685132ff89
commit c718ac9a84
101 files changed
+5097 -642

No files matched your search

+17 -1
View File
@@ -33,6 +33,7 @@ import {
getStackSources,
deleteStackEnvVars,
removePendingContainerUpdate,
getPendingContainerUpdates,
deleteAutoUpdateSchedule,
getAutoUpdateSetting,
getStackSourceByComposePath
@@ -1740,6 +1741,18 @@ export async function listComposeStacks(envId?: number | null): Promise<ComposeS
const containers = await listContainers(true, envId);
const stacks = new Map<string, Set<string>>();
// Container IDs with pending image updates (populated by manual/scheduled update checks).
// Used to flag stacks that contain at least one outdated container.
const pendingUpdateIds = new Set<string>();
if (typeof envId === 'number') {
try {
const pending = await getPendingContainerUpdates(envId);
pending.forEach((p) => pendingUpdateIds.add(p.containerId));
} catch {
// Non-fatal: stacks just won't show update markers
}
}
containers.forEach((container) => {
const projectLabel = container.labels['com.docker.compose.project'];
if (projectLabel) {
@@ -1796,7 +1809,8 @@ export async function listComposeStacks(envId?: number | null): Promise<ComposeS
restartCount: c.restartCount || 0,
exitCode: c.exitCode,
created: c.created,
labels: c.labels || {}
labels: c.labels || {},
updateAvailable: pendingUpdateIds.has(c.id)
};
})
.sort((a, b) => {
@@ -1810,6 +1824,8 @@ export async function listComposeStacks(envId?: number | null): Promise<ComposeS
name,
containers: Array.from(containerIds),
containerDetails,
updatesAvailable: stackContainers.some((c) => pendingUpdateIds.has(c.id)),
updateCount: stackContainers.filter((c) => pendingUpdateIds.has(c.id)).length,
status:
activeTotal === 0
? 'stopped'