From 6b64b74f6c5c1cfd291ed3f544f714d322a9511e Mon Sep 17 00:00:00 2001 From: Chenlei Hu Date: Wed, 5 Feb 2025 10:51:32 -0500 Subject: [PATCH] [Desktop] Use fallback mirrors for China users (#2424) --- .../install/MirrorsConfiguration.vue | 12 ++++- src/components/install/mirror/MirrorItem.vue | 6 ++- src/utils/networkUtil.ts | 50 +++++++++++++++++++ 3 files changed, 66 insertions(+), 2 deletions(-) diff --git a/src/components/install/MirrorsConfiguration.vue b/src/components/install/MirrorsConfiguration.vue index cce64e60d..27b936105 100644 --- a/src/components/install/MirrorsConfiguration.vue +++ b/src/components/install/MirrorsConfiguration.vue @@ -41,11 +41,12 @@ import { } from '@comfyorg/comfyui-electron-types' import Divider from 'primevue/divider' import Panel from 'primevue/panel' -import { ModelRef, computed, ref } from 'vue' +import { ModelRef, computed, onMounted, ref } from 'vue' import MirrorItem from '@/components/install/mirror/MirrorItem.vue' import { PYPI_MIRROR, PYTHON_MIRROR, UVMirror } from '@/constants/uvMirrors' import { t } from '@/i18n' +import { isInChina } from '@/utils/networkUtil' import { ValidationState, mergeValidationStates } from '@/utils/validationUtil' const showMirrorInputs = ref(false) @@ -101,4 +102,13 @@ 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 2aa134a83..e607c9197 100644 --- a/src/components/install/mirror/MirrorItem.vue +++ b/src/components/install/mirror/MirrorItem.vue @@ -22,6 +22,7 @@