Skip to content

Commit f9c3c07

Browse files
fix: Support UNIX paths
1 parent c91ba2d commit f9c3c07

File tree

2 files changed

+19
-13
lines changed

2 files changed

+19
-13
lines changed

invokeai/frontend/web/src/features/ui/components/tabs/ModelManager/subpanels/AddModelsPanel/AdvancedAddCheckpoint.tsx

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ export default function AdvancedAddCheckpoint(
2828

2929
const advancedAddCheckpointForm = useForm<CheckpointModelConfig>({
3030
initialValues: {
31-
model_name: model_path?.split('\\').splice(-1)[0]?.split('.')[0] ?? '',
31+
model_name: model_path?.match(/[^\\/]+$/)?.[0]?.split('.')[0] ?? '',
3232
base_model: 'sd-1',
3333
model_type: 'main',
3434
path: model_path ? model_path : '',
@@ -102,13 +102,16 @@ export default function AdvancedAddCheckpoint(
102102
{...advancedAddCheckpointForm.getInputProps('path')}
103103
onBlur={(e) => {
104104
if (advancedAddCheckpointForm.values['model_name'] === '') {
105-
advancedAddCheckpointForm.setFieldValue(
106-
'model_name',
107-
e.currentTarget.value
108-
.split('\\')
109-
.splice(-1)[0]
110-
?.split('.')[0] as string
111-
);
105+
const modelName = e.currentTarget.value
106+
.match(/[^\\/]+$/)?.[0]
107+
?.split('.')[0];
108+
109+
if (modelName) {
110+
advancedAddCheckpointForm.setFieldValue(
111+
'model_name',
112+
modelName as string
113+
);
114+
}
112115
}
113116
}}
114117
/>

invokeai/frontend/web/src/features/ui/components/tabs/ModelManager/subpanels/AddModelsPanel/AdvancedAddDiffusers.tsx

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ export default function AdvancedAddDiffusers(props: AdvancedAddDiffusersProps) {
2525

2626
const advancedAddDiffusersForm = useForm<DiffusersModelConfig>({
2727
initialValues: {
28-
model_name: model_path?.split('\\').splice(-1)[0] ?? '',
28+
model_name: model_path?.match(/[^\\/]+$/)?.[0] ?? '',
2929
base_model: 'sd-1',
3030
model_type: 'main',
3131
path: model_path ? model_path : '',
@@ -94,10 +94,13 @@ export default function AdvancedAddDiffusers(props: AdvancedAddDiffusersProps) {
9494
{...advancedAddDiffusersForm.getInputProps('path')}
9595
onBlur={(e) => {
9696
if (advancedAddDiffusersForm.values['model_name'] === '') {
97-
advancedAddDiffusersForm.setFieldValue(
98-
'model_name',
99-
e.currentTarget.value.split('\\').splice(-1)[0] as string
100-
);
97+
const modelName = e.currentTarget.value.match(/[^\\/]+$/)?.[0];
98+
if (modelName) {
99+
advancedAddDiffusersForm.setFieldValue(
100+
'model_name',
101+
modelName as string
102+
);
103+
}
101104
}
102105
}}
103106
/>

0 commit comments

Comments
 (0)