mirror of
https://github.com/Comfy-Org/ComfyUI_frontend.git
synced 2026-04-29 10:42:44 +00:00
Fix essentials nodes not being marked core (#9287)
In adding an essentials cateogory for nodes, #8987 introduced a regression where core nodes which are also essential are marked as being from a `nodes` custom node instead of being marked core. Since the essentials designation should pre-empt core and custom nodes can choose to mark themself as essential, the getter for `isCoreNode` is updated to instead repeat the existing check for if a node is core. | Before | After | | ------ | ----- | | <img width="360" alt="before" src="https://github.com/user-attachments/assets/f1b8bf80-d072-409a-a0f9-4837e1d11767" /> | <img width="360" alt="after" src="https://github.com/user-attachments/assets/14ff525b-9833-4e73-888f-791aff6cf531"/>| ┆Issue is synchronized with this [Notion page](https://www.notion.so/PR-9287-Fix-essentials-nodes-not-being-marked-core-3146d73d365081fca2a0f8bdc2baf01a) by [Unito](https://www.unito.io)
This commit is contained in:
Binary file not shown.
|
Before Width: | Height: | Size: 42 KiB After Width: | Height: | Size: 41 KiB |
@@ -24,7 +24,7 @@ import { useSettingStore } from '@/platform/settings/settingStore'
|
|||||||
import { NodeSearchService } from '@/services/nodeSearchService'
|
import { NodeSearchService } from '@/services/nodeSearchService'
|
||||||
import { useSubgraphStore } from '@/stores/subgraphStore'
|
import { useSubgraphStore } from '@/stores/subgraphStore'
|
||||||
import {
|
import {
|
||||||
NodeSourceType,
|
CORE_NODE_MODULES,
|
||||||
getEssentialsCategory,
|
getEssentialsCategory,
|
||||||
getNodeSource
|
getNodeSource
|
||||||
} from '@/types/nodeSource'
|
} from '@/types/nodeSource'
|
||||||
@@ -92,6 +92,7 @@ export class ComfyNodeDefImpl
|
|||||||
readonly essentials_category?: string
|
readonly essentials_category?: string
|
||||||
/** Whether the blueprint is a global/installed blueprint (not user-created). */
|
/** Whether the blueprint is a global/installed blueprint (not user-created). */
|
||||||
readonly isGlobal?: boolean
|
readonly isGlobal?: boolean
|
||||||
|
readonly isCoreNode: boolean
|
||||||
|
|
||||||
// V2 fields
|
// V2 fields
|
||||||
readonly inputs: Record<string, InputSpecV2>
|
readonly inputs: Record<string, InputSpecV2>
|
||||||
@@ -169,6 +170,9 @@ export class ComfyNodeDefImpl
|
|||||||
obj.essentials_category
|
obj.essentials_category
|
||||||
)
|
)
|
||||||
this.isGlobal = obj.isGlobal
|
this.isGlobal = obj.isGlobal
|
||||||
|
this.isCoreNode = CORE_NODE_MODULES.includes(
|
||||||
|
this.python_module.split('.')[0]
|
||||||
|
)
|
||||||
|
|
||||||
// Initialize V2 fields
|
// Initialize V2 fields
|
||||||
const defV2 = transformNodeDefV1ToV2(obj)
|
const defV2 = transformNodeDefV1ToV2(obj)
|
||||||
@@ -198,10 +202,6 @@ export class ComfyNodeDefImpl
|
|||||||
return [scores[0], -nodeFrequency, ...scores.slice(1)]
|
return [scores[0], -nodeFrequency, ...scores.slice(1)]
|
||||||
}
|
}
|
||||||
|
|
||||||
get isCoreNode(): boolean {
|
|
||||||
return this.nodeSource.type === NodeSourceType.Core
|
|
||||||
}
|
|
||||||
|
|
||||||
get nodeLifeCycleBadgeText(): string {
|
get nodeLifeCycleBadgeText(): string {
|
||||||
if (this.deprecated) return '[DEPR]'
|
if (this.deprecated) return '[DEPR]'
|
||||||
if (this.experimental) return '[BETA]'
|
if (this.experimental) return '[BETA]'
|
||||||
|
|||||||
@@ -10,6 +10,7 @@ export enum NodeSourceType {
|
|||||||
Essentials = 'essentials',
|
Essentials = 'essentials',
|
||||||
Unknown = 'unknown'
|
Unknown = 'unknown'
|
||||||
}
|
}
|
||||||
|
export const CORE_NODE_MODULES = ['nodes', 'comfy_extras', 'comfy_api_nodes']
|
||||||
|
|
||||||
export type NodeSource = {
|
export type NodeSource = {
|
||||||
type: NodeSourceType
|
type: NodeSourceType
|
||||||
@@ -68,9 +69,7 @@ export const getNodeSource = (
|
|||||||
displayText: displayName,
|
displayText: displayName,
|
||||||
badgeText: displayName
|
badgeText: displayName
|
||||||
}
|
}
|
||||||
} else if (
|
} else if (CORE_NODE_MODULES.includes(modules[0])) {
|
||||||
['nodes', 'comfy_extras', 'comfy_api_nodes'].includes(modules[0])
|
|
||||||
) {
|
|
||||||
return {
|
return {
|
||||||
type: NodeSourceType.Core,
|
type: NodeSourceType.Core,
|
||||||
className: 'comfy-core',
|
className: 'comfy-core',
|
||||||
|
|||||||
Reference in New Issue
Block a user