Revert "fix: harden automatic mobile boards"

This reverts commit d0b9348b86.
This commit is contained in:
ajnart committed 2026-08-13 19:55:19 +02:00
1 parent 967ed8dd73
commit e93293f8a9
22 files changed
+69 -491

No files matched your search

@@ -31,17 +31,6 @@ afterEach(() => {
vi.useRealTimers();
});
const createDeferred = <T>() => {
let resolve!: (value: T) => void;
let reject!: (reason: unknown) => void;
const promise = new Promise<T>((resolvePromise, rejectPromise) => {
resolve = resolvePromise;
reject = rejectPromise;
});
return { promise, reject, resolve };
};
describe("createRequestHandler", () => {
it("deduplicates in-flight work and caches completed data", async () => {
let calls = 0;
@@ -232,47 +221,4 @@ describe("createWidgetRequestHandler", () => {
await expect(handler.handler({ id: "two" }).getDataAsync()).resolves.toMatchObject({ data: "two-2" });
expect(calls).toBe(2);
});
test("does not let a pre-invalidation request overwrite a newer cached result", async () => {
const first = createDeferred<string>();
const second = createDeferred<string>();
const requestAsync = vi.fn().mockReturnValueOnce(first.promise).mockReturnValueOnce(second.promise);
const requestHandler = createRequestHandler({ requestAsync });
const handler = requestHandler.handler({ integrationId: "first" });
const oldRequest = handler.getDataWithProvenanceAsync();
requestHandler.invalidateCache();
const newRequest = handler.getDataWithProvenanceAsync();
second.resolve("new");
await expect(newRequest).resolves.toMatchObject({ data: "new" });
first.resolve("old");
await expect(oldRequest).resolves.toMatchObject({ data: "old" });
await expect(handler.getDataWithProvenanceAsync()).resolves.toMatchObject({ data: "new" });
expect(requestAsync).toHaveBeenCalledTimes(2);
});
test("does not let a pre-invalidation request clear a newer inflight request", async () => {
const first = createDeferred<string>();
const second = createDeferred<string>();
const requestAsync = vi.fn().mockReturnValueOnce(first.promise).mockReturnValueOnce(second.promise);
const requestHandler = createRequestHandler({ requestAsync });
const handler = requestHandler.handler({ integrationId: "first" });
const oldRequest = handler.getDataWithProvenanceAsync();
requestHandler.invalidateCache();
const newRequest = handler.getDataWithProvenanceAsync();
first.resolve("old");
await expect(oldRequest).resolves.toMatchObject({ data: "old" });
const sharedNewRequest = handler.getDataWithProvenanceAsync();
expect(requestAsync).toHaveBeenCalledTimes(2);
second.resolve("new");
await expect(Promise.all([newRequest, sharedNewRequest])).resolves.toEqual([
expect.objectContaining({ data: "new" }),
expect.objectContaining({ data: "new" }),
]);
});
});