From 1090c8e1be196ef5067c7a25a3fdad44042a33ab Mon Sep 17 00:00:00 2001
From: Kasen IO <kasenvr@gmail.com>
Date: Fri, 28 Feb 2020 10:08:54 -0500
Subject: [PATCH 1/3] Adds menu toggle for beta default scripts.

---
 scripts/defaultScripts.js | 35 +++++++++++++++++++++++++++++++++--
 1 file changed, 33 insertions(+), 2 deletions(-)

diff --git a/scripts/defaultScripts.js b/scripts/defaultScripts.js
index 2b91c7cbbd..5f13f25e54 100644
--- a/scripts/defaultScripts.js
+++ b/scripts/defaultScripts.js
@@ -54,6 +54,9 @@ if (Window.interstitialModeEnabled) {
 var MENU_CATEGORY = "Developer > Scripting";
 var MENU_ITEM = "Debug defaultScripts.js";
 
+var MENU_BETA_DEFAULT_SCRIPTS_CATEGORY = "Developer > Scripting";
+var MENU_BETA_DEFAULT_SCRIPTS_ITEM = "Enable Beta Default Scripts";
+
 var SETTINGS_KEY = '_debugDefaultScriptsIsChecked';
 var SETTINGS_KEY_BETA = '_betaDefaultScriptsIsChecked';
 var previousSetting = Settings.getValue(SETTINGS_KEY, false);
@@ -67,6 +70,14 @@ if (previousSetting === true || previousSetting === 'true') {
     previousSetting = true;
 }
 
+if (previousSettingBeta === '' || previousSettingBeta === false || previousSettingBeta === 'false') {
+    previousSettingBeta = false;
+}
+
+if (previousSettingBeta === true || previousSettingBeta === 'true') {
+    previousSettingBeta = true;
+}
+
 if (Menu.menuExists(MENU_CATEGORY) && !Menu.menuItemExists(MENU_CATEGORY, MENU_ITEM)) {
     Menu.addMenuItem({
         menuName: MENU_CATEGORY,
@@ -76,6 +87,15 @@ if (Menu.menuExists(MENU_CATEGORY) && !Menu.menuItemExists(MENU_CATEGORY, MENU_I
     });
 }
 
+if (Menu.menuExists(MENU_BETA_DEFAULT_SCRIPTS_CATEGORY) && !Menu.menuItemExists(MENU_BETA_DEFAULT_SCRIPTS_CATEGORY, MENU_BETA_DEFAULT_SCRIPTS_ITEM)) {
+    Menu.addMenuItem({
+        menuName: MENU_BETA_DEFAULT_SCRIPTS_CATEGORY,
+        menuItemName: MENU_BETA_DEFAULT_SCRIPTS_ITEM,
+        isCheckable: true,
+        isChecked: previousSettingBeta,
+    });
+}
+
 function loadSeparateDefaults() {
     var currentlyRunningScripts = ScriptDiscoveryService.getRunning();
 
@@ -169,17 +189,28 @@ function menuItemEvent(menuItem) {
             Settings.setValue(SETTINGS_KEY, false);
         }
         Menu.triggerOption("Reload All Scripts");
+    } 
+    if (menuItem === MENU_BETA_DEFAULT_SCRIPTS_ITEM) {
+        var isChecked = Menu.isOptionChecked(MENU_BETA_DEFAULT_SCRIPTS_ITEM);
+        if (isChecked === true) {
+            Settings.setValue(SETTINGS_KEY_BETA, true);
+        } else if (isChecked === false) {
+            Settings.setValue(SETTINGS_KEY_BETA, false);
+        }
     }
 }
 
-function removeMenuItem() {
+function removeMenuItems() {
     if (!Menu.isOptionChecked(MENU_ITEM)) {
         Menu.removeMenuItem(MENU_CATEGORY, MENU_ITEM);
     }
+    if (!Menu.isOptionChecked(MENU_BETA_DEFAULT_SCRIPTS_ITEM)) {
+        Menu.removeMenuItem(MENU_BETA_DEFAULT_SCRIPTS_CATEGORY, MENU_BETA_DEFAULT_SCRIPTS_ITEM);
+    }
 }
 
 Script.scriptEnding.connect(function () {
-    removeMenuItem();
+    removeMenuItems();
 });
 
 Menu.menuItemEvent.connect(menuItemEvent);

From aa8d8f0aefd2e7211f13e053fd2a547e6dde257f Mon Sep 17 00:00:00 2001
From: Kasen IO <kasenvr@gmail.com>
Date: Sat, 29 Feb 2020 17:26:20 -0500
Subject: [PATCH 2/3] CR revisions.

---
 scripts/defaultScripts.js | 25 +++++++++++++------------
 1 file changed, 13 insertions(+), 12 deletions(-)

diff --git a/scripts/defaultScripts.js b/scripts/defaultScripts.js
index 5f13f25e54..980992b159 100644
--- a/scripts/defaultScripts.js
+++ b/scripts/defaultScripts.js
@@ -83,17 +83,18 @@ if (Menu.menuExists(MENU_CATEGORY) && !Menu.menuItemExists(MENU_CATEGORY, MENU_I
         menuName: MENU_CATEGORY,
         menuItemName: MENU_ITEM,
         isCheckable: true,
-        isChecked: previousSetting,
+        isChecked: previousSetting
     });
 }
 
-if (Menu.menuExists(MENU_BETA_DEFAULT_SCRIPTS_CATEGORY) && !Menu.menuItemExists(MENU_BETA_DEFAULT_SCRIPTS_CATEGORY, MENU_BETA_DEFAULT_SCRIPTS_ITEM)) {
-    Menu.addMenuItem({
-        menuName: MENU_BETA_DEFAULT_SCRIPTS_CATEGORY,
-        menuItemName: MENU_BETA_DEFAULT_SCRIPTS_ITEM,
-        isCheckable: true,
-        isChecked: previousSettingBeta,
-    });
+if (Menu.menuExists(MENU_BETA_DEFAULT_SCRIPTS_CATEGORY) 
+    && !Menu.menuItemExists(MENU_BETA_DEFAULT_SCRIPTS_CATEGORY, MENU_BETA_DEFAULT_SCRIPTS_ITEM)) {
+        Menu.addMenuItem({
+            menuName: MENU_BETA_DEFAULT_SCRIPTS_CATEGORY,
+            menuItemName: MENU_BETA_DEFAULT_SCRIPTS_ITEM,
+            isCheckable: true,
+            isChecked: previousSettingBeta
+        });
 }
 
 function loadSeparateDefaults() {
@@ -183,18 +184,18 @@ loadSeparateDefaults();
 function menuItemEvent(menuItem) {
     if (menuItem === MENU_ITEM) {
         var isChecked = Menu.isOptionChecked(MENU_ITEM);
-        if (isChecked === true) {
+        if (isChecked) {
             Settings.setValue(SETTINGS_KEY, true);
-        } else if (isChecked === false) {
+        } else {
             Settings.setValue(SETTINGS_KEY, false);
         }
         Menu.triggerOption("Reload All Scripts");
     } 
     if (menuItem === MENU_BETA_DEFAULT_SCRIPTS_ITEM) {
         var isChecked = Menu.isOptionChecked(MENU_BETA_DEFAULT_SCRIPTS_ITEM);
-        if (isChecked === true) {
+        if (isChecked) {
             Settings.setValue(SETTINGS_KEY_BETA, true);
-        } else if (isChecked === false) {
+        } else {
             Settings.setValue(SETTINGS_KEY_BETA, false);
         }
     }

From 30b5a28f4eac7b19abec682909165925b671180c Mon Sep 17 00:00:00 2001
From: Kasen IO <kasenvr@gmail.com>
Date: Wed, 4 Mar 2020 10:46:16 -0500
Subject: [PATCH 3/3] Remove unnecessary checks.

---
 scripts/defaultScripts.js | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/scripts/defaultScripts.js b/scripts/defaultScripts.js
index 980992b159..88a33be85f 100644
--- a/scripts/defaultScripts.js
+++ b/scripts/defaultScripts.js
@@ -62,19 +62,19 @@ var SETTINGS_KEY_BETA = '_betaDefaultScriptsIsChecked';
 var previousSetting = Settings.getValue(SETTINGS_KEY, false);
 var previousSettingBeta = Settings.getValue(SETTINGS_KEY_BETA, false);
 
-if (previousSetting === '' || previousSetting === false || previousSetting === 'false') {
+if (previousSetting === '' || previousSetting === 'false') {
     previousSetting = false;
 }
 
-if (previousSetting === true || previousSetting === 'true') {
+if (previousSetting === 'true') {
     previousSetting = true;
 }
 
-if (previousSettingBeta === '' || previousSettingBeta === false || previousSettingBeta === 'false') {
+if (previousSettingBeta === '' || previousSettingBeta === 'false') {
     previousSettingBeta = false;
 }
 
-if (previousSettingBeta === true || previousSettingBeta === 'true') {
+if (previousSettingBeta === 'true') {
     previousSettingBeta = true;
 }