Skip to content

Commit f856246

Browse files
Mary Hipppsychedelicious
authored andcommitted
try removing abortcontroller
1 parent 195df2e commit f856246

File tree

1 file changed

+22
-21
lines changed

1 file changed

+22
-21
lines changed

invokeai/frontend/web/src/features/dnd/FullscreenDropzone.tsx

Lines changed: 22 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ import type { DndTargetState } from 'features/dnd/types';
1212
import { selectAutoAddBoardId } from 'features/gallery/store/gallerySelectors';
1313
import { selectMaxImageUploadCount } from 'features/system/store/configSlice';
1414
import { toast } from 'features/toast/toast';
15-
import { memo, useCallback, useEffect, useMemo, useRef, useState } from 'react';
15+
import { memo, useCallback, useEffect, useRef, useState } from 'react';
1616
import { useTranslation } from 'react-i18next';
1717
import { uploadImages } from 'services/api/endpoints/images';
1818
import { useBoardName } from 'services/api/hooks/useBoardName';
@@ -75,12 +75,11 @@ export const FullscreenDropzone = memo(() => {
7575
const maxImageUploadCount = useAppSelector(selectMaxImageUploadCount);
7676
const [dndState, setDndState] = useState<DndTargetState>('idle');
7777

78-
const uploadFilesSchema = useMemo(() => getFilesSchema(maxImageUploadCount), [maxImageUploadCount]);
79-
8078
const validateAndUploadFiles = useCallback(
8179
(files: File[]) => {
8280
log.info('validateAndUploadFiles');
8381
const { getState } = getStore();
82+
const uploadFilesSchema = getFilesSchema(maxImageUploadCount);
8483
const parseResult = uploadFilesSchema.safeParse(files);
8584
log.info('parseResult');
8685

@@ -110,7 +109,21 @@ export const FullscreenDropzone = memo(() => {
110109

111110
uploadImages(uploadArgs);
112111
},
113-
[maxImageUploadCount, t, uploadFilesSchema]
112+
[maxImageUploadCount, t]
113+
);
114+
115+
const onPaste = useCallback(
116+
(e: ClipboardEvent) => {
117+
log.info('in paste');
118+
log.info(`clipboardData: ${JSON.stringify(e.clipboardData)}`);
119+
if (!e.clipboardData?.files) {
120+
log.info('no files');
121+
return;
122+
}
123+
const files = Array.from(e.clipboardData.files);
124+
validateAndUploadFiles(files);
125+
},
126+
[validateAndUploadFiles]
114127
);
115128

116129
useEffect(() => {
@@ -150,31 +163,19 @@ export const FullscreenDropzone = memo(() => {
150163

151164
useEffect(() => {
152165
log.info('use effect');
153-
const controller = new AbortController();
166+
// const controller = new AbortController();
154167
try {
155-
window.addEventListener(
156-
'paste',
157-
(e) => {
158-
log.info('in paste');
159-
log.info(`clipboardData: ${JSON.stringify(e.clipboardData)}`);
160-
if (!e.clipboardData?.files) {
161-
log.info('no files');
162-
return;
163-
}
164-
const files = Array.from(e.clipboardData.files);
165-
validateAndUploadFiles(files);
166-
},
167-
{ signal: controller.signal }
168-
);
168+
window.addEventListener('paste', onPaste);
169169
} catch (error) {
170170
log.info(`error: ${JSON.stringify(error)}`);
171171
}
172172

173173
return () => {
174174
log.info('abort');
175-
controller.abort();
175+
window.removeEventListener('paste', onPaste);
176+
// controller.abort();
176177
};
177-
}, [validateAndUploadFiles]);
178+
}, [onPaste]);
178179

179180
return (
180181
<Box ref={ref} data-dnd-state={dndState} sx={sx}>

0 commit comments

Comments
 (0)