diff --git a/standalone/src-tauri/capabilities/default.json b/standalone/src-tauri/capabilities/default.json index bec1395..30730f3 100644 --- a/standalone/src-tauri/capabilities/default.json +++ b/standalone/src-tauri/capabilities/default.json @@ -8,8 +8,16 @@ "permissions": [ "core:default", "opener:default", + { + "identifier": "opener:allow-open-path", + "allow": [ + { + "path": "$APPLOCALDATA" + } + ] + }, "shell:default", "log:default", "fs:default" ] -} \ No newline at end of file +} diff --git a/standalone/src-tauri/capabilities/desktop.json b/standalone/src-tauri/capabilities/desktop.json index 742be1a..78ab7c1 100644 --- a/standalone/src-tauri/capabilities/desktop.json +++ b/standalone/src-tauri/capabilities/desktop.json @@ -12,4 +12,4 @@ "cli:default", "fs:default" ] -} \ No newline at end of file +} diff --git a/standalone/src-tauri/src/db.rs b/standalone/src-tauri/src/db.rs index e145ad1..7fc1cb9 100644 --- a/standalone/src-tauri/src/db.rs +++ b/standalone/src-tauri/src/db.rs @@ -140,6 +140,9 @@ fn resolve_extension_path(app_handle: &AppHandle) -> Option { } } + // FIXME: in MacOS bundle, we should reference the library from Frameworks folder + // instead of Resources. However, either way require code signing setup, which is not + // yet done. match app_handle.path().resource_dir() { Ok(resource_dir) => { let resource_path = resource_dir.join("resources").join(&lib_name); diff --git a/standalone/src/lib/components/JsonBlock.svelte b/standalone/src/lib/components/JsonBlock.svelte index 659ebd3..8a00752 100644 --- a/standalone/src/lib/components/JsonBlock.svelte +++ b/standalone/src/lib/components/JsonBlock.svelte @@ -41,7 +41,7 @@ }; -
+
{title} -
-
-
- {data.dbPath} +
+
Disk size
+
{dbSizeLabel}
+
+
+
Actions
+
+ +
diff --git a/standalone/src/routes/tasks/+page.svelte b/standalone/src/routes/tasks/+page.svelte index b110401..da37a75 100644 --- a/standalone/src/routes/tasks/+page.svelte +++ b/standalone/src/routes/tasks/+page.svelte @@ -37,6 +37,7 @@ let taskRuns = $state([]); let totalCount = $state(0); let expandedId = $state(null); + let hoveredTaskId = $state(null); let isReady = $state(false); let isLoading = $state(false); let limit = $state(defaultLimit); @@ -51,6 +52,19 @@ const toggleExpanded = (runId: string) => { expandedId = expandedId === runId ? null : runId; }; + const applyTaskNameFilter = (name: string) => { + selectedTaskName = name; + if (activeSearch || searchTerm) { + activeSearch = ""; + searchTerm = ""; + updateQuery({ q: null }); + } + }; + const applyTaskIdFilter = (taskId: string) => { + searchTerm = taskId; + activeSearch = taskId; + updateQuery({ q: taskId }); + }; const handleSearchInput = (event: Event) => { const target = event.currentTarget as HTMLInputElement | null; if (!target) return; @@ -251,7 +265,7 @@ {#if totalCount === 0} Showing 0 tasks {:else} - Showing 1–{taskRuns.length} of {totalCount} tasks + Showing 1–{taskRuns.length} of {totalCount} task runs {/if} {#if isLoading} @@ -269,12 +283,11 @@ - + - @@ -285,7 +298,28 @@ class="border-t border-black/5 hover:bg-slate-50 hover:cursor-pointer" onclick={() => toggleExpanded(run.runId)} > - + - {#if expandedId === run.runId} -
Task IDTask Run Task Name Queue Status AttemptRun ID Age
{run.id} +
+ run: {run.runId} + +
+
{run.name} {run.queue} @@ -296,13 +330,12 @@ {run.attempt}{run.runId} {run.age} {expandedId === run.runId ? "▲" : "▼"}
+