diff --git a/invokeai/frontend/web/public/locales/en.json b/invokeai/frontend/web/public/locales/en.json index 28c31935ab6..3f6eb807966 100644 --- a/invokeai/frontend/web/public/locales/en.json +++ b/invokeai/frontend/web/public/locales/en.json @@ -2682,8 +2682,8 @@ "whatsNew": { "whatsNewInInvoke": "What's New in Invoke", "items": [ - "Studio state is saved to the server, allowing you to continue your work on any device.", - "Support for multiple reference images for FLUX Kontext (local model only)." + "Misc QoL: Toggle Bbox visibility, highlight nodes with errors, prevent adding node fields to Builder form multiple times, CLIP Skip metadata recallable", + "Reduced VRAM usage for multiple Kontext Ref images and VAE encoding" ], "readReleaseNotes": "Read Release Notes", "watchRecentReleaseVideos": "Watch Recent Release Videos", diff --git a/invokeai/frontend/web/src/app/components/InvokeAIUI.tsx b/invokeai/frontend/web/src/app/components/InvokeAIUI.tsx index 35bf653092f..3285f31ec01 100644 --- a/invokeai/frontend/web/src/app/components/InvokeAIUI.tsx +++ b/invokeai/frontend/web/src/app/components/InvokeAIUI.tsx @@ -98,7 +98,7 @@ const InvokeAIUI = ({ loggingOverrides, onClickGoToModelManager, whatsNew, - storagePersistDebounce = 2000, + storagePersistDebounce = 300, }: Props) => { const [store, setStore] = useState | undefined>(undefined); const [didRehydrate, setDidRehydrate] = useState(false); diff --git a/invokeai/frontend/web/src/services/events/onInvocationComplete.tsx b/invokeai/frontend/web/src/services/events/onInvocationComplete.tsx index 6835ab00f7d..d7972ba0a49 100644 --- a/invokeai/frontend/web/src/services/events/onInvocationComplete.tsx +++ b/invokeai/frontend/web/src/services/events/onInvocationComplete.tsx @@ -5,6 +5,7 @@ import { selectAutoSwitch, selectGalleryView, selectGetImageNamesQueryArgs, + selectListBoardsQueryArgs, selectSelectedBoardId, } from 'features/gallery/store/gallerySelectors'; import { boardIdSelected, galleryViewChanged, imageSelected } from 'features/gallery/store/gallerySlice'; @@ -76,6 +77,14 @@ export const buildOnInvocationComplete = ( } dispatch(boardsApi.util.upsertQueryEntries(entries)); + dispatch( + boardsApi.util.updateQueryData('listAllBoards', selectListBoardsQueryArgs(getState()), (draft) => { + for (const board of draft) { + board.image_count = board.image_count + (boardTotalAdditions[board.board_id] ?? 0); + } + }) + ); + /** * Optimistic update and cache invalidation for image names queries that match this image's board and categories. * - Optimistic update for the cache that does not have a search term (we cannot derive the correct insertion diff --git a/invokeai/version/invokeai_version.py b/invokeai/version/invokeai_version.py index 833eacf4541..6da2d53997d 100644 --- a/invokeai/version/invokeai_version.py +++ b/invokeai/version/invokeai_version.py @@ -1 +1 @@ -__version__ = "6.3.0" +__version__ = "6.4.0rc1"