From b32a1e9ce81ce9fda4a1af3b060c2fb2e78d75cc Mon Sep 17 00:00:00 2001 From: Christian Byrne Date: Wed, 29 Oct 2025 19:31:56 -0700 Subject: [PATCH] [feat] add troubleshooting details to auth timeout view (#6380) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## Summary - Enhances authentication timeout error page with actionable troubleshooting information - Adds collapsible technical error details for debugging - Shows common causes: firewall blocks, VPN restrictions, browser extensions, regional limitations - Disables incompatible tailwindcss eslint plugin (Tailwind v4 compatibility issue) ## Changes - Updated `CloudAuthTimeoutView.vue` with troubleshooting section and collapsible technical details - Pass error message from router to timeout view via route params - Added i18n strings for new troubleshooting content - Removed `eslint-plugin-tailwindcss` (incompatible with Tailwind v4.1.12) - Cleaned up unused knip entries ┆Issue is synchronized with this [Notion page](https://www.notion.so/PR-6380-feat-add-troubleshooting-details-to-auth-timeout-view-29b6d73d365081fea4e3d46b804d3116) by [Unito](https://www.unito.io) --- eslint.config.ts | 16 ++--- src/locales/en/main.json | 13 +++- src/onboardingCloudRoutes.ts | 3 +- .../onboarding/cloud/CloudAuthTimeoutView.vue | 70 +++++++++++++++++-- src/router.ts | 9 ++- 5 files changed, 95 insertions(+), 16 deletions(-) diff --git a/eslint.config.ts b/eslint.config.ts index 2a4d219a9..3adb1b51e 100644 --- a/eslint.config.ts +++ b/eslint.config.ts @@ -5,7 +5,7 @@ import { createTypeScriptImportResolver } from 'eslint-import-resolver-typescrip import { importX } from 'eslint-plugin-import-x' import eslintPluginPrettierRecommended from 'eslint-plugin-prettier/recommended' import storybook from 'eslint-plugin-storybook' -import tailwind from 'eslint-plugin-tailwindcss' +// import tailwind from 'eslint-plugin-tailwindcss' import unusedImports from 'eslint-plugin-unused-imports' import pluginVue from 'eslint-plugin-vue' import { defineConfig } from 'eslint/config' @@ -34,11 +34,11 @@ const settings = { ], noWarnOnMultipleProjects: true }) - ], - tailwindcss: { - config: `${import.meta.dirname}/packages/design-system/src/css/style.css`, - functions: ['cn', 'clsx', 'tw'] - } + ] + // tailwindcss: { + // config: `${import.meta.dirname}/packages/design-system/src/css/style.css`, + // functions: ['cn', 'clsx', 'tw'] + // } } as const const commonParserOptions = { @@ -97,7 +97,7 @@ export default defineConfig([ // Difference in typecheck on CI vs Local // eslint-disable-next-line @typescript-eslint/ban-ts-comment // @ts-ignore Bad types in the plugin - tailwind.configs['flat/recommended'], + // tailwind.configs['flat/recommended'], pluginVue.configs['flat/recommended'], eslintPluginPrettierRecommended, storybook.configs['flat/recommended'], @@ -129,7 +129,7 @@ export default defineConfig([ 'import-x/no-relative-packages': 'error', 'unused-imports/no-unused-imports': 'error', 'no-console': ['error', { allow: ['warn', 'error'] }], - 'tailwindcss/no-custom-classname': 'off', // TODO: fix + // 'tailwindcss/no-custom-classname': 'off', // TODO: fix 'vue/no-v-html': 'off', // Enforce dark-theme: instead of dark: prefix 'vue/no-restricted-class': ['error', '/^dark:/'], diff --git a/src/locales/en/main.json b/src/locales/en/main.json index 35e98b7ae..54bdc97a5 100644 --- a/src/locales/en/main.json +++ b/src/locales/en/main.json @@ -2114,7 +2114,18 @@ "authTimeout": { "title": "Connection Taking Too Long", "message": "We're having trouble connecting to ComfyUI Cloud. This could be due to a slow connection or temporary service issue.", - "restart": "Sign Out & Try Again" + "restart": "Sign Out & Try Again", + "troubleshooting": "Common causes:", + "causes": [ + "Corporate firewall or proxy blocking authentication services", + "VPN or network restrictions", + "Browser extensions interfering with requests", + "Regional network limitations", + "Try a different browser or network" + ], + "technicalDetails": "Technical Details", + "helpText": "Need help? Contact", + "supportLink": "support" } }, "cloudFooter_needHelp": "Need Help?", diff --git a/src/onboardingCloudRoutes.ts b/src/onboardingCloudRoutes.ts index 4585ab8c9..2049027db 100644 --- a/src/onboardingCloudRoutes.ts +++ b/src/onboardingCloudRoutes.ts @@ -83,7 +83,8 @@ export const cloudOnboardingRoutes: RouteRecordRaw[] = [ path: 'auth-timeout', name: 'cloud-auth-timeout', component: () => - import('@/platform/onboarding/cloud/CloudAuthTimeoutView.vue') + import('@/platform/onboarding/cloud/CloudAuthTimeoutView.vue'), + props: true } ] } diff --git a/src/platform/onboarding/cloud/CloudAuthTimeoutView.vue b/src/platform/onboarding/cloud/CloudAuthTimeoutView.vue index 392e495ae..dc317064b 100644 --- a/src/platform/onboarding/cloud/CloudAuthTimeoutView.vue +++ b/src/platform/onboarding/cloud/CloudAuthTimeoutView.vue @@ -1,13 +1,67 @@