From 5472f72ba0a995e17a603998be5d090ea7258bbb Mon Sep 17 00:00:00 2001 From: Kosmos Date: Mon, 20 Apr 2026 21:42:43 +0000 Subject: [PATCH] Release 0.0.11 --- module.json | 2 +- scripts/apps/audit-report-app.js | 11 +++++++++-- styles/audit.css | 12 +++++++++++- 3 files changed, 21 insertions(+), 4 deletions(-) diff --git a/module.json b/module.json index 383b0f4..3a859e4 100644 --- a/module.json +++ b/module.json @@ -2,7 +2,7 @@ "id": "kosmos-storage-audit", "title": "Kosmos Storage Audit", "description": "Analyzes media references and risky storage locations across Foundry data and public roots.", - "version": "0.0.10", + "version": "0.0.11", "compatibility": { "minimum": "13", "verified": "13" diff --git a/scripts/apps/audit-report-app.js b/scripts/apps/audit-report-app.js index b6891ff..9eda157 100644 --- a/scripts/apps/audit-report-app.js +++ b/scripts/apps/audit-report-app.js @@ -442,7 +442,7 @@ function groupByTarget(findings) { current.count += 1; if (finding.severity === "high") current.severity = "high"; if (finding.source?.sourceLabel) { - const key = finding.source.sourceUuid ?? finding.source.sourceLabel; + const key = buildSourceKey(finding.source); current.sources.set(key, { sourceLabel: finding.source.sourceLabel, sourceName: finding.source.sourceName ?? null, @@ -553,7 +553,7 @@ function renderLocalizedCodeText(key, data, codeValues) { function renderSourceLink(source) { const trail = Array.isArray(source.sourceTrail) && source.sourceTrail.length ? source.sourceTrail : null; if (trail) { - return trail.map(renderTrailNode).join(' -> '); + return `${trail.map(renderTrailNode).join('->')}`; } const label = source.sourceName ? `${source.sourceLabel} (${source.sourceName})` : source.sourceLabel; @@ -583,3 +583,10 @@ function renderTrailNode(node) { function renderUuidLink(uuid, label) { return `${escapeHtml(label)}`; } + +function buildSourceKey(source) { + const trailKey = Array.isArray(source.sourceTrail) && source.sourceTrail.length + ? source.sourceTrail.map(node => node.uuid ?? node.label ?? "").join(">") + : ""; + return `${source.sourceUuid ?? ""}|${trailKey}|${source.sourceLabel ?? ""}`; +} diff --git a/styles/audit.css b/styles/audit.css index 08321d9..c1a30bf 100644 --- a/styles/audit.css +++ b/styles/audit.css @@ -277,9 +277,19 @@ overflow-wrap: anywhere; } +.storage-audit__trail { + display: inline-flex; + align-items: center; + flex-wrap: wrap; + gap: 0.2rem; +} + +.storage-audit__trail .content-link { + white-space: nowrap; +} + .storage-audit__trail-separator { opacity: 0.65; - margin: 0 0.25rem; } @media (max-width: 1100px) {