Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
chenpangpang
ComfyUI
Commits
30ea1871
Commit
30ea1871
authored
Jul 13, 2023
by
comfyanonymous
Browse files
Merge branch 'use-relative-paths' of
https://github.com/mcmonkey4eva/ComfyUI
parents
eed30428
5797ff89
Changes
17
Show whitespace changes
Inline
Side-by-side
Showing
17 changed files
with
42 additions
and
42 deletions
+42
-42
web/extensions/core/clipspace.js
web/extensions/core/clipspace.js
+3
-3
web/extensions/core/colorPalette.js
web/extensions/core/colorPalette.js
+2
-2
web/extensions/core/editAttention.js
web/extensions/core/editAttention.js
+1
-1
web/extensions/core/invertMenuScrolling.js
web/extensions/core/invertMenuScrolling.js
+1
-1
web/extensions/core/keybinds.js
web/extensions/core/keybinds.js
+1
-1
web/extensions/core/maskeditor.js
web/extensions/core/maskeditor.js
+6
-6
web/extensions/core/nodeTemplates.js
web/extensions/core/nodeTemplates.js
+2
-2
web/extensions/core/saveImageExtraOutput.js
web/extensions/core/saveImageExtraOutput.js
+1
-1
web/extensions/core/slotDefaults.js
web/extensions/core/slotDefaults.js
+2
-2
web/extensions/core/snapToGrid.js
web/extensions/core/snapToGrid.js
+1
-1
web/extensions/core/uploadImage.js
web/extensions/core/uploadImage.js
+1
-1
web/extensions/core/widgetInputs.js
web/extensions/core/widgetInputs.js
+2
-2
web/index.html
web/index.html
+5
-5
web/scripts/api.js
web/scripts/api.js
+9
-9
web/scripts/app.js
web/scripts/app.js
+2
-2
web/scripts/widgets.js
web/scripts/widgets.js
+2
-2
web/types/comfy.d.ts
web/types/comfy.d.ts
+1
-1
No files found.
web/extensions/core/clipspace.js
View file @
30ea1871
import
{
app
}
from
"
/scripts/app.js
"
;
import
{
ComfyDialog
,
$el
}
from
"
/scripts/ui.js
"
;
import
{
ComfyApp
}
from
"
/scripts/app.js
"
;
import
{
app
}
from
"
../..
/scripts/app.js
"
;
import
{
ComfyDialog
,
$el
}
from
"
../..
/scripts/ui.js
"
;
import
{
ComfyApp
}
from
"
../..
/scripts/app.js
"
;
export
class
ClipspaceDialog
extends
ComfyDialog
{
static
items
=
[];
...
...
web/extensions/core/colorPalette.js
View file @
30ea1871
import
{
app
}
from
"
/scripts/app.js
"
;
import
{
$el
}
from
"
/scripts/ui.js
"
;
import
{
app
}
from
"
../..
/scripts/app.js
"
;
import
{
$el
}
from
"
../..
/scripts/ui.js
"
;
// Manage color palettes
...
...
web/extensions/core/editAttention.js
View file @
30ea1871
import
{
app
}
from
"
/scripts/app.js
"
;
import
{
app
}
from
"
../..
/scripts/app.js
"
;
// Allows you to edit the attention weight by holding ctrl (or cmd) and using the up/down arrow keys
...
...
web/extensions/core/invertMenuScrolling.js
View file @
30ea1871
import
{
app
}
from
"
/scripts/app.js
"
;
import
{
app
}
from
"
../..
/scripts/app.js
"
;
// Inverts the scrolling of context menus
...
...
web/extensions/core/keybinds.js
View file @
30ea1871
import
{
app
}
from
"
/scripts/app.js
"
;
import
{
app
}
from
"
../..
/scripts/app.js
"
;
app
.
registerExtension
({
name
:
"
Comfy.Keybinds
"
,
...
...
web/extensions/core/maskeditor.js
View file @
30ea1871
import
{
app
}
from
"
/scripts/app.js
"
;
import
{
ComfyDialog
,
$el
}
from
"
/scripts/ui.js
"
;
import
{
ComfyApp
}
from
"
/scripts/app.js
"
;
import
{
ClipspaceDialog
}
from
"
/extensions/core/clipspace.js
"
;
import
{
app
}
from
"
../..
/scripts/app.js
"
;
import
{
ComfyDialog
,
$el
}
from
"
../..
/scripts/ui.js
"
;
import
{
ComfyApp
}
from
"
../..
/scripts/app.js
"
;
import
{
ClipspaceDialog
}
from
"
../..
/extensions/core/clipspace.js
"
;
// Helper function to convert a data URL to a Blob object
function
dataURLToBlob
(
dataURL
)
{
...
...
@@ -33,7 +33,7 @@ function loadedImageToBlob(image) {
}
async
function
uploadMask
(
filepath
,
formData
)
{
await
fetch
(
'
/upload/mask
'
,
{
await
fetch
(
'
.
/upload/mask
'
,
{
method
:
'
POST
'
,
body
:
formData
}).
then
(
response
=>
{}).
catch
(
error
=>
{
...
...
@@ -41,7 +41,7 @@ async function uploadMask(filepath, formData) {
});
ComfyApp
.
clipspace
.
imgs
[
ComfyApp
.
clipspace
[
'
selectedIndex
'
]]
=
new
Image
();
ComfyApp
.
clipspace
.
imgs
[
ComfyApp
.
clipspace
[
'
selectedIndex
'
]].
src
=
"
/view?
"
+
new
URLSearchParams
(
filepath
).
toString
()
+
app
.
getPreviewFormatParam
();
ComfyApp
.
clipspace
.
imgs
[
ComfyApp
.
clipspace
[
'
selectedIndex
'
]].
src
=
"
.
/view?
"
+
new
URLSearchParams
(
filepath
).
toString
()
+
app
.
getPreviewFormatParam
();
if
(
ComfyApp
.
clipspace
.
images
)
ComfyApp
.
clipspace
.
images
[
ComfyApp
.
clipspace
[
'
selectedIndex
'
]]
=
filepath
;
...
...
web/extensions/core/nodeTemplates.js
View file @
30ea1871
import
{
app
}
from
"
/scripts/app.js
"
;
import
{
ComfyDialog
,
$el
}
from
"
/scripts/ui.js
"
;
import
{
app
}
from
"
../..
/scripts/app.js
"
;
import
{
ComfyDialog
,
$el
}
from
"
../..
/scripts/ui.js
"
;
// Adds the ability to save and add multiple nodes as a template
// To save:
...
...
web/extensions/core/saveImageExtraOutput.js
View file @
30ea1871
import
{
app
}
from
"
/scripts/app.js
"
;
import
{
app
}
from
"
../..
/scripts/app.js
"
;
// Use widget values and dates in output filenames
...
...
web/extensions/core/slotDefaults.js
View file @
30ea1871
import
{
app
}
from
"
/scripts/app.js
"
;
import
{
ComfyWidgets
}
from
"
/scripts/widgets.js
"
;
import
{
app
}
from
"
../..
/scripts/app.js
"
;
import
{
ComfyWidgets
}
from
"
../..
/scripts/widgets.js
"
;
// Adds defaults for quickly adding nodes with middle click on the input/output
app
.
registerExtension
({
...
...
web/extensions/core/snapToGrid.js
View file @
30ea1871
import
{
app
}
from
"
/scripts/app.js
"
;
import
{
app
}
from
"
../..
/scripts/app.js
"
;
// Shift + drag/resize to snap to grid
...
...
web/extensions/core/uploadImage.js
View file @
30ea1871
import
{
app
}
from
"
/scripts/app.js
"
;
import
{
app
}
from
"
../..
/scripts/app.js
"
;
// Adds an upload button to the nodes
...
...
web/extensions/core/widgetInputs.js
View file @
30ea1871
import
{
ComfyWidgets
,
addValueControlWidget
}
from
"
/scripts/widgets.js
"
;
import
{
app
}
from
"
/scripts/app.js
"
;
import
{
ComfyWidgets
,
addValueControlWidget
}
from
"
../..
/scripts/widgets.js
"
;
import
{
app
}
from
"
../..
/scripts/app.js
"
;
const
CONVERTED_TYPE
=
"
converted-widget
"
;
const
VALID_TYPES
=
[
"
STRING
"
,
"
combo
"
,
"
number
"
];
...
...
web/index.html
View file @
30ea1871
...
...
@@ -4,12 +4,12 @@
<meta
charset=
"UTF-8"
>
<title>
ComfyUI
</title>
<meta
name=
"viewport"
content=
"width=device-width, initial-scale=1.0, user-scalable=no"
>
<link
rel=
"stylesheet"
type=
"text/css"
href=
"lib/litegraph.css"
/>
<link
rel=
"stylesheet"
type=
"text/css"
href=
"style.css"
/>
<script
type=
"text/javascript"
src=
"lib/litegraph.core.js"
></script>
<script
type=
"text/javascript"
src=
"lib/litegraph.extensions.js"
defer
></script>
<link
rel=
"stylesheet"
type=
"text/css"
href=
"
./
lib/litegraph.css"
/>
<link
rel=
"stylesheet"
type=
"text/css"
href=
"
./
style.css"
/>
<script
type=
"text/javascript"
src=
"
./
lib/litegraph.core.js"
></script>
<script
type=
"text/javascript"
src=
"
./
lib/litegraph.extensions.js"
defer
></script>
<script
type=
"module"
>
import
{
app
}
from
"
/scripts/app.js
"
;
import
{
app
}
from
"
.
/scripts/app.js
"
;
await
app
.
setup
();
window
.
app
=
app
;
window
.
graph
=
app
.
graph
;
...
...
web/scripts/api.js
View file @
30ea1871
...
...
@@ -16,7 +16,7 @@ class ComfyApi extends EventTarget {
#
pollQueue
()
{
setInterval
(
async
()
=>
{
try
{
const
resp
=
await
fetch
(
"
/prompt
"
);
const
resp
=
await
fetch
(
"
.
/prompt
"
);
const
status
=
await
resp
.
json
();
this
.
dispatchEvent
(
new
CustomEvent
(
"
status
"
,
{
detail
:
status
}));
}
catch
(
error
)
{
...
...
@@ -40,7 +40,7 @@ class ComfyApi extends EventTarget {
existingSession
=
"
?clientId=
"
+
existingSession
;
}
this
.
socket
=
new
WebSocket
(
`ws
${
window
.
location
.
protocol
===
"
https:
"
?
"
s
"
:
""
}
://
${
location
.
host
}
/
ws
${
existingSession
}
`
`ws
${
window
.
location
.
protocol
===
"
https:
"
?
"
s
"
:
""
}
://
${
location
.
host
}
${
location
.
pathname
}
ws
${
existingSession
}
`
);
this
.
socket
.
binaryType
=
"
arraybuffer
"
;
...
...
@@ -149,7 +149,7 @@ class ComfyApi extends EventTarget {
* @returns An array of script urls to import
*/
async
getExtensions
()
{
const
resp
=
await
fetch
(
"
/extensions
"
,
{
cache
:
"
no-store
"
});
const
resp
=
await
fetch
(
"
.
/extensions
"
,
{
cache
:
"
no-store
"
});
return
await
resp
.
json
();
}
...
...
@@ -158,7 +158,7 @@ class ComfyApi extends EventTarget {
* @returns An array of script urls to import
*/
async
getEmbeddings
()
{
const
resp
=
await
fetch
(
"
/embeddings
"
,
{
cache
:
"
no-store
"
});
const
resp
=
await
fetch
(
"
.
/embeddings
"
,
{
cache
:
"
no-store
"
});
return
await
resp
.
json
();
}
...
...
@@ -167,7 +167,7 @@ class ComfyApi extends EventTarget {
* @returns The node definitions
*/
async
getNodeDefs
()
{
const
resp
=
await
fetch
(
"
object_info
"
,
{
cache
:
"
no-store
"
});
const
resp
=
await
fetch
(
"
./
object_info
"
,
{
cache
:
"
no-store
"
});
return
await
resp
.
json
();
}
...
...
@@ -189,7 +189,7 @@ class ComfyApi extends EventTarget {
body
.
number
=
number
;
}
const
res
=
await
fetch
(
"
/prompt
"
,
{
const
res
=
await
fetch
(
"
.
/prompt
"
,
{
method
:
"
POST
"
,
headers
:
{
"
Content-Type
"
:
"
application/json
"
,
...
...
@@ -224,7 +224,7 @@ class ComfyApi extends EventTarget {
*/
async
getQueue
()
{
try
{
const
res
=
await
fetch
(
"
/queue
"
);
const
res
=
await
fetch
(
"
.
/queue
"
);
const
data
=
await
res
.
json
();
return
{
// Running action uses a different endpoint for cancelling
...
...
@@ -246,7 +246,7 @@ class ComfyApi extends EventTarget {
*/
async
getHistory
()
{
try
{
const
res
=
await
fetch
(
"
/history
"
);
const
res
=
await
fetch
(
"
.
/history
"
);
return
{
History
:
Object
.
values
(
await
res
.
json
())
};
}
catch
(
error
)
{
console
.
error
(
error
);
...
...
@@ -261,7 +261,7 @@ class ComfyApi extends EventTarget {
*/
async
#
postItem
(
type
,
body
)
{
try
{
await
fetch
(
"
/
"
+
type
,
{
await
fetch
(
"
.
/
"
+
type
,
{
method
:
"
POST
"
,
headers
:
{
"
Content-Type
"
:
"
application/json
"
,
...
...
web/scripts/app.js
View file @
30ea1871
...
...
@@ -404,7 +404,7 @@ export class ComfyApp {
this
.
images
=
output
.
images
;
imagesChanged
=
true
;
imgURLs
=
imgURLs
.
concat
(
output
.
images
.
map
(
params
=>
{
return
"
/view?
"
+
new
URLSearchParams
(
params
).
toString
()
+
app
.
getPreviewFormatParam
();
return
"
.
/view?
"
+
new
URLSearchParams
(
params
).
toString
()
+
app
.
getPreviewFormatParam
();
}))
}
}
...
...
@@ -1005,7 +1005,7 @@ export class ComfyApp {
const
extensions
=
await
api
.
getExtensions
();
for
(
const
ext
of
extensions
)
{
try
{
await
import
(
ext
);
await
import
(
"
..
"
+
ext
);
}
catch
(
error
)
{
console
.
error
(
"
Error loading extension
"
,
ext
,
error
);
}
...
...
web/scripts/widgets.js
View file @
30ea1871
...
...
@@ -305,7 +305,7 @@ export const ComfyWidgets = {
subfolder
=
name
.
substring
(
0
,
folder_separator
);
name
=
name
.
substring
(
folder_separator
+
1
);
}
img
.
src
=
`/view?filename=
${
name
}
&type=input&subfolder=
${
subfolder
}${
app
.
getPreviewFormatParam
()}
`
;
img
.
src
=
`
.
/view?filename=
${
name
}
&type=input&subfolder=
${
subfolder
}${
app
.
getPreviewFormatParam
()}
`
;
node
.
setSizeForImage
?.();
}
...
...
@@ -362,7 +362,7 @@ export const ComfyWidgets = {
// Wrap file in formdata so it includes filename
const
body
=
new
FormData
();
body
.
append
(
"
image
"
,
file
);
const
resp
=
await
fetch
(
"
/upload/image
"
,
{
const
resp
=
await
fetch
(
"
.
/upload/image
"
,
{
method
:
"
POST
"
,
body
,
});
...
...
web/types/comfy.d.ts
View file @
30ea1871
import
{
LGraphNode
,
IWidget
}
from
"
./litegraph
"
;
import
{
ComfyApp
}
from
"
/scripts/app
"
;
import
{
ComfyApp
}
from
"
../..
/scripts/app
"
;
export
interface
ComfyExtension
{
/**
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment