From 2eeb69dd36101d32e81c70eb3c26be101839fbc5 Mon Sep 17 00:00:00 2001 From: psychedelicious <4822129+psychedelicious@users.noreply.github.com> Date: Fri, 15 Aug 2025 16:23:10 +1000 Subject: [PATCH 1/4] fix(ui): update board totals when generation completes --- .../web/src/services/events/onInvocationComplete.tsx | 9 +++++++++ 1 file changed, 9 insertions(+) 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 From bce4d01dc97477b1b8ab177fb5a6a87491a68d9b Mon Sep 17 00:00:00 2001 From: psychedelicious <4822129+psychedelicious@users.noreply.github.com> Date: Fri, 15 Aug 2025 17:02:44 +1000 Subject: [PATCH 2/4] feat(ui): reduce storage persist debounce to 300ms matches pre-server-backed-state-persistence value --- invokeai/frontend/web/src/app/components/InvokeAIUI.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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); From 03c851032176f31eaba5bde4e6deaae9bf41494c Mon Sep 17 00:00:00 2001 From: psychedelicious <4822129+psychedelicious@users.noreply.github.com> Date: Fri, 15 Aug 2025 17:19:05 +1000 Subject: [PATCH 3/4] chore(ui): update whatsnew --- invokeai/frontend/web/public/locales/en.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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", From f81938122faa5c4caf718f2dd540d6eb072334b4 Mon Sep 17 00:00:00 2001 From: psychedelicious <4822129+psychedelicious@users.noreply.github.com> Date: Fri, 15 Aug 2025 17:11:21 +1000 Subject: [PATCH 4/4] chore: bump version to v6.4.0rc1 --- invokeai/version/invokeai_version.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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"