1.0.0.8 logging updates

This commit is contained in:
ponzischeme89
2026-01-18 23:01:03 +13:00
parent 0a1edc0922
commit 7fa9c4d16e
15 changed files with 220 additions and 123 deletions
+1 -1
View File
@@ -154,7 +154,7 @@
>
{#if !collapsed}
<Badge className="bg-white/10 text-text-secondary"
>v1.0.7 Release Candiate</Badge
>v1.0.8 Release Candiate</Badge
>
{:else}
<Badge className="bg-white/10 text-text-secondary">v</Badge>
+26 -5
View File
@@ -8,13 +8,23 @@
let loading = false;
let error = null;
let expanded = {};
let page = 0;
const pageSize = 200;
async function loadLibrary() {
async function loadLibrary(reset = true) {
loading = true;
error = null;
try {
const response = await getLibraryReport();
items = response.items || [];
if (reset) {
page = 0;
items = [];
}
const response = await getLibraryReport(pageSize, page * pageSize);
const nextItems = response.items || [];
items = reset ? nextItems : [...items, ...nextItems];
if (nextItems.length > 0) {
page += 1;
}
} catch (err) {
error = `Failed to load library report: ${err.message}`;
} finally {
@@ -26,7 +36,7 @@
expanded = { ...expanded, [key]: !expanded[key] };
}
onMount(loadLibrary);
onMount(() => loadLibrary(true));
</script>
<div class="space-y-6">
@@ -41,7 +51,7 @@
variant="outline"
size="sm"
className="border-white/15 text-text-secondary hover:bg-white/10"
on:click={loadLibrary}
on:click={() => loadLibrary(true)}
disabled={loading}
>
<RefreshCcw class="h-4 w-4" />
@@ -148,6 +158,17 @@
{/if}
</div>
{/each}
<div class="flex justify-center">
<Button
variant="outline"
size="sm"
className="border-white/15 text-text-secondary hover:bg-white/10"
on:click={() => loadLibrary(false)}
disabled={loading}
>
Load more
</Button>
</div>
</div>
{/if}
</div>
+52
View File
@@ -7,6 +7,7 @@
processFiles,
clearAllSuggestedMatches,
getFolderRules,
getScanHistory,
} from "../lib/api.js";
import ResultsList from "./ResultsList.svelte";
import TypewriterQuote from "./TypewriterQuote.svelte";
@@ -118,7 +119,11 @@
filesFound: 0,
message: "",
scanning: false,
startedAt: null,
estimatedFinishAt: null,
};
let scanHistory = [];
let expectedTotalFiles = null;
// Scan cancellation
let scanAbortController = null;
@@ -166,6 +171,12 @@
} catch (err) {
console.error("Failed to load folder rules:", err);
}
try {
const historyResponse = await getScanHistory(10);
scanHistory = historyResponse.scans || [];
} catch (err) {
console.error("Failed to load scan history:", err);
}
} catch (err) {
console.error("Failed to load initial data:", err);
}
@@ -190,7 +201,19 @@
filesFound: 0,
message: "Starting scan...",
scanning: true,
startedAt: new Date(),
estimatedFinishAt: null,
};
expectedTotalFiles = null;
if (scanHistory.length > 0 && directory) {
const normalizedDir = directory.toLowerCase();
const lastMatch = scanHistory.find(
(scan) => (scan.directory || "").toLowerCase() === normalizedDir,
);
if (lastMatch && lastMatch.files_found) {
expectedTotalFiles = lastMatch.files_found;
}
}
addToast({ message: "Scan started.", tone: "info" });
// Reset files array before starting new scan
@@ -219,6 +242,23 @@
message: data.message,
filesFound: data.filesFound,
};
if (
scanProgress.startedAt &&
expectedTotalFiles &&
data.filesFound > 0
) {
const elapsedMs =
new Date().getTime() - scanProgress.startedAt.getTime();
const estimatedTotalMs =
(elapsedMs * expectedTotalFiles) / data.filesFound;
const estimatedFinish = new Date(
scanProgress.startedAt.getTime() + estimatedTotalMs,
);
scanProgress = {
...scanProgress,
estimatedFinishAt: estimatedFinish,
};
}
// Incrementally add files as they're found
const previousLength = files.length;
@@ -244,6 +284,9 @@
}
lastScan = new Date().toISOString();
if (data.count != null) {
expectedTotalFiles = data.count;
}
// Save to store
scanResults.setScanResults(files, directory);
@@ -343,6 +386,7 @@
} finally {
scanning = false;
scanProgress.scanning = false;
scanProgress.estimatedFinishAt = null;
scanAbortController = null;
}
}
@@ -715,6 +759,14 @@
>
<span class="text-text-tertiary">Scanning in progress...</span>
</div>
{#if scanProgress.startedAt}
<div class="mt-2 text-[11px] text-text-tertiary">
Started at {scanProgress.startedAt.toLocaleTimeString()}
{#if scanProgress.estimatedFinishAt}
· Estimated finish {scanProgress.estimatedFinishAt.toLocaleTimeString()}
{/if}
</div>
{/if}
<!-- Progress bar -->
<div