From 8a2c8c56dc813a6559d52c29d609e5387b2202dd Mon Sep 17 00:00:00 2001 From: Michael Geers Date: Sat, 6 Jun 2026 18:07:00 +0200 Subject: [PATCH] chore: fix flaky pv meter and soc range tests (#30570) --- assets/js/components/Helper/GenericModal.vue | 8 ++++++-- tests/simulator.ts | 3 ++- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/assets/js/components/Helper/GenericModal.vue b/assets/js/components/Helper/GenericModal.vue index 381fc5319..413358a91 100644 --- a/assets/js/components/Helper/GenericModal.vue +++ b/assets/js/components/Helper/GenericModal.vue @@ -96,8 +96,12 @@ export default defineComponent({ this.$emit("opened"); if (this.autofocus) { this.$nextTick(() => { - const firstInput = - this.$refs["modalBody"]?.querySelector("input, select, button"); + const modalBody = this.$refs["modalBody"]; + // don't steal focus if user already interacts with the modal content + if (modalBody?.contains(document.activeElement)) { + return; + } + const firstInput = modalBody?.querySelector("input, select, button"); if (firstInput instanceof HTMLElement) { firstInput.focus(); } diff --git a/tests/simulator.ts b/tests/simulator.ts index bdc0078a0..73e1f36be 100644 --- a/tests/simulator.ts +++ b/tests/simulator.ts @@ -49,7 +49,8 @@ export function simulatorConfig() { const input = "./tests/simulator.evcc.yaml"; const content = fs.readFileSync(input, "utf8"); const result = content.replace(/localhost:7072/g, simulatorHost()); - const resultName = "simulator.evcc.generated.yaml"; + // per-worker file name, multiple workers write their own port concurrently + const resultName = `simulator-${workerPort()}.evcc.generated.yaml`; const resultPath = path.join(os.tmpdir(), resultName); fs.writeFileSync(resultPath, result); return resultPath;