mirror of
https://github.com/Comfy-Org/ComfyUI_frontend.git
synced 2026-05-05 05:32:02 +00:00
fix: import fail info warning icon (#7753)
# Fix Import Failed Warning Icon ## Problem Description Warning icons were not displayed when import failed errors occurred in installed packages. ## Root Cause Conflict detection logic mismatch between `PackCardFooter` and `PackEnableToggle`: - **PackCardFooter**: Uses `checkNodeCompatibility()` - System compatibility check **before** installation (OS, accelerator, version, etc.) - Does not include import failed information - **PackEnableToggle**: Uses `getConflictsForPackageByID()` - Actual conflict data **after** installation (including import failed) - But was dependent on parent component's `hasConflict` prop ## Changes Made ### 1. PackEnableToggle.vue ```diff - <div v-if="hasConflict"> + <div v-if="packageConflict?.has_conflict"> ``` - Removed `hasConflict` prop dependency - Changed to use only internal store data (`packageConflict`) ### 2. PackCardFooter.vue ```diff - <PackEnableToggle :has-conflict="hasConflicts" :node-pack="nodePack" /> + <PackEnableToggle :node-pack="nodePack" /> ``` - Removed unnecessary `has-conflict` prop passing ## Result - ✅ Warning icon properly displays for installed packages with import failed errors - ✅ Conflict modal works correctly when clicked - ✅ Each component uses appropriate conflict detection logic [after.webm](https://github.com/user-attachments/assets/80576018-0a5b-4e32-9df6-686be3774313) ┆Issue is synchronized with this [Notion page](https://www.notion.so/PR-7753-fix-import-fail-info-warning-icon-2d36d73d365081518fbeedf539a19040) by [Unito](https://www.unito.io) --------- Co-authored-by: Claude <noreply@anthropic.com> Co-authored-by: github-actions <github-actions@github.com>
This commit is contained in:
@@ -7,6 +7,7 @@ import { useSystemStatsStore } from '@/stores/systemStatsStore'
|
||||
import type { components } from '@/types/comfyRegistryTypes'
|
||||
import { useInstalledPacks } from '@/workbench/extensions/manager/composables/nodePack/useInstalledPacks'
|
||||
import { useConflictAcknowledgment } from '@/workbench/extensions/manager/composables/useConflictAcknowledgment'
|
||||
import { useManagerState } from '@/workbench/extensions/manager/composables/useManagerState'
|
||||
import { useComfyManagerService } from '@/workbench/extensions/manager/services/comfyManagerService'
|
||||
import { useComfyManagerStore } from '@/workbench/extensions/manager/stores/comfyManagerStore'
|
||||
import { useConflictDetectionStore } from '@/workbench/extensions/manager/stores/conflictDetectionStore'
|
||||
@@ -87,9 +88,11 @@ export function useConflictDetection() {
|
||||
try {
|
||||
// Get system stats from store (primary source of system information)
|
||||
// Wait for systemStats to be initialized if not already
|
||||
const { systemStats, isInitialized: systemStatsInitialized } =
|
||||
useSystemStatsStore()
|
||||
await until(systemStatsInitialized)
|
||||
const systemStatsStore = useSystemStatsStore()
|
||||
const { systemStats } = systemStatsStore
|
||||
|
||||
// Wait for initialization using the store's isInitialized property (correct reactive way)
|
||||
await until(() => systemStatsStore.isInitialized).toBe(true)
|
||||
|
||||
const frontendVersion = getFrontendVersion()
|
||||
|
||||
@@ -548,9 +551,11 @@ export function useConflictDetection() {
|
||||
*/
|
||||
async function initializeConflictDetection(): Promise<void> {
|
||||
try {
|
||||
// Check if manager is new Manager before proceeding
|
||||
const { useManagerState } =
|
||||
await import('@/workbench/extensions/manager/composables/useManagerState')
|
||||
// First, wait for systemStats to be initialized
|
||||
const systemStatsStore = useSystemStatsStore()
|
||||
await until(() => systemStatsStore.isInitialized).toBe(true)
|
||||
|
||||
// Now check if manager is new Manager
|
||||
const managerState = useManagerState()
|
||||
|
||||
if (!managerState.isNewManagerUI.value) {
|
||||
|
||||
Reference in New Issue
Block a user