diff --git a/src/common/util.ts b/src/common/util.ts
index 1169cb4a..1a9d1d4b 100644
--- a/src/common/util.ts
+++ b/src/common/util.ts
@@ -703,6 +703,10 @@ export function replaceAll(s:string, search:string, replace:string) : string {
return s.split(search).join(replace);
}
+export function isProductionHost() : boolean {
+ return typeof window != 'undefined' && window.location.host.endsWith('8bitworkshop.com');
+}
+
export function getCookie(name: string) : string {
var nameEQ = name + "=";
var ca = document.cookie.split(';');
diff --git a/src/ide/settings.ts b/src/ide/settings.ts
index c9e7353d..154e7bdd 100644
--- a/src/ide/settings.ts
+++ b/src/ide/settings.ts
@@ -2,6 +2,7 @@ import { closeBrackets, deleteBracketPair } from "@codemirror/autocomplete";
import { indentUnit } from "@codemirror/language";
import { Compartment, EditorState, Extension } from "@codemirror/state";
import { EditorView, highlightSpecialChars, highlightTrailingWhitespace, highlightWhitespace, keymap } from "@codemirror/view";
+import { isProductionHost } from "../common/util";
import { debugHighlightTagsTooltip } from "./views/debug";
import { insertTabKeymap, smartIndentKeymap } from "./views/tabs";
@@ -86,6 +87,7 @@ export function applySettingsToAll(settings: EditorSettings) {
export function openSettings() {
var settings = loadSettings();
+ var showInternal = !isProductionHost();
bootbox.dialog({
onEscape: true,
title: "Settings",
@@ -97,9 +99,11 @@ export function openSettings() {
+ ${showInternal ? `
8bitworkshop IDE internal settings
+ ` : ''}
`,
buttons: {
cancel: {
@@ -116,7 +120,7 @@ export function openSettings() {
settings.highlightWhitespace = $('#setting_highlightWhitespace').is(':checked');
settings.highlightTrailingWhitespace = $('#setting_highlightTrailingWhitespace').is(':checked');
settings.closeBrackets = $('#setting_closeBrackets').is(':checked');
- settings.debugHighlightTags = $('#setting_debugHighlightTags').is(':checked');
+ if (showInternal) settings.debugHighlightTags = $('#setting_debugHighlightTags').is(':checked');
saveSettings(settings);
applySettingsToAll(settings);
}
diff --git a/src/ide/ui.ts b/src/ide/ui.ts
index 60f9a97c..8021ac85 100644
--- a/src/ide/ui.ts
+++ b/src/ide/ui.ts
@@ -7,7 +7,7 @@ import { EmuHalt, PLATFORMS } from "../common/emu";
import { StateRecorderImpl } from "../common/recorder";
import {
arrayCompare, byteArrayToUTF8, decodeQueryString, getBasePlatform, getCookie, getFilenameForPath, getFilenamePrefix,
- getRootBasePlatform, getWithBinary, hex, highlightDifferences, isProbablyBinary, loadScript, parseBool, stringToByteArray
+ getRootBasePlatform, getWithBinary, hex, highlightDifferences, isProbablyBinary, isProductionHost, loadScript, parseBool, stringToByteArray
} from "../common/util";
import { getSkeletonName, getToolMeta } from "../common/toolmeta";
import { FileData, WorkerError, WorkerResult } from "../common/workertypes";
@@ -1824,7 +1824,7 @@ async function showWelcomeMessage() {
content: "This site works best on desktop browsers. For best results, rotate your device to landscape orientation."
});
}
- if (window.location.host.endsWith('8bitworkshop.com')) {
+ if (isProductionHost()) {
steps.unshift({
element: "#dropdownMenuButton",
placement: 'right',
@@ -2285,7 +2285,7 @@ function _switchToHTTPS() {
}
function redirectToHTTPS() {
- if (window.location.protocol == 'http:' && window.location.host == '8bitworkshop.com') {
+ if (window.location.protocol == 'http:' && isProductionHost()) {
if (shouldRedirectHTTPS()) {
uninstallErrorHandler();
window.location.replace(window.location.href.replace(/^http:/, 'https:'));