mirror of
https://github.com/Abdulazizzn/n8n-enterprise-unlocked.git
synced 2025-12-18 02:21:13 +00:00
feat: Enable partial exections v2 by default (#13344)
Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
This commit is contained in:
@@ -138,7 +138,6 @@ export const defaultSettings: FrontendSettings = {
|
||||
easyAIWorkflowOnboarded: false,
|
||||
partialExecution: {
|
||||
version: 1,
|
||||
enforce: false,
|
||||
},
|
||||
folders: {
|
||||
enabled: false,
|
||||
|
||||
@@ -117,44 +117,32 @@ describe('settings.store', () => {
|
||||
{
|
||||
name: 'pick the default',
|
||||
default: 1 as const,
|
||||
enforce: false,
|
||||
userVersion: -1,
|
||||
result: 1,
|
||||
},
|
||||
{
|
||||
name: "pick the user' choice",
|
||||
default: 1 as const,
|
||||
enforce: false,
|
||||
userVersion: 2,
|
||||
name: 'pick the default',
|
||||
default: 2 as const,
|
||||
userVersion: -1,
|
||||
result: 2,
|
||||
},
|
||||
{
|
||||
name: 'enforce the default',
|
||||
name: "pick the user's choice",
|
||||
default: 1 as const,
|
||||
enforce: true,
|
||||
userVersion: 2,
|
||||
result: 1,
|
||||
},
|
||||
{
|
||||
name: 'enforce the default',
|
||||
default: 2 as const,
|
||||
enforce: true,
|
||||
userVersion: 1,
|
||||
result: 2,
|
||||
},
|
||||
{
|
||||
name: 'handle values that used to be allowed in local storage',
|
||||
default: 1 as const,
|
||||
enforce: false,
|
||||
userVersion: 0,
|
||||
result: 1,
|
||||
},
|
||||
])('%name', async ({ default: defaultVersion, userVersion, enforce, result }) => {
|
||||
])('%name', async ({ default: defaultVersion, userVersion, result }) => {
|
||||
const settingsStore = useSettingsStore();
|
||||
|
||||
settingsStore.settings.partialExecution = {
|
||||
version: defaultVersion,
|
||||
enforce,
|
||||
};
|
||||
vi.mocked(useLocalStorage).mockReturnValueOnce(ref(userVersion));
|
||||
|
||||
|
||||
@@ -103,16 +103,11 @@ export const useSettingsStore = defineStore(STORES.SETTINGS, () => {
|
||||
|
||||
const partialExecutionVersion = computed(() => {
|
||||
const defaultVersion = settings.value.partialExecution?.version ?? 1;
|
||||
const enforceVersion = settings.value.partialExecution?.enforce ?? false;
|
||||
// -1 means we pick the defaultVersion
|
||||
// 1 is the old flow
|
||||
// 2 is the new flow
|
||||
const userVersion = useLocalStorage('PartialExecution.version', -1).value;
|
||||
const version = enforceVersion
|
||||
? defaultVersion
|
||||
: userVersion === -1
|
||||
? defaultVersion
|
||||
: userVersion;
|
||||
const version = userVersion === -1 ? defaultVersion : userVersion;
|
||||
|
||||
// For backwards compatibility, e.g. if the user has 0 in their local
|
||||
// storage, which used to be allowed, but not anymore.
|
||||
|
||||
@@ -682,31 +682,21 @@ describe('useWorkflowsStore', () => {
|
||||
});
|
||||
|
||||
test.each([
|
||||
// enforce true cases - the version is always the defaultVersion
|
||||
[-1, 1, true, 1], // enforce true, use default (1)
|
||||
[0, 1, true, 1], // enforce true, use default (1)
|
||||
[1, 1, true, 1], // enforce true, use default (1)
|
||||
[2, 1, true, 1], // enforce true, use default (1)
|
||||
[-1, 2, true, 2], // enforce true, use default (2)
|
||||
[0, 2, true, 2], // enforce true, use default (2)
|
||||
[1, 2, true, 2], // enforce true, use default (2)
|
||||
[2, 2, true, 2], // enforce true, use default (2)
|
||||
|
||||
// enforce false cases - check userVersion behavior
|
||||
[-1, 1, false, 1], // userVersion -1, use default (1)
|
||||
[0, 1, false, 1], // userVersion 0, invalid, use default (1)
|
||||
[1, 1, false, 1], // userVersion 1, valid, use userVersion (1)
|
||||
[2, 1, false, 2], // userVersion 2, valid, use userVersion (2)
|
||||
[-1, 2, false, 2], // userVersion -1, use default (2)
|
||||
[0, 2, false, 1], // userVersion 0, invalid, use default (2)
|
||||
[1, 2, false, 1], // userVersion 1, valid, use userVersion (1)
|
||||
[2, 2, false, 2], // userVersion 2, valid, use userVersion (2)
|
||||
] as Array<[number, 1 | 2, boolean, number]>)(
|
||||
// check userVersion behavior
|
||||
[-1, 1, 1], // userVersion -1, use default (1)
|
||||
[0, 1, 1], // userVersion 0, invalid, use default (1)
|
||||
[1, 1, 1], // userVersion 1, valid, use userVersion (1)
|
||||
[2, 1, 2], // userVersion 2, valid, use userVersion (2)
|
||||
[-1, 2, 2], // userVersion -1, use default (2)
|
||||
[0, 2, 1], // userVersion 0, invalid, use default (2)
|
||||
[1, 2, 1], // userVersion 1, valid, use userVersion (1)
|
||||
[2, 2, 2], // userVersion 2, valid, use userVersion (2)
|
||||
] as Array<[number, 1 | 2, number]>)(
|
||||
'when { userVersion:%s, defaultVersion:%s, enforced:%s } run workflow should use partial execution version %s',
|
||||
async (userVersion, defaultVersion, enforce, expectedVersion) => {
|
||||
async (userVersion, defaultVersion, expectedVersion) => {
|
||||
vi.mocked(useLocalStorage).mockReturnValueOnce(ref(userVersion));
|
||||
settingsStore.settings = {
|
||||
partialExecution: { version: defaultVersion, enforce },
|
||||
partialExecution: { version: defaultVersion },
|
||||
} as FrontendSettings;
|
||||
|
||||
const workflowData = { id: '1', nodes: [], connections: {} };
|
||||
|
||||
Reference in New Issue
Block a user