Skip to content

Commit 735cab7

Browse files
Merge pull request #311 from 6174/0.2.2-alpha
0.2.2 alpha
2 parents c5ef6e8 + b1d059c commit 735cab7

File tree

49 files changed

+646
-212
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

49 files changed

+646
-212
lines changed

README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,9 @@ If you like ComflowySpace, give our repo a [⭐ Star](https://github.com/6174/co
2020
## Download
2121

2222
* **MacOS:**
23-
* [Mac Intel](https://github.com/6174/comflowyspace/releases/download/v0.2.1-alpha/comflowy-0.2.1-alpha.dmg) (Note that if you have an Intel Macbook, make sure it has AMD graphics before installing, otherwise it won't work!)
24-
* [Mac M](https://github.com/6174/comflowyspace/releases/download/v0.2.1-alpha/comflowy-0.2.1-alpha-arm64.dmg)
25-
* **[Windows](https://github.com/6174/comflowyspace/releases/download/v0.2.1-alpha/comflowy-0.2.1-alpha.zip)**
23+
* [Mac Intel](https://github.com/6174/comflowyspace/releases/download/v0.2.2-alpha/comflowy-0.2.2-alpha.dmg) (Note that if you have an Intel Macbook, make sure it has AMD graphics before installing, otherwise it won't work!)
24+
* [Mac M](https://github.com/6174/comflowyspace/releases/download/v0.2.2-alpha/comflowy-0.2.2-alpha-arm64.dmg)
25+
* **[Windows](https://github.com/6174/comflowyspace/releases/download/v0.2.2-alpha/comflowy-0.2.2-alpha.zip)**
2626

2727
## Cloud Version
2828
If your computer's performance isn't sufficient for the local version, you can also try our [cloud version](https://www.comflowy.com).

apps/electron-backend/layers/main/src/index.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,8 @@ log.transports.file.format = '{level} {text}';
2020

2121
app.setAboutPanelOptions({
2222
applicationName: 'Comflowy',
23-
applicationVersion: '0.2.1-alpha',
24-
version: '0.2.1-alpha',
23+
applicationVersion: '0.2.2-alpha',
24+
version: '0.2.2-alpha',
2525
copyright: 'Copyright © 2024 https://www.comflowy.com',
2626
authors: ['@Marc Chen', '@Jimmy Wang'],
2727
website: 'https://www.comflowy.com',

apps/electron-backend/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "comflowy",
3-
"version": "0.2.1-alpha",
3+
"version": "0.2.2-alpha",
44
"private": true,
55
"main": "layers/main/dist/index.js",
66
"scripts": {

apps/electron-frontend/.env.development

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
NEXT_PUBLIC_APP_VERSION=0.2.1-alpha
1+
NEXT_PUBLIC_APP_VERSION=0.2.2-alpha
22
NEXT_PUBLIC_API_SERVER=http://localhost:3000
33
SENTRY_AUTH_TOKEN=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
44
NEXT_PUBLIC_APTABASE_API_KEY=A-SH-5854572926

apps/electron-frontend/.env.production

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
NEXT_PUBLIC_APP_VERSION=0.2.1-alpha
1+
NEXT_PUBLIC_APP_VERSION=0.2.2-alpha
22
NEXT_PUBLIC_API_SERVER=https://www.comflowy.com
33
SENTRY_AUTH_TOKEN=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
44
NEXT_PUBLIC_FG_ENABLE_SUBFLOW=disabled

apps/electron-frontend/src/components/bootstrap/setup-config.tsx

Lines changed: 64 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@ export function SetupConfig() {
1616
const [selectedIfInstalledComfyUI, setSelectedIfInstalledComfyUI] = useState(false);
1717
const [installedComfyUI, setInstalledComfyUI] = useState(false);
1818

19+
const [pythonPath, setPythonPath] = useState("");
20+
1921
useEffect(() => {
2022
track('bootstrap-setup-config');
2123
trackNewUser();
@@ -48,17 +50,43 @@ export function SetupConfig() {
4850
}
4951
}, []);
5052

53+
const selectPythonPath = useCallback(async () => {
54+
try {
55+
const ret = await comfyElectronApi.selectDirectory();
56+
const pythonPath = ret[0];
57+
setPythonPath(pythonPath);
58+
} catch (err) {
59+
console.log(err);
60+
message.error(err);
61+
}
62+
}, []);
63+
5164
const useDefaultFolder = useCallback(() => {
5265
setValue(defaultValue);
5366
}, [value, defaultValue]);
5467

5568
const [loading, setLoading] = useState(false);
5669

5770
const saveValue = useCallback(async () => {
58-
const config = {
71+
if (value.trim() === "") {
72+
message.error("Please select comfyui folder");
73+
return;
74+
}
75+
76+
if (installedComfyUI && pythonPath.trim() === "") {
77+
message.error("Please select python path");
78+
return;
79+
}
80+
81+
const config:any = {
5982
comfyUIDir: value.trim(),
6083
stableDiffusionDir: sdwebuiPath.trim()
6184
};
85+
86+
if (installedComfyUI && pythonPath.trim() !== "") {
87+
config.pythonPath = pythonPath.trim() + "/python";
88+
}
89+
6290
const api = getBackendUrl('/api/setup_config');
6391
try {
6492
setLoading(true);
@@ -84,6 +112,22 @@ export function SetupConfig() {
84112
} else {
85113
track('bootstrap-setup-config-success-without-comfyui-installed');
86114
}
115+
116+
if (pythonPath.trim() !== "") {
117+
bootstrapTasks.forEach(task => {
118+
const skipTasks = [
119+
BootStrapTaskType.installPython,
120+
BootStrapTaskType.installGit,
121+
BootStrapTaskType.installTorch,
122+
BootStrapTaskType.installComfyUI,
123+
BootStrapTaskType.installConda
124+
];
125+
if (skipTasks.includes(task.type)) {
126+
task.finished = true;
127+
}
128+
});
129+
}
130+
87131
setBootstrapTasks([...bootstrapTasks]);
88132
} else {
89133
message.error("Setup failed: " + data.error);
@@ -93,7 +137,7 @@ export function SetupConfig() {
93137
message.error(err);
94138
}
95139
setLoading(false);
96-
}, [value, sdwebuiPath, bootstrapTasks, task, installedComfyUI]);
140+
}, [value, sdwebuiPath, bootstrapTasks, task, installedComfyUI, pythonPath, selectedIfInstalledComfyUI]);
97141

98142
if (!selectedIfInstalledComfyUI) {
99143
return (
@@ -161,6 +205,23 @@ export function SetupConfig() {
161205
</Space>
162206
</div>
163207

208+
<div className="field">
209+
<div className="field-label" style={{
210+
marginBottom: "10px"
211+
}}>Select python bin folder</div>
212+
<div className="description">
213+
Select the python bin folder to reuse packages installed for comfyui
214+
</div>
215+
<div className="input-wrapper">
216+
<Input value={pythonPath} placeholder="Input or select the python bin folder" onChange={v => {
217+
setPythonPath(v.target.value);
218+
}}/>
219+
</div>
220+
<Space>
221+
{electronEnv && <Button onClick={selectPythonPath}> <FolderIcon /> Select folder</Button>}
222+
</Space>
223+
</div>
224+
164225
<div className="field buttons">
165226
<Space>
166227
<Button onClick={() => {
@@ -208,20 +269,4 @@ export function SetupConfig() {
208269
</div>
209270
</div>
210271
)
211-
}
212-
213-
/*
214-
<div className="field">
215-
<div className="field-label" style={{
216-
marginBottom: "10px"
217-
}}>SD WebUI Path:</div>
218-
<div className="description">
219-
If Stable Diffusion WebUI is already installed, you can opt for the SD path to utilize existing models
220-
</div>
221-
<div className="input-wrapper">
222-
<Input value={sdwebuiPath} placeholder="Input sd webui path if exists"/>
223-
</div>
224-
<Space>
225-
{electronEnv && <Button onClick={selectSdWebUIFolder}><FolderIcon /> Select folder</Button>}
226-
</Space>
227-
</div> */
272+
}

apps/electron-frontend/src/components/setting-modal/setting-modal.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -384,7 +384,7 @@ function AboutComflowySpace() {
384384
</div>
385385
<div>
386386
<div className='about-content-title'>Comflowy</div>
387-
<div>{t(KEYS.version)} 0.2.1-alpha</div>
387+
<div>{t(KEYS.version)} 0.2.2-alpha</div>
388388
</div>
389389
</div>
390390
<Divider />
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
{"id":"abf9b0f9-6a08-47b9-937b-53173392b74e","title":"Batch image workflow","nodes":[{"id":"3","type":"KSampler","properties":{"Node name for S&R":"KSampler"},"pos":[863,186],"size":[315,413],"inputs":[{"name":"model","type":"MODEL","link":1},{"name":"positive","type":"CONDITIONING","link":4},{"name":"negative","type":"CONDITIONING","link":6},{"name":"latent_image","type":"LATENT","link":2}],"outputs":[{"name":"LATENT","type":"LATENT","links":[7,11],"slot_index":0}],"widgets_values":[369501923869898,"fixed",20,8,"dpmpp_2m","karras",1],"order":0,"mode":0},{"id":"4","type":"CheckpointLoaderSimple","properties":{"Node name for S&R":"CheckpointLoaderSimple"},"pos":[26,474],"size":[315,161],"inputs":[],"outputs":[{"name":"MODEL","type":"MODEL","links":[1],"slot_index":0},{"name":"CLIP","type":"CLIP","links":[3,5],"slot_index":1},{"name":"VAE","type":"VAE","links":[8,13],"slot_index":2}],"widgets_values":["SDXL-v1.0-base.safetensors"],"order":0,"mode":0},{"id":"5","type":"EmptyLatentImage","properties":{"Node name for S&R":"EmptyLatentImage"},"pos":[473,609],"size":[315,189],"inputs":[],"outputs":[{"name":"LATENT","type":"LATENT","links":[2],"slot_index":0}],"widgets_values":[512,512,4],"order":0,"mode":0},{"id":"6","type":"CLIPTextEncode","properties":{"Node name for S&R":"CLIPTextEncode"},"pos":[399.27614213197967,85.76040609137053],"size":[423,221],"inputs":[{"name":"clip","type":"CLIP","link":3}],"outputs":[{"name":"CONDITIONING","type":"CONDITIONING","links":[4],"slot_index":0}],"widgets_values":["Cat, standing on the castle"],"order":0,"mode":0},{"id":"7","type":"CLIPTextEncode","properties":{"Node name for S&R":"CLIPTextEncode"},"pos":[399.24162436548227,335.9319796954315],"size":[425,221],"inputs":[{"name":"clip","type":"CLIP","link":5}],"outputs":[{"name":"CONDITIONING","type":"CONDITIONING","links":[6],"slot_index":0}],"widgets_values":["text, watermark"],"order":0,"mode":0},{"id":"8","type":"VAEDecode","properties":{"Node name for S&R":"VAEDecode"},"pos":[1209,188],"size":[210,99],"inputs":[{"name":"samples","type":"LATENT","link":7},{"name":"vae","type":"VAE","link":8}],"outputs":[{"name":"IMAGE","type":"IMAGE","links":[9],"slot_index":0}],"widgets_values":[],"order":0,"mode":0},{"id":"9","type":"SaveImage","properties":{},"pos":[1451,189],"size":[210,270],"inputs":[{"name":"images","type":"IMAGE","link":9}],"outputs":[],"widgets_values":["ComfyUI"],"order":0,"mode":0},{"id":"10","type":"LatentFromBatch","properties":{"Node name for S&R":"LatentFromBatch"},"pos":[1210,532],"size":[315,151],"inputs":[{"name":"samples","type":"LATENT","link":11}],"outputs":[{"name":"LATENT","type":"LATENT","links":[10],"shape":3,"slot_index":0}],"widgets_values":[2,1],"order":0,"mode":0},{"id":"11","type":"VAEDecode","properties":{"Node name for S&R":"VAEDecode"},"pos":[1566,535],"size":[210,99],"inputs":[{"name":"samples","type":"LATENT","link":10},{"name":"vae","type":"VAE","link":13}],"outputs":[{"name":"IMAGE","type":"IMAGE","links":[12],"shape":3,"slot_index":0}],"widgets_values":[],"order":0,"mode":0},{"id":"12","type":"SaveImage","properties":{},"pos":[1823,537],"size":[315,270],"inputs":[{"name":"images","type":"IMAGE","link":12}],"outputs":[],"widgets_values":["ComfyUI"],"order":0,"mode":0}],"links":[["1","4",0,"3",0,"MODEL"],["2","5",0,"3",3,"LATENT"],["3","4",1,"6",0,"CLIP"],["4","6",0,"3",1,"CONDITIONING"],["5","4",1,"7",0,"CLIP"],["6","7",0,"3",2,"CONDITIONING"],["7","3",0,"8",0,"LATENT"],["8","4",2,"8",1,"VAE"],["9","8",0,"9",0,"IMAGE"],["10","10",0,"11",0,"LATENT"],["11","3",0,"10",0,"LATENT"],["12","11",0,"12",0,"IMAGE"],["13","4",2,"11",1,"VAE"]],"groups":[],"version":0,"extra":{"comflowy_version":"0.2.1-alpha"}}
1+
{"id":"abf9b0f9-6a08-47b9-937b-53173392b74e","title":"Batch image workflow","nodes":[{"id":"3","type":"KSampler","properties":{"Node name for S&R":"KSampler"},"pos":[863,186],"size":[315,413],"inputs":[{"name":"model","type":"MODEL","link":1},{"name":"positive","type":"CONDITIONING","link":4},{"name":"negative","type":"CONDITIONING","link":6},{"name":"latent_image","type":"LATENT","link":2}],"outputs":[{"name":"LATENT","type":"LATENT","links":[7,11],"slot_index":0}],"widgets_values":[369501923869898,"fixed",20,8,"dpmpp_2m","karras",1],"order":0,"mode":0},{"id":"4","type":"CheckpointLoaderSimple","properties":{"Node name for S&R":"CheckpointLoaderSimple"},"pos":[26,474],"size":[315,161],"inputs":[],"outputs":[{"name":"MODEL","type":"MODEL","links":[1],"slot_index":0},{"name":"CLIP","type":"CLIP","links":[3,5],"slot_index":1},{"name":"VAE","type":"VAE","links":[8,13],"slot_index":2}],"widgets_values":["SDXL-v1.0-base.safetensors"],"order":0,"mode":0},{"id":"5","type":"EmptyLatentImage","properties":{"Node name for S&R":"EmptyLatentImage"},"pos":[473,609],"size":[315,189],"inputs":[],"outputs":[{"name":"LATENT","type":"LATENT","links":[2],"slot_index":0}],"widgets_values":[512,512,4],"order":0,"mode":0},{"id":"6","type":"CLIPTextEncode","properties":{"Node name for S&R":"CLIPTextEncode"},"pos":[399.27614213197967,85.76040609137053],"size":[423,221],"inputs":[{"name":"clip","type":"CLIP","link":3}],"outputs":[{"name":"CONDITIONING","type":"CONDITIONING","links":[4],"slot_index":0}],"widgets_values":["Cat, standing on the castle"],"order":0,"mode":0},{"id":"7","type":"CLIPTextEncode","properties":{"Node name for S&R":"CLIPTextEncode"},"pos":[399.24162436548227,335.9319796954315],"size":[425,221],"inputs":[{"name":"clip","type":"CLIP","link":5}],"outputs":[{"name":"CONDITIONING","type":"CONDITIONING","links":[6],"slot_index":0}],"widgets_values":["text, watermark"],"order":0,"mode":0},{"id":"8","type":"VAEDecode","properties":{"Node name for S&R":"VAEDecode"},"pos":[1209,188],"size":[210,99],"inputs":[{"name":"samples","type":"LATENT","link":7},{"name":"vae","type":"VAE","link":8}],"outputs":[{"name":"IMAGE","type":"IMAGE","links":[9],"slot_index":0}],"widgets_values":[],"order":0,"mode":0},{"id":"9","type":"SaveImage","properties":{},"pos":[1451,189],"size":[210,270],"inputs":[{"name":"images","type":"IMAGE","link":9}],"outputs":[],"widgets_values":["ComfyUI"],"order":0,"mode":0},{"id":"10","type":"LatentFromBatch","properties":{"Node name for S&R":"LatentFromBatch"},"pos":[1210,532],"size":[315,151],"inputs":[{"name":"samples","type":"LATENT","link":11}],"outputs":[{"name":"LATENT","type":"LATENT","links":[10],"shape":3,"slot_index":0}],"widgets_values":[2,1],"order":0,"mode":0},{"id":"11","type":"VAEDecode","properties":{"Node name for S&R":"VAEDecode"},"pos":[1566,535],"size":[210,99],"inputs":[{"name":"samples","type":"LATENT","link":10},{"name":"vae","type":"VAE","link":13}],"outputs":[{"name":"IMAGE","type":"IMAGE","links":[12],"shape":3,"slot_index":0}],"widgets_values":[],"order":0,"mode":0},{"id":"12","type":"SaveImage","properties":{},"pos":[1823,537],"size":[315,270],"inputs":[{"name":"images","type":"IMAGE","link":12}],"outputs":[],"widgets_values":["ComfyUI"],"order":0,"mode":0}],"links":[["1","4",0,"3",0,"MODEL"],["2","5",0,"3",3,"LATENT"],["3","4",1,"6",0,"CLIP"],["4","6",0,"3",1,"CONDITIONING"],["5","4",1,"7",0,"CLIP"],["6","7",0,"3",2,"CONDITIONING"],["7","3",0,"8",0,"LATENT"],["8","4",2,"8",1,"VAE"],["9","8",0,"9",0,"IMAGE"],["10","10",0,"11",0,"LATENT"],["11","3",0,"10",0,"LATENT"],["12","11",0,"12",0,"IMAGE"],["13","4",2,"11",1,"VAE"]],"groups":[],"version":0,"extra":{"comflowy_version":"0.2.2-alpha"}}

0 commit comments

Comments
 (0)