Compare commits

...

5 Commits

Author SHA1 Message Date
snomiao
c8fdeb77fc fix: add Network category i18n translation for proxy settings
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-31 18:54:06 +09:00
snomiao
0287d31aa3 fix: add path mapping for @total-typescript/shoehorn to fix typecheck
The package's exports map lacks a "types" condition, which TypeScript
5.9 with moduleResolution "bundler" requires. Adding an explicit path
mapping resolves the module for vue-tsc.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-31 18:53:52 +09:00
snomiao
3f43d21161 fix: add versionAdded to proxy settings for tracking consistency 2026-03-31 18:17:59 +09:00
snomiao
8e7dab2c82 fix: make proxy schema fields optional for backwards compatibility
Older backends that don't return these fields would cause parsing
failures if validation is ever enabled. Using .optional() is consistent
with the store's Partial<Settings> typing and empty-string defaults.
2026-03-31 18:17:59 +09:00
snomiao
b694d50f38 feat: add proxy settings UI under Comfy > Network
Add three new settings for configuring HTTP/HTTPS proxy:
- Comfy.Network.Proxy.HttpUrl — main proxy URL for all traffic
- Comfy.Network.Proxy.HttpsUrl — optional separate HTTPS proxy
- Comfy.Network.Proxy.NoProxy — hosts to bypass proxy

Settings appear in the Settings dialog under Comfy > Network.
Values are persisted to comfy.settings.json and read by both
the Python backend and the Electron desktop app on startup.

Ref: Comfy-Org/desktop#1105

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-31 18:17:59 +09:00
5 changed files with 51 additions and 2 deletions

View File

@@ -1502,7 +1502,8 @@
"Error System": "Error System",
"Other": "Other",
"Secrets": "Secrets",
"Node Library": "Node Library"
"Node Library": "Node Library",
"Network": "Network"
},
"serverConfigItems": {
"listen": {

View File

@@ -504,5 +504,17 @@
"pysssss_SnapToGrid": {
"name": "Always snap to grid",
"tooltip": "When enabled, nodes will automatically align to the grid when moved or resized."
},
"Comfy_Network_Proxy_HttpUrl": {
"name": "HTTP/HTTPS proxy URL",
"tooltip": "Proxy URL for all outbound HTTP/HTTPS traffic (e.g. http://127.0.0.1:7890). Applies to model downloads, API calls, git operations, and custom nodes. Requires restart."
},
"Comfy_Network_Proxy_HttpsUrl": {
"name": "HTTPS proxy URL (optional)",
"tooltip": "Separate proxy URL for HTTPS traffic only. If empty, the HTTP proxy URL above is used for both HTTP and HTTPS. Requires restart."
},
"Comfy_Network_Proxy_NoProxy": {
"name": "No-proxy hosts",
"tooltip": "Comma-separated list of hosts that should bypass the proxy (e.g. localhost,127.0.0.1,*.local). Requires restart."
}
}

View File

@@ -1308,5 +1308,35 @@ export const CORE_SETTINGS: SettingParams[] = [
type: 'boolean',
defaultValue: false,
versionAdded: '1.42.0'
},
{
id: 'Comfy.Network.Proxy.HttpUrl',
category: ['Comfy', 'Network'],
name: 'HTTP/HTTPS proxy URL',
tooltip:
'Proxy URL for all outbound HTTP/HTTPS traffic (e.g. http://127.0.0.1:7890). Applies to model downloads, API calls, git operations, and custom nodes. Requires restart.',
type: 'text',
defaultValue: '',
versionAdded: '1.44.0'
},
{
id: 'Comfy.Network.Proxy.HttpsUrl',
category: ['Comfy', 'Network'],
name: 'HTTPS proxy URL (optional)',
tooltip:
'Separate proxy URL for HTTPS traffic only. If empty, the HTTP proxy URL above is used for both HTTP and HTTPS. Requires restart.',
type: 'text',
defaultValue: '',
versionAdded: '1.44.0'
},
{
id: 'Comfy.Network.Proxy.NoProxy',
category: ['Comfy', 'Network'],
name: 'No-proxy hosts',
tooltip:
'Comma-separated list of hosts that should bypass the proxy (e.g. localhost,127.0.0.1,*.local). Requires restart.',
type: 'text',
defaultValue: '',
versionAdded: '1.44.0'
}
]

View File

@@ -472,7 +472,10 @@ const zSettings = z.object({
'Comfy.RightSidePanel.IsOpen': z.boolean(),
'Comfy.RightSidePanel.ShowErrorsTab': z.boolean(),
'Comfy.Node.AlwaysShowAdvancedWidgets': z.boolean(),
'LiteGraph.Group.SelectChildrenOnClick': z.boolean()
'LiteGraph.Group.SelectChildrenOnClick': z.boolean(),
'Comfy.Network.Proxy.HttpUrl': z.string().optional(),
'Comfy.Network.Proxy.HttpsUrl': z.string().optional(),
'Comfy.Network.Proxy.NoProxy': z.string().optional()
})
export type EmbeddingsResponse = z.infer<typeof zEmbeddingsResponse>

View File

@@ -27,6 +27,9 @@
],
"@/utils/networkUtil": [
"./packages/shared-frontend-utils/src/networkUtil.ts"
],
"@total-typescript/shoehorn": [
"./node_modules/@total-typescript/shoehorn/dist/index.d.ts"
]
},
"typeRoots": ["src/types", "node_modules/@types", "./node_modules"],