Release 0.0.11
This commit is contained in:
@@ -2,7 +2,7 @@
|
|||||||
"id": "kosmos-storage-audit",
|
"id": "kosmos-storage-audit",
|
||||||
"title": "Kosmos Storage Audit",
|
"title": "Kosmos Storage Audit",
|
||||||
"description": "Analyzes media references and risky storage locations across Foundry data and public roots.",
|
"description": "Analyzes media references and risky storage locations across Foundry data and public roots.",
|
||||||
"version": "0.0.10",
|
"version": "0.0.11",
|
||||||
"compatibility": {
|
"compatibility": {
|
||||||
"minimum": "13",
|
"minimum": "13",
|
||||||
"verified": "13"
|
"verified": "13"
|
||||||
|
|||||||
@@ -442,7 +442,7 @@ function groupByTarget(findings) {
|
|||||||
current.count += 1;
|
current.count += 1;
|
||||||
if (finding.severity === "high") current.severity = "high";
|
if (finding.severity === "high") current.severity = "high";
|
||||||
if (finding.source?.sourceLabel) {
|
if (finding.source?.sourceLabel) {
|
||||||
const key = finding.source.sourceUuid ?? finding.source.sourceLabel;
|
const key = buildSourceKey(finding.source);
|
||||||
current.sources.set(key, {
|
current.sources.set(key, {
|
||||||
sourceLabel: finding.source.sourceLabel,
|
sourceLabel: finding.source.sourceLabel,
|
||||||
sourceName: finding.source.sourceName ?? null,
|
sourceName: finding.source.sourceName ?? null,
|
||||||
@@ -553,7 +553,7 @@ function renderLocalizedCodeText(key, data, codeValues) {
|
|||||||
function renderSourceLink(source) {
|
function renderSourceLink(source) {
|
||||||
const trail = Array.isArray(source.sourceTrail) && source.sourceTrail.length ? source.sourceTrail : null;
|
const trail = Array.isArray(source.sourceTrail) && source.sourceTrail.length ? source.sourceTrail : null;
|
||||||
if (trail) {
|
if (trail) {
|
||||||
return trail.map(renderTrailNode).join(' <span class="storage-audit__trail-separator">-></span> ');
|
return `<span class="storage-audit__trail">${trail.map(renderTrailNode).join('<span class="storage-audit__trail-separator">-></span>')}</span>`;
|
||||||
}
|
}
|
||||||
|
|
||||||
const label = source.sourceName ? `${source.sourceLabel} (${source.sourceName})` : source.sourceLabel;
|
const label = source.sourceName ? `${source.sourceLabel} (${source.sourceName})` : source.sourceLabel;
|
||||||
@@ -583,3 +583,10 @@ function renderTrailNode(node) {
|
|||||||
function renderUuidLink(uuid, label) {
|
function renderUuidLink(uuid, label) {
|
||||||
return `<a class="content-link" draggable="true" data-link data-uuid="${escapeHtml(uuid)}" data-tooltip="${escapeHtml(label)}"><i class="fa-solid fa-file-lines"></i><span>${escapeHtml(label)}</span></a>`;
|
return `<a class="content-link" draggable="true" data-link data-uuid="${escapeHtml(uuid)}" data-tooltip="${escapeHtml(label)}"><i class="fa-solid fa-file-lines"></i><span>${escapeHtml(label)}</span></a>`;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
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 ?? ""}`;
|
||||||
|
}
|
||||||
|
|||||||
@@ -277,9 +277,19 @@
|
|||||||
overflow-wrap: anywhere;
|
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 {
|
.storage-audit__trail-separator {
|
||||||
opacity: 0.65;
|
opacity: 0.65;
|
||||||
margin: 0 0.25rem;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@media (max-width: 1100px) {
|
@media (max-width: 1100px) {
|
||||||
|
|||||||
Reference in New Issue
Block a user