diff --git a/src/core/Utils.js b/src/core/Utils.js index a72a319c..877f1f82 100755 --- a/src/core/Utils.js +++ b/src/core/Utils.js @@ -903,9 +903,9 @@ const Utils = { * "Pretty" CyberChef recipe formats are designed to be included in the fragment (#) or query (?) * parts of the URL. They can also be loaded into CyberChef through the 'Load' interface. In order * to make this format as readable as possible, various special characters are used unescaped. This - * reduces the amount of percent-encoding included in the URL which is typically difficult to read, - * as well as substantially increasing the overall length. These characteristics can be quite - * offputting for users. + * reduces the amount of percent-encoding included in the URL which is typically difficult to read + * and substantially increases the overall length. These characteristics can be quite off-putting + * for users. * * @param {Object[]} recipeConfig * @param {boolean} newline - whether to add a newline after each operation @@ -922,12 +922,11 @@ const Utils = { name = op.op.replace(/ /g, "_"); args = JSON.stringify(op.args) .slice(1, -1) // Remove [ and ] as they are implied - // We now need to switch double-quoted (") strings to single-quotes (') as these do not - // need to be percent-encoded. + // We now need to switch double-quoted (") strings to single quotes (') as single quotes + // do not need to be percent-encoded. .replace(/'/g, "\\'") // Escape single quotes - .replace(/\\"/g, '"') // Unescape double quotes - .replace(/(^|,|{|:)"/g, "$1'") // Replace opening " with ' - .replace(/"(,|:|}|$)/g, "'$1"); // Replace closing " with ' + .replace(/"((?:[^"\\]|\\.)*)"/g, "'$1'") // Replace opening and closing " with ' + .replace(/\\"/g, '"'); // Unescape double quotes disabled = op.disabled ? "/disabled": ""; bp = op.breakpoint ? "/breakpoint" : ""; diff --git a/src/web/App.js b/src/web/App.js index f60420ae..13e57c9e 100755 --- a/src/web/App.js +++ b/src/web/App.js @@ -443,6 +443,7 @@ App.prototype.getRecipeConfig = function() { /** * Given a recipe configuration, sets the recipe to that configuration. * + * @fires Manager#statechange * @param {Object[]} recipeConfig - The recipe configuration */ App.prototype.setRecipeConfig = function(recipeConfig) { @@ -487,6 +488,7 @@ App.prototype.setRecipeConfig = function(recipeConfig) { // Unpause auto bake this.autoBakePause = false; + window.disptchEent(this.manager.statechange); };