Collapse newly imported collector packages

Project disclosure state through stable link URLs so new or moved import content starts collapsed, duplicate-only imports preserve manual state, and enrichment-driven package ID changes retain the existing disclosure state.
This commit is contained in:
Sucukdeluxe
2026-08-26 16:50:40 +02:00
parent 1fe48d9ff8
commit 5644ba25da
3 changed files with 66 additions and 7 deletions
+14 -7
View File
@@ -70,6 +70,7 @@ import {
mergeCollectorEnrichment,
mergeCollectorPackages,
removeCollectorLinks,
reconcileCollectorCollapsedPackageIds,
selectCollectorPackageLinks,
type CollectorWorkspaceFilter
} from "./views/collector/collector-model";
@@ -3596,13 +3597,19 @@ export function App(): ReactElement {
};
const mergeCollectorResult = (result: CollectorInspectionResult, enrichment = false): void => {
setCollectorPackages((current) => {
const merged = enrichment
? mergeCollectorEnrichment(current, result.packages)
: mergeCollectorPackages(current, result.packages);
collectorPackagesRef.current = merged.packages;
return merged.packages;
});
const current = collectorPackagesRef.current;
const merged = enrichment
? mergeCollectorEnrichment(current, result.packages)
: mergeCollectorPackages(current, result.packages);
collectorPackagesRef.current = merged.packages;
setCollectorPackages(merged.packages);
setCollapsedCollectorPackageIds((collapsed) => reconcileCollectorCollapsedPackageIds(
collapsed,
current,
merged.packages,
result.packages,
!enrichment
));
};
const enrichCollectorResult = (packages: CollectorPackage[]): void => {