fix: allow users cancel backend download (#6582)
* fix: allow users cancel backend download * fix: should not redownload on cancel
This commit is contained in:
parent
d994bc8f6a
commit
7fe58d6bee
@ -319,7 +319,10 @@ export async function downloadBackend(
|
|||||||
events.emit('onFileDownloadSuccess', { modelId: taskId, downloadType })
|
events.emit('onFileDownloadSuccess', { modelId: taskId, downloadType })
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
// Fallback: if GitHub fails, retry once with CDN
|
// Fallback: if GitHub fails, retry once with CDN
|
||||||
if (source === 'github') {
|
if (
|
||||||
|
source === 'github' &&
|
||||||
|
error?.toString() !== 'Error: Download cancelled'
|
||||||
|
) {
|
||||||
console.warn(`GitHub download failed, falling back to CDN:`, error)
|
console.warn(`GitHub download failed, falling back to CDN:`, error)
|
||||||
return await downloadBackend(backend, version, 'cdn')
|
return await downloadBackend(backend, version, 'cdn')
|
||||||
}
|
}
|
||||||
|
|||||||
@ -400,23 +400,33 @@ export function DownloadManagement() {
|
|||||||
className="text-main-view-fg/70 cursor-pointer"
|
className="text-main-view-fg/70 cursor-pointer"
|
||||||
title="Cancel download"
|
title="Cancel download"
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
serviceHub
|
// TODO: Consolidate cancellation logic
|
||||||
.models()
|
if (download.id.startsWith('llamacpp')) {
|
||||||
.abortDownload(download.name)
|
const downloadManager =
|
||||||
.then(() => {
|
window.core.extensionManager.getByName(
|
||||||
toast.info(
|
'@janhq/download-extension'
|
||||||
t('common:toast.downloadCancelled.title'),
|
|
||||||
{
|
|
||||||
id: 'cancel-download',
|
|
||||||
description: t(
|
|
||||||
'common:toast.downloadCancelled.description'
|
|
||||||
),
|
|
||||||
}
|
|
||||||
)
|
)
|
||||||
if (downloadProcesses.length === 0) {
|
|
||||||
setIsPopoverOpen(false)
|
downloadManager.cancelDownload(download.id)
|
||||||
}
|
} else {
|
||||||
})
|
serviceHub
|
||||||
|
.models()
|
||||||
|
.abortDownload(download.name)
|
||||||
|
.then(() => {
|
||||||
|
toast.info(
|
||||||
|
t('common:toast.downloadCancelled.title'),
|
||||||
|
{
|
||||||
|
id: 'cancel-download',
|
||||||
|
description: t(
|
||||||
|
'common:toast.downloadCancelled.description'
|
||||||
|
),
|
||||||
|
}
|
||||||
|
)
|
||||||
|
if (downloadProcesses.length === 0) {
|
||||||
|
setIsPopoverOpen(false)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user