Merge branch 'fix-testui-race-condition' of https://github.com/zb3/CyberChef into zb3-fix-testui-race-condition

This commit is contained in:
n1474335 2024-04-24 16:35:12 +01:00
commit 29efd77eaf
No known key found for this signature in database
GPG key ID: D15457B7B4AF3F37
2 changed files with 11 additions and 5 deletions

View file

@ -241,7 +241,7 @@ class App {
action: "setInput", action: "setInput",
data: { data: {
inputNum: inputNum, inputNum: inputNum,
silent: true silent: false
} }
}); });
} }
@ -507,7 +507,7 @@ class App {
// Input Character Encoding // Input Character Encoding
// Must be set before the input is loaded // Must be set before the input is loaded
if (this.uriParams.ienc) { if (this.uriParams.ienc) {
this.manager.input.chrEncChange(parseInt(this.uriParams.ienc, 10), true); this.manager.input.chrEncChange(parseInt(this.uriParams.ienc, 10), true, true);
} }
// Output Character Encoding // Output Character Encoding
@ -546,7 +546,11 @@ class App {
} }
this.autoBakePause = false; this.autoBakePause = false;
window.dispatchEvent(this.manager.statechange);
// Dispatch stateChange only if not done by setInput
if (this.uriParams.input) {
window.dispatchEvent(this.manager.statechange);
}
} }

View file

@ -217,11 +217,13 @@ class InputWaiter {
* @param {number} chrEncVal * @param {number} chrEncVal
* @param {boolean} [manual=false] * @param {boolean} [manual=false]
*/ */
chrEncChange(chrEncVal, manual=false) { chrEncChange(chrEncVal, manual=false, internal=false) {
if (typeof chrEncVal !== "number") return; if (typeof chrEncVal !== "number") return;
this.inputChrEnc = chrEncVal; this.inputChrEnc = chrEncVal;
this.encodingState = manual ? 2 : this.encodingState; this.encodingState = manual ? 2 : this.encodingState;
this.inputChange(); if (!internal) {
this.inputChange();
}
} }
/** /**