diff --git a/apps/desktop/src/lib/cmds/ext.ts b/apps/desktop/src/lib/cmds/ext.ts index 901c7ac..80caa59 100644 --- a/apps/desktop/src/lib/cmds/ext.ts +++ b/apps/desktop/src/lib/cmds/ext.ts @@ -92,7 +92,9 @@ export async function onCustomUiCmdSelect( if (useDevMain) { url = cmd.devMain } else { - url = decodeURIComponent(convertFileSrc(`${trimSlash(cmd.main)}`, "ext")) + url = cmd.main.startsWith("http") + ? cmd.main + : decodeURIComponent(convertFileSrc(`${trimSlash(cmd.main)}`, "ext")) } let url2 = `/app/extension/ui-iframe?url=${encodeURIComponent(url)}&extPath=${encodeURIComponent(ext.extPath)}` if (cmd.window) { diff --git a/apps/desktop/src/routes/app/extension/store/[identifier]/+page.svelte b/apps/desktop/src/routes/app/extension/store/[identifier]/+page.svelte index c42737f..7320a8e 100644 --- a/apps/desktop/src/routes/app/extension/store/[identifier]/+page.svelte +++ b/apps/desktop/src/routes/app/extension/store/[identifier]/+page.svelte @@ -10,7 +10,7 @@ import { Constants } from "@kksh/ui" import { StoreExtDetail } from "@kksh/ui/extension" import { greaterThan, parse as parseSemver } from "@std/semver" - import { error } from "@tauri-apps/plugin-log" + import { error, info } from "@tauri-apps/plugin-log" import { goto } from "$app/navigation" import { ArrowLeftIcon } from "lucide-svelte" import { onMount } from "svelte" @@ -81,6 +81,7 @@ .installFromTarballUrl(tarballUrl, installDir, installExtras) .then(() => toast.success(`Plugin ${ext.name} Installed`)) .then((loadedExt) => { + info(`Successfully installed ${ext.name}`) supabaseAPI.incrementDownloads({ identifier: ext.identifier, version: ext.version @@ -89,7 +90,7 @@ showBtn.uninstall = true }) .catch((err) => { - console.error("err", err) + error(`Fail to install tarball (${ext.identifier}): ${err}`) toast.error("Fail to install tarball", { description: err }) }) .finally(() => { diff --git a/apps/desktop/src/routes/app/extension/ui-iframe/+page.svelte b/apps/desktop/src/routes/app/extension/ui-iframe/+page.svelte index a2fdab3..f3e2278 100644 --- a/apps/desktop/src/routes/app/extension/ui-iframe/+page.svelte +++ b/apps/desktop/src/routes/app/extension/ui-iframe/+page.svelte @@ -132,7 +132,9 @@ } onMount(() => { - appWin.show() + setTimeout(() => { + appWin.show() + }, 200) if (iframeRef?.contentWindow) { const io = new IframeParentIO(iframeRef.contentWindow) const rpc = new RPCChannel(io, { expose: serverAPI }) diff --git a/apps/desktop/src/routes/app/settings/extensions/+page.svelte b/apps/desktop/src/routes/app/settings/extensions/+page.svelte index b0a231c..3ef3f95 100644 --- a/apps/desktop/src/routes/app/settings/extensions/+page.svelte +++ b/apps/desktop/src/routes/app/settings/extensions/+page.svelte @@ -8,7 +8,10 @@ import { toast } from "svelte-sonner" import { derived, get } from "svelte/store" + let uninstalling = $state(false) + function onUninstall(ext: ExtPackageJsonExtra) { + uninstalling = true const extContainerPath = get(appConfig).extensionsInstallDir const isDev = extContainerPath && extAPI.isExtPathInDev(extContainerPath, ext.extPath) console.log("uninstall extension (isDev): ", isDev) @@ -25,7 +28,9 @@ toast.error("Fail to uninstall extension", { description: err }) error(`Fail to uninstall store extension (${ext.kunkun.identifier}): ${err}`) }) - .finally(() => {}) + .finally(() => { + uninstalling = false + }) } @@ -36,7 +41,12 @@