From ba50444809425d7dd1b7a99c93c9aecec1113d2b Mon Sep 17 00:00:00 2001 From: chainchompa Date: Tue, 23 Jul 2024 16:29:02 -0400 Subject: [PATCH 1/4] only show warning for simple upscale if no simple upscale model is available --- .../UpscaleSettingsAccordion/UpscaleWarning.tsx | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/invokeai/frontend/web/src/features/settingsAccordions/components/UpscaleSettingsAccordion/UpscaleWarning.tsx b/invokeai/frontend/web/src/features/settingsAccordions/components/UpscaleSettingsAccordion/UpscaleWarning.tsx index e20bf3bc5e1..d1873c15ae2 100644 --- a/invokeai/frontend/web/src/features/settingsAccordions/components/UpscaleSettingsAccordion/UpscaleWarning.tsx +++ b/invokeai/frontend/web/src/features/settingsAccordions/components/UpscaleSettingsAccordion/UpscaleWarning.tsx @@ -14,7 +14,7 @@ interface Props { export const UpscaleWarning = ({ usesTile }: Props) => { const { t } = useTranslation(); const model = useAppSelector((s) => s.generation.model); - const { tileControlnetModel, upscaleModel } = useAppSelector((s) => s.upscale); + const { tileControlnetModel, upscaleModel, simpleUpscaleModel } = useAppSelector((s) => s.upscale); const dispatch = useAppDispatch(); const [modelConfigs, { isLoading }] = useControlNetModels(); const disabledTabs = useAppSelector((s) => s.config.disabledTabs); @@ -29,6 +29,12 @@ export const UpscaleWarning = ({ usesTile }: Props) => { const warnings = useMemo(() => { const _warnings: string[] = []; + if (!usesTile) { + if (!simpleUpscaleModel) { + _warnings.push(t('upscaling.upscaleModelDesc')); + } + return _warnings; + } if (!model) { _warnings.push(t('upscaling.mainModelDesc')); } @@ -39,7 +45,7 @@ export const UpscaleWarning = ({ usesTile }: Props) => { _warnings.push(t('upscaling.upscaleModelDesc')); } return _warnings; - }, [model, upscaleModel, tileControlnetModel, usesTile, t]); + }, [model, upscaleModel, tileControlnetModel, usesTile, simpleUpscaleModel, t]); const handleGoToModelManager = useCallback(() => { dispatch(setActiveTab('models')); From 89914fe77b79f00afc48d9a268721fc73803eca8 Mon Sep 17 00:00:00 2001 From: chainchompa Date: Tue, 23 Jul 2024 16:35:50 -0400 Subject: [PATCH 2/4] fix board handling for simple upscale --- .../web/src/features/nodes/util/graph/buildAdHocUpscaleGraph.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/invokeai/frontend/web/src/features/nodes/util/graph/buildAdHocUpscaleGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graph/buildAdHocUpscaleGraph.ts index 0c6a0803ad6..2ba15692771 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graph/buildAdHocUpscaleGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graph/buildAdHocUpscaleGraph.ts @@ -1,5 +1,6 @@ import type { RootState } from 'app/store/store'; import { fetchModelConfigWithTypeGuard } from 'features/metadata/util/modelFetchingHelpers'; +import { getBoardField } from 'features/nodes/util/graph/graphBuilderUtils'; import { type ImageDTO, type Invocation, @@ -27,6 +28,7 @@ export const buildAdHocUpscaleGraph = async ({ image, state }: Arg): Promise Date: Tue, 23 Jul 2024 16:43:30 -0400 Subject: [PATCH 3/4] clean up useIsAllowedToUpscale since its no longer necessary --- .../listeners/upscaleRequested.ts | 17 ---- .../Upscale/ParamUpscaleSettings.tsx | 12 ++- .../parameters/hooks/useIsAllowedToUpscale.ts | 84 ------------------- 3 files changed, 5 insertions(+), 108 deletions(-) delete mode 100644 invokeai/frontend/web/src/features/parameters/hooks/useIsAllowedToUpscale.ts diff --git a/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/upscaleRequested.ts b/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/upscaleRequested.ts index d5fd1ae8caf..d2e40b46641 100644 --- a/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/upscaleRequested.ts +++ b/invokeai/frontend/web/src/app/store/middleware/listenerMiddleware/listeners/upscaleRequested.ts @@ -3,7 +3,6 @@ import { logger } from 'app/logging/logger'; import type { AppStartListening } from 'app/store/middleware/listenerMiddleware'; import { parseify } from 'common/util/serialize'; import { buildAdHocUpscaleGraph } from 'features/nodes/util/graph/buildAdHocUpscaleGraph'; -import { createIsAllowedToUpscaleSelector } from 'features/parameters/hooks/useIsAllowedToUpscale'; import { toast } from 'features/toast/toast'; import { t } from 'i18next'; import { queueApi } from 'services/api/endpoints/queue'; @@ -20,22 +19,6 @@ export const addUpscaleRequestedListener = (startAppListening: AppStartListening const { imageDTO } = action.payload; const state = getState(); - const { isAllowedToUpscale, detailTKey } = createIsAllowedToUpscaleSelector(imageDTO)(state); - - // if we can't upscale, show a toast and return - if (!isAllowedToUpscale) { - log.error( - { imageDTO }, - t(detailTKey ?? 'parameters.isAllowedToUpscale.tooLarge') // should never coalesce - ); - toast({ - id: 'NOT_ALLOWED_TO_UPSCALE', - title: t(detailTKey ?? 'parameters.isAllowedToUpscale.tooLarge'), // should never coalesce - status: 'error', - }); - return; - } - const enqueueBatchArg: BatchConfig = { prepend: true, batch: { diff --git a/invokeai/frontend/web/src/features/parameters/components/Upscale/ParamUpscaleSettings.tsx b/invokeai/frontend/web/src/features/parameters/components/Upscale/ParamUpscaleSettings.tsx index 99adbb0e0eb..9c5a5c943a1 100644 --- a/invokeai/frontend/web/src/features/parameters/components/Upscale/ParamUpscaleSettings.tsx +++ b/invokeai/frontend/web/src/features/parameters/components/Upscale/ParamUpscaleSettings.tsx @@ -9,8 +9,7 @@ import { useDisclosure, } from '@invoke-ai/ui-library'; import { upscaleRequested } from 'app/store/middleware/listenerMiddleware/listeners/upscaleRequested'; -import { useAppDispatch } from 'app/store/storeHooks'; -import { useIsAllowedToUpscale } from 'features/parameters/hooks/useIsAllowedToUpscale'; +import { useAppDispatch, useAppSelector } from 'app/store/storeHooks'; import { useIsQueueMutationInProgress } from 'features/queue/hooks/useIsQueueMutationInProgress'; import { UpscaleWarning } from 'features/settingsAccordions/components/UpscaleSettingsAccordion/UpscaleWarning'; import { memo, useCallback } from 'react'; @@ -25,18 +24,18 @@ type Props = { imageDTO?: ImageDTO }; const ParamUpscalePopover = (props: Props) => { const { imageDTO } = props; const dispatch = useAppDispatch(); + const { simpleUpscaleModel } = useAppSelector((s) => s.upscale); const inProgress = useIsQueueMutationInProgress(); const { t } = useTranslation(); const { isOpen, onOpen, onClose } = useDisclosure(); - const { isAllowedToUpscale, detail } = useIsAllowedToUpscale(imageDTO); const handleClickUpscale = useCallback(() => { onClose(); - if (!imageDTO || !isAllowedToUpscale) { + if (!imageDTO) { return; } dispatch(upscaleRequested({ imageDTO })); - }, [dispatch, imageDTO, isAllowedToUpscale, onClose]); + }, [dispatch, imageDTO, onClose]); return ( @@ -54,9 +53,8 @@ const ParamUpscalePopover = (props: Props) => {