Compare commits

...

3 Commits

Author SHA1 Message Date
bymyself
b941526b9d fix: handle version-suffixed frontend_only module names
Strip version suffix before comparing module name to 'frontend_only',
so 'custom_nodes.frontend_only@1.0.0' is also handled correctly.
2026-03-16 05:57:04 +00:00
bymyself
4f431544cc fix: return empty badge for frontend_only nodes (GREEN)
Special-case 'custom_nodes.frontend_only' in getNodeSource() to return
empty badgeText instead of 'frontend_only'. This prevents frontend-only
nodes (e.g. rgthree Reroute) from showing a misleading 'frontend_only'
badge that obscures user-set titles.

Fixes #9997
2026-03-16 05:42:20 +00:00
bymyself
ad7c15f3b5 test: add failing test for frontend_only badge text (RED)
getNodeSource('custom_nodes.frontend_only') should return empty badgeText
instead of 'frontend_only' to prevent misleading badges on frontend-only nodes.

Fixes #9997
2026-03-16 05:41:58 +00:00
2 changed files with 28 additions and 0 deletions

View File

@@ -63,6 +63,26 @@ describe('getNodeSource', () => {
})
})
it('should return empty badgeText for frontend_only custom nodes', () => {
const result = getNodeSource('custom_nodes.frontend_only')
expect(result).toEqual({
type: NodeSourceType.CustomNodes,
className: 'comfy-frontend-only',
displayText: 'Frontend Only',
badgeText: ''
})
})
it('should return empty badgeText for version-suffixed frontend_only', () => {
const result = getNodeSource('custom_nodes.frontend_only@1.0.0')
expect(result).toEqual({
type: NodeSourceType.CustomNodes,
className: 'comfy-frontend-only',
displayText: 'Frontend Only',
badgeText: ''
})
})
it('should return UNKNOWN_NODE_SOURCE for unrecognized modules', () => {
const result = getNodeSource('unknown_module.something')
expect(result).toEqual({

View File

@@ -64,6 +64,14 @@ export function getNodeSource(
return UNKNOWN_NODE_SOURCE
}
const customNodeName = moduleName.split('@')[0]
if (customNodeName === 'frontend_only') {
return {
type: NodeSourceType.CustomNodes,
className: 'comfy-frontend-only',
displayText: 'Frontend Only',
badgeText: ''
}
}
const displayName = shortenNodeName(customNodeName)
return {
type: NodeSourceType.CustomNodes,