diff --git a/invokeai/app/services/invocation_cache/invocation_cache_memory.py b/invokeai/app/services/invocation_cache/invocation_cache_memory.py index a1910a0bd8..be1d0686e2 100644 --- a/invokeai/app/services/invocation_cache/invocation_cache_memory.py +++ b/invokeai/app/services/invocation_cache/invocation_cache_memory.py @@ -75,16 +75,20 @@ class MemoryInvocationCache(InvocationCacheBase): return hash(invocation.json(exclude={"id"})) def disable(self) -> None: + if self.__max_cache_size == 0: + return self.__disabled = True def enable(self) -> None: + if self.__max_cache_size == 0: + return self.__disabled = False def get_status(self) -> InvocationCacheStatus: return InvocationCacheStatus( hits=self.__hits, misses=self.__misses, - enabled=not self.__disabled, + enabled=not self.__disabled and self.__max_cache_size > 0, size=len(self.__cache), max_size=self.__max_cache_size, ) diff --git a/invokeai/frontend/web/src/features/queue/hooks/useDisableInvocationCache.ts b/invokeai/frontend/web/src/features/queue/hooks/useDisableInvocationCache.ts index 6f0f41498a..8d3288aad2 100644 --- a/invokeai/frontend/web/src/features/queue/hooks/useDisableInvocationCache.ts +++ b/invokeai/frontend/web/src/features/queue/hooks/useDisableInvocationCache.ts @@ -17,8 +17,8 @@ export const useDisableInvocationCache = () => { }); const isDisabled = useMemo( - () => !cacheStatus?.enabled || !isConnected, - [cacheStatus?.enabled, isConnected] + () => !cacheStatus?.enabled || !isConnected || cacheStatus?.max_size === 0, + [cacheStatus?.enabled, cacheStatus?.max_size, isConnected] ); const disableInvocationCache = useCallback(async () => { diff --git a/invokeai/frontend/web/src/features/queue/hooks/useEnableInvocationCache.ts b/invokeai/frontend/web/src/features/queue/hooks/useEnableInvocationCache.ts index f061dc97ec..2ffef29b19 100644 --- a/invokeai/frontend/web/src/features/queue/hooks/useEnableInvocationCache.ts +++ b/invokeai/frontend/web/src/features/queue/hooks/useEnableInvocationCache.ts @@ -17,8 +17,8 @@ export const useEnableInvocationCache = () => { }); const isDisabled = useMemo( - () => cacheStatus?.enabled || !isConnected, - [cacheStatus?.enabled, isConnected] + () => cacheStatus?.enabled || !isConnected || cacheStatus?.max_size === 0, + [cacheStatus?.enabled, cacheStatus?.max_size, isConnected] ); const enableInvocationCache = useCallback(async () => {