Skip to content

Commit 27ab355

Browse files
[refactor] Improve updates/notifications domain organization (#5590)
* [refactor] Move update-related functionality to platform/updates domain Reorganizes release management, version compatibility, and notification functionality following Domain-Driven Design principles, mirroring VSCode's architecture pattern. - Move releaseService.ts to platform/updates/common/ - Move releaseStore.ts to platform/updates/common/ - Move versionCompatibilityStore.ts to platform/updates/common/ - Move useFrontendVersionMismatchWarning.ts to platform/updates/common/ - Move toastStore.ts to platform/updates/common/ - Move ReleaseNotificationToast.vue to platform/updates/components/ - Move WhatsNewPopup.vue to platform/updates/components/ - Update 25+ import paths across codebase and tests This creates a cohesive "updates" domain containing all functionality related to software updates, version checking, release notifications, and user communication about application state changes. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]> * fix imports --------- Co-authored-by: Claude <[email protected]>
1 parent 4c8c4a1 commit 27ab355

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

49 files changed

+70
-61
lines changed

src/components/common/BackgroundImageUpload.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,8 +36,8 @@ import Button from 'primevue/button'
3636
import InputText from 'primevue/inputtext'
3737
import { ref } from 'vue'
3838
39+
import { useToastStore } from '@/platform/updates/common/toastStore'
3940
import { api } from '@/scripts/api'
40-
import { useToastStore } from '@/stores/toastStore'
4141
4242
const modelValue = defineModel<string>()
4343

src/components/dialog/content/LoadWorkflowWarning.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,9 +60,9 @@ import NoResultsPlaceholder from '@/components/common/NoResultsPlaceholder.vue'
6060
import MissingCoreNodesMessage from '@/components/dialog/content/MissingCoreNodesMessage.vue'
6161
import { useMissingNodes } from '@/composables/nodePack/useMissingNodes'
6262
import { useManagerState } from '@/composables/useManagerState'
63+
import { useToastStore } from '@/platform/updates/common/toastStore'
6364
import { useComfyManagerStore } from '@/stores/comfyManagerStore'
6465
import { useDialogStore } from '@/stores/dialogStore'
65-
import { useToastStore } from '@/stores/toastStore'
6666
import type { MissingNodeType } from '@/types/comfy'
6767
import { ManagerTab } from '@/types/comfyManagerTypes'
6868

src/components/graph/GraphCanvas.vue

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,7 @@ import type { LGraphNode } from '@/lib/litegraph/src/litegraph'
111111
import { useLitegraphSettings } from '@/platform/settings/composables/useLitegraphSettings'
112112
import { CORE_SETTINGS } from '@/platform/settings/constants/coreSettings'
113113
import { useSettingStore } from '@/platform/settings/settingStore'
114+
import { useToastStore } from '@/platform/updates/common/toastStore'
114115
import { useWorkflowService } from '@/platform/workflow/core/services/workflowService'
115116
import { useWorkflowStore } from '@/platform/workflow/management/stores/workflowStore'
116117
import { useWorkflowAutoSave } from '@/platform/workflow/persistence/composables/useWorkflowAutoSave'
@@ -131,7 +132,6 @@ import { newUserService } from '@/services/newUserService'
131132
import { useCommandStore } from '@/stores/commandStore'
132133
import { useExecutionStore } from '@/stores/executionStore'
133134
import { useNodeDefStore } from '@/stores/nodeDefStore'
134-
import { useToastStore } from '@/stores/toastStore'
135135
import { useColorPaletteStore } from '@/stores/workspace/colorPaletteStore'
136136
import { useSearchBoxStore } from '@/stores/workspace/searchBoxStore'
137137
import { useWorkspaceStore } from '@/stores/workspaceStore'
@@ -431,7 +431,9 @@ onMounted(async () => {
431431
workflowPersistence.restoreWorkflowTabsState()
432432
433433
// Initialize release store to fetch releases from comfy-api (fire-and-forget)
434-
const { useReleaseStore } = await import('@/stores/releaseStore')
434+
const { useReleaseStore } = await import(
435+
'@/platform/updates/common/releaseStore'
436+
)
435437
const releaseStore = useReleaseStore()
436438
void releaseStore.initialize()
437439

src/components/helpcenter/HelpCenterMenuContent.vue

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -144,9 +144,9 @@ import PuzzleIcon from '@/components/icons/PuzzleIcon.vue'
144144
import { useConflictAcknowledgment } from '@/composables/useConflictAcknowledgment'
145145
import { useManagerState } from '@/composables/useManagerState'
146146
import { useSettingStore } from '@/platform/settings/settingStore'
147-
import { type ReleaseNote } from '@/services/releaseService'
147+
import { type ReleaseNote } from '@/platform/updates/common/releaseService'
148+
import { useReleaseStore } from '@/platform/updates/common/releaseStore'
148149
import { useCommandStore } from '@/stores/commandStore'
149-
import { useReleaseStore } from '@/stores/releaseStore'
150150
import { ManagerTab } from '@/types/comfyManagerTypes'
151151
import { electronAPI, isElectron } from '@/utils/envUtil'
152152
import { formatVersionAnchor } from '@/utils/formatUtil'

src/components/load3d/Load3D.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,9 +102,9 @@ import {
102102
UpDirection
103103
} from '@/extensions/core/load3d/interfaces'
104104
import { useSettingStore } from '@/platform/settings/settingStore'
105+
import { useToastStore } from '@/platform/updates/common/toastStore'
105106
import type { CustomInputSpec } from '@/schemas/nodeDef/nodeDefSchemaV2'
106107
import type { ComponentWidget } from '@/scripts/domWidget'
107-
import { useToastStore } from '@/stores/toastStore'
108108
109109
const { t } = useI18n()
110110
const { widget } = defineProps<{

src/components/sidebar/SidebarHelpCenterIcon.vue

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -62,14 +62,14 @@ import { storeToRefs } from 'pinia'
6262
import { computed, onMounted } from 'vue'
6363
6464
import HelpCenterMenuContent from '@/components/helpcenter/HelpCenterMenuContent.vue'
65-
import ReleaseNotificationToast from '@/components/helpcenter/ReleaseNotificationToast.vue'
66-
import WhatsNewPopup from '@/components/helpcenter/WhatsNewPopup.vue'
6765
import { useConflictAcknowledgment } from '@/composables/useConflictAcknowledgment'
6866
import { useConflictDetection } from '@/composables/useConflictDetection'
6967
import { useSettingStore } from '@/platform/settings/settingStore'
68+
import { useReleaseStore } from '@/platform/updates/common/releaseStore'
69+
import ReleaseNotificationToast from '@/platform/updates/components/ReleaseNotificationToast.vue'
70+
import WhatsNewPopup from '@/platform/updates/components/WhatsNewPopup.vue'
7071
import { useDialogService } from '@/services/dialogService'
7172
import { useHelpCenterStore } from '@/stores/helpCenterStore'
72-
import { useReleaseStore } from '@/stores/releaseStore'
7373
7474
import SidebarIcon from './SidebarIcon.vue'
7575

src/components/toast/GlobalToast.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import { useToast } from 'primevue/usetoast'
88
import { nextTick, watch } from 'vue'
99
1010
import { useSettingStore } from '@/platform/settings/settingStore'
11-
import { useToastStore } from '@/stores/toastStore'
11+
import { useToastStore } from '@/platform/updates/common/toastStore'
1212
1313
const toast = useToast()
1414
const toastStore = useToastStore()

src/composables/auth/useFirebaseAuthActions.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@ import { ref } from 'vue'
33

44
import { useErrorHandling } from '@/composables/useErrorHandling'
55
import { t } from '@/i18n'
6+
import { useToastStore } from '@/platform/updates/common/toastStore'
67
import { useFirebaseAuthStore } from '@/stores/firebaseAuthStore'
7-
import { useToastStore } from '@/stores/toastStore'
88
import { usdToMicros } from '@/utils/formatUtil'
99

1010
/**

src/composables/graph/useSelectionOperations.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
// import { useSelectedLiteGraphItems } from '@/composables/canvas/useSelectedLiteGraphItems' // Unused for now
22
import { t } from '@/i18n'
33
import { LGraphNode } from '@/lib/litegraph/src/litegraph'
4+
import { useToastStore } from '@/platform/updates/common/toastStore'
45
import { useWorkflowStore } from '@/platform/workflow/management/stores/workflowStore'
56
import {
67
useCanvasStore,
78
useTitleEditorStore
89
} from '@/renderer/core/canvas/canvasStore'
910
import { app } from '@/scripts/app'
1011
import { useDialogService } from '@/services/dialogService'
11-
import { useToastStore } from '@/stores/toastStore'
1212

1313
/**
1414
* Composable for handling basic selection operations like copy, paste, duplicate, delete, rename

src/composables/node/useNodeImageUpload.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@ import { useNodeDragAndDrop } from '@/composables/node/useNodeDragAndDrop'
22
import { useNodeFileInput } from '@/composables/node/useNodeFileInput'
33
import { useNodePaste } from '@/composables/node/useNodePaste'
44
import type { LGraphNode } from '@/lib/litegraph/src/litegraph'
5+
import { useToastStore } from '@/platform/updates/common/toastStore'
56
import type { ResultItemType } from '@/schemas/apiSchema'
67
import { api } from '@/scripts/api'
7-
import { useToastStore } from '@/stores/toastStore'
88

99
const PASTED_IMAGE_EXPIRY_MS = 2000
1010

0 commit comments

Comments
 (0)