diff --git a/packages/editor-ui/src/App.vue b/packages/editor-ui/src/App.vue index aba2c0e8d9..1ee26df2d7 100644 --- a/packages/editor-ui/src/App.vue +++ b/packages/editor-ui/src/App.vue @@ -56,7 +56,6 @@ import { useCloudPlanStore, useSourceControlStore, useUsageStore, - usePushConnectionStore, } from '@/stores'; import { useHistoryHelper } from '@/composables/useHistoryHelper'; import { useRoute } from 'vue-router'; @@ -93,7 +92,6 @@ export default defineComponent({ useSourceControlStore, useCloudPlanStore, useUsageStore, - usePushConnectionStore, ), defaultLocale(): string { return this.rootStore.defaultLocale; @@ -122,7 +120,6 @@ export default defineComponent({ void initializeAuthenticatedFeatures(); void runExternalHook('app.mount'); - this.pushStore.pushConnect(); this.loading = false; }, watch: { diff --git a/packages/editor-ui/src/stores/pushConnection.store.ts b/packages/editor-ui/src/stores/pushConnection.store.ts index cb199d26b5..e7a2f68bc1 100644 --- a/packages/editor-ui/src/stores/pushConnection.store.ts +++ b/packages/editor-ui/src/stores/pushConnection.store.ts @@ -149,6 +149,7 @@ export const usePushConnectionStore = defineStore(STORES.PUSH, () => { isConnectionOpen, addEventListener, pushConnect, + pushDisconnect, send, }; }); diff --git a/packages/editor-ui/src/views/NodeView.vue b/packages/editor-ui/src/views/NodeView.vue index 94c3c0317e..bb72c700f8 100644 --- a/packages/editor-ui/src/views/NodeView.vue +++ b/packages/editor-ui/src/views/NodeView.vue @@ -331,6 +331,7 @@ import { useHistoryStore, useExternalSecretsStore, useCollaborationStore, + usePushConnectionStore, } from '@/stores'; import * as NodeViewUtils from '@/utils/nodeViewUtils'; import { getAccountAge, getConnectionInfo, getNodeViewTab } from '@/utils'; @@ -560,6 +561,7 @@ export default defineComponent({ useHistoryStore, useExternalSecretsStore, useCollaborationStore, + usePushConnectionStore, ), nativelyNumberSuffixedDefaults(): string[] { return this.nodeTypesStore.nativelyNumberSuffixedDefaults; @@ -4674,6 +4676,11 @@ export default defineComponent({ dataPinningEventBus.off('unpin-data', this.removePinDataConnections); nodeViewEventBus.off('saveWorkflow', this.saveCurrentWorkflowExternal); }, + beforeMount() { + if (!this.isDemo) { + this.pushStore.pushConnect(); + } + }, beforeUnmount() { // Make sure the event listeners get removed again else we // could add up with them registered multiple times @@ -4681,6 +4688,10 @@ export default defineComponent({ document.removeEventListener('keyup', this.keyUp); this.unregisterCustomAction('showNodeCreator'); + if (!this.isDemo) { + this.pushStore.pushDisconnect(); + } + this.resetWorkspace(); this.instance.unbind(); this.instance.destroy();