diff --git a/src/pages/home/toolbar/PackageDownload.tsx b/src/pages/home/toolbar/PackageDownload.tsx index 1a9fb5d95..d2ba4fbef 100644 --- a/src/pages/home/toolbar/PackageDownload.tsx +++ b/src/pages/home/toolbar/PackageDownload.tsx @@ -1,7 +1,7 @@ import "~/utils/zip-stream.js" import streamSaver from "streamsaver" import { getLinkByDirAndObj, useRouter, useT } from "~/hooks" -import { fsList, pathBase, pathJoin } from "~/utils" +import { fsList, joinBase, pathBase, pathJoin } from "~/utils" import { password, selectedObjs as _selectedObjs } from "~/store" import { createSignal, For, Show } from "solid-js" import { @@ -14,7 +14,7 @@ import { } from "@hope-ui/solid" import { Obj } from "~/types" -streamSaver.mitm = "/streamer/mitm.html" +streamSaver.mitm = joinBase("streamer", "mitm.html") const trimSlash = (str: string) => { return str.replace(/^\/+|\/+$/g, "") } @@ -115,6 +115,11 @@ const PackageDownload = (props: { onClose: () => void }) => { const url = it.value.url // console.log(name, url); return fetch(url).then((res) => { + if (!res.ok) { + throw new Error( + `Failed to fetch ${name}: ${res.status} ${res.statusText}`, + ) + } setFetchings((prev) => [...prev, name]) ctrl.enqueue({ name,