From 3d59d478b6ddab42251eba51af39e171d7b1e22a Mon Sep 17 00:00:00 2001 From: Chenlei Hu Date: Sat, 8 Feb 2025 21:08:23 -0500 Subject: [PATCH] [Desktop] Fix torch mirror setting (#2475) --- .../install/MirrorsConfiguration.vue | 36 +++++++++++-------- src/components/install/mirror/MirrorItem.vue | 5 +-- 2 files changed, 23 insertions(+), 18 deletions(-) diff --git a/src/components/install/MirrorsConfiguration.vue b/src/components/install/MirrorsConfiguration.vue index 27b936105..32228b4ce 100644 --- a/src/components/install/MirrorsConfiguration.vue +++ b/src/components/install/MirrorsConfiguration.vue @@ -80,11 +80,28 @@ const getTorchMirrorItem = (device: TorchDeviceType): UVMirror => { } } -const mirrors = computed<[UVMirror, ModelRef][]>(() => [ - [PYTHON_MIRROR, pythonMirror], - [PYPI_MIRROR, pypiMirror], - [getTorchMirrorItem(device), torchMirror] -]) +const userIsInChina = ref(false) +onMounted(async () => { + userIsInChina.value = await isInChina() +}) + +const useFallbackMirror = (mirror: UVMirror) => ({ + ...mirror, + mirror: mirror.fallbackMirror +}) + +const mirrors = computed<[UVMirror, ModelRef][]>(() => + ( + [ + [PYTHON_MIRROR, pythonMirror], + [PYPI_MIRROR, pypiMirror], + [getTorchMirrorItem(device), torchMirror] + ] as [UVMirror, ModelRef][] + ).map(([item, modelValue]) => [ + userIsInChina.value ? useFallbackMirror(item) : item, + modelValue + ]) +) const validationStates = ref( mirrors.value.map(() => ValidationState.IDLE) @@ -102,13 +119,4 @@ const validationStateTooltip = computed(() => { return t('install.settings.checkingMirrors') } }) - -onMounted(async () => { - // Check if user is in China and set fallback mirrors directly - if (await isInChina()) { - for (const [item, modelValue] of mirrors.value) { - modelValue.value = item.fallbackMirror - } - } -}) diff --git a/src/components/install/mirror/MirrorItem.vue b/src/components/install/mirror/MirrorItem.vue index e607c9197..3bd83074e 100644 --- a/src/components/install/mirror/MirrorItem.vue +++ b/src/components/install/mirror/MirrorItem.vue @@ -44,10 +44,7 @@ const normalizedSettingId = computed(() => { }) onMounted(() => { - // Set mirror value if not already set - if (!modelValue.value) { - modelValue.value = item.mirror - } + modelValue.value = item.mirror }) watch(validationState, (newState) => {