From b8e41fd244c68b2063193a488e7964ad5ffcb63b Mon Sep 17 00:00:00 2001 From: Fluffy Jenkins Date: Tue, 28 Jan 2020 22:06:27 +0000 Subject: [PATCH 1/3] Added basic beta default scripts feature --- scripts/defaultScripts.js | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/scripts/defaultScripts.js b/scripts/defaultScripts.js index 795458f05d..8ba12f8e8b 100644 --- a/scripts/defaultScripts.js +++ b/scripts/defaultScripts.js @@ -39,7 +39,7 @@ var DEFAULT_SCRIPTS_COMBINED = [ var DEFAULT_SCRIPTS_SEPARATE = [ "system/controllers/controllerScripts.js", "communityModules/notificationCore/notificationCore.js", - "communityModules/chat/FloofChat.js" + {"stable": "communityModules/chat/FloofChat.js", "beta": "https://content.fluffy.ws/scripts/chat/FloofChat.js"} //"system/chat.js" ]; @@ -53,7 +53,8 @@ var MENU_CATEGORY = "Developer > Scripting"; var MENU_ITEM = "Debug defaultScripts.js"; var SETTINGS_KEY = '_debugDefaultScriptsIsChecked'; -var previousSetting = Settings.getValue(SETTINGS_KEY); +var SETTINGS_KEY_BETA = '_betaDefaultScriptsIsChecked'; +var previousSetting = Settings.getValue(SETTINGS_KEY, false); if (previousSetting === '' || previousSetting === false || previousSetting === 'false') { previousSetting = false; @@ -71,23 +72,31 @@ if (Menu.menuExists(MENU_CATEGORY) && !Menu.menuItemExists(MENU_CATEGORY, MENU_I isChecked: previousSetting, }); } - function loadSeparateDefaults() { var currentlyRunningScripts = ScriptDiscoveryService.getRunning(); for (var i in DEFAULT_SCRIPTS_SEPARATE) { var shouldLoadCurrentDefaultScript = true; + var scriptItem = DEFAULT_SCRIPTS_SEPARATE[i]; + if (typeof scriptItem === "object") { + if (previousSettingBeta) { + console.info("Loading Beta item " + scriptItem.beta); + scriptItem = scriptItem.beta; + } else { + scriptItem = scriptItem.stable; + } + } for (var j = 0; j < currentlyRunningScripts.length; j++) { var currentRunningScriptObject = currentlyRunningScripts[j]; - var currentDefaultScriptName = DEFAULT_SCRIPTS_SEPARATE[i].substr((DEFAULT_SCRIPTS_SEPARATE[i].lastIndexOf("/") + 1), DEFAULT_SCRIPTS_SEPARATE[i].length); + var currentDefaultScriptName = scriptItem.substr((scriptItem.lastIndexOf("/") + 1), scriptItem.length); if (currentDefaultScriptName === currentRunningScriptObject.name) { shouldLoadCurrentDefaultScript = false; } } if (shouldLoadCurrentDefaultScript) { - Script.load(DEFAULT_SCRIPTS_SEPARATE[i]); + Script.load(scriptItem); } } } @@ -161,7 +170,7 @@ function removeMenuItem() { } } -Script.scriptEnding.connect(function() { +Script.scriptEnding.connect(function () { removeMenuItem(); }); From a66bbcb12564a6b6a7b53fffe06a07732467953b Mon Sep 17 00:00:00 2001 From: Fluffy Jenkins Date: Tue, 28 Jan 2020 22:23:01 +0000 Subject: [PATCH 2/3] Made fixes --- scripts/defaultScripts.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/scripts/defaultScripts.js b/scripts/defaultScripts.js index 8ba12f8e8b..af802ddc1e 100644 --- a/scripts/defaultScripts.js +++ b/scripts/defaultScripts.js @@ -54,7 +54,8 @@ var MENU_ITEM = "Debug defaultScripts.js"; var SETTINGS_KEY = '_debugDefaultScriptsIsChecked'; var SETTINGS_KEY_BETA = '_betaDefaultScriptsIsChecked'; -var previousSetting = Settings.getValue(SETTINGS_KEY, false); +var previousSetting = Settings.getValue(SETTINGS_KEY, false);; +var previousSettingBeta = Settings.getValue(SETTINGS_KEY_BETA, false); if (previousSetting === '' || previousSetting === false || previousSetting === 'false') { previousSetting = false; @@ -91,7 +92,7 @@ function loadSeparateDefaults() { var currentRunningScriptObject = currentlyRunningScripts[j]; var currentDefaultScriptName = scriptItem.substr((scriptItem.lastIndexOf("/") + 1), scriptItem.length); if (currentDefaultScriptName === currentRunningScriptObject.name) { - shouldLoadCurrentDefaultScript = false; + ScriptDiscoveryService.stopScript(currentRunningScriptObject.url); } } From 5492759a0c8223f9838b920d4f932fefbb35ebe2 Mon Sep 17 00:00:00 2001 From: Fluffy Jenkins Date: Wed, 29 Jan 2020 19:50:23 +0000 Subject: [PATCH 3/3] Made requested changes and changed how it loads --- scripts/defaultScripts.js | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/scripts/defaultScripts.js b/scripts/defaultScripts.js index af802ddc1e..7ea1632314 100644 --- a/scripts/defaultScripts.js +++ b/scripts/defaultScripts.js @@ -54,7 +54,7 @@ var MENU_ITEM = "Debug defaultScripts.js"; var SETTINGS_KEY = '_debugDefaultScriptsIsChecked'; var SETTINGS_KEY_BETA = '_betaDefaultScriptsIsChecked'; -var previousSetting = Settings.getValue(SETTINGS_KEY, false);; +var previousSetting = Settings.getValue(SETTINGS_KEY, false); var previousSettingBeta = Settings.getValue(SETTINGS_KEY_BETA, false); if (previousSetting === '' || previousSetting === false || previousSetting === 'false') { @@ -73,6 +73,7 @@ if (Menu.menuExists(MENU_CATEGORY) && !Menu.menuItemExists(MENU_CATEGORY, MENU_I isChecked: previousSetting, }); } + function loadSeparateDefaults() { var currentlyRunningScripts = ScriptDiscoveryService.getRunning(); @@ -81,7 +82,7 @@ function loadSeparateDefaults() { var scriptItem = DEFAULT_SCRIPTS_SEPARATE[i]; if (typeof scriptItem === "object") { if (previousSettingBeta) { - console.info("Loading Beta item " + scriptItem.beta); + console.log("Loading Beta item " + scriptItem.beta); scriptItem = scriptItem.beta; } else { scriptItem = scriptItem.stable; @@ -92,7 +93,11 @@ function loadSeparateDefaults() { var currentRunningScriptObject = currentlyRunningScripts[j]; var currentDefaultScriptName = scriptItem.substr((scriptItem.lastIndexOf("/") + 1), scriptItem.length); if (currentDefaultScriptName === currentRunningScriptObject.name) { - ScriptDiscoveryService.stopScript(currentRunningScriptObject.url); + if (currentRunningScriptObject.url !== scriptItem) { + ScriptDiscoveryService.stopScript(currentRunningScriptObject.url); + } else { + shouldLoadCurrentDefaultScript = false; + } } }