From f024bb0376fb1ffa5dcd0256b69c90032125a054 Mon Sep 17 00:00:00 2001 From: Andreas Coroiu Date: Wed, 10 Dec 2025 08:59:53 +0100 Subject: [PATCH] feat: add simulated blocking screen --- libs/common/src/services/api.service.ts | 42 +++++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/libs/common/src/services/api.service.ts b/libs/common/src/services/api.service.ts index 5f4d3de11b5..1ea5d80c4d6 100644 --- a/libs/common/src/services/api.service.ts +++ b/libs/common/src/services/api.service.ts @@ -1312,6 +1312,48 @@ export class ApiService implements ApiServiceAbstraction { } async fetch(request: Request): Promise { + let promise; + if ((window as any).cookiePromise === undefined) { + (window as any).cookiePromise = {}; + (window as any).cookiePromise.promise = promise = new Promise((resolve) => { + (window as any).cookiePromise.resolve = resolve; + }); + } else { + promise = (window as any).cookiePromise.promise; + } + + console.log("Waiting for cookie promise..."); + document.body.insertAdjacentHTML( + "beforeend", + `
+ +
+
Simulating cookie retrieval...
use window.cookiePromise.resolve() or press button beneath to continue
+ +
`, + ); + document.getElementById("spinner-btn").onclick = () => { + (window as any).cookiePromise.resolve(); + }; + await promise; + document.getElementById("spinner-wrapper")?.remove(); + console.log("Cookie promise resolved, continuing fetch..."); + if (!request.url.startsWith("https://") && !this.platformUtilsService.isDev()) { throw new InsecureUrlNotAllowedError(); }