fix(webui): prevent redundant thread and media reloads (#5164)
This commit is contained in:
@@ -103,6 +103,25 @@ describe("webui API helpers", () => {
|
||||
);
|
||||
});
|
||||
|
||||
it("aborts a WebUI thread request when its caller signal is aborted", async () => {
|
||||
let requestSignal: AbortSignal | null = null;
|
||||
vi.mocked(fetch).mockImplementation((_input, init) => new Promise((_resolve, reject) => {
|
||||
requestSignal = init?.signal ?? null;
|
||||
requestSignal?.addEventListener("abort", () => {
|
||||
reject(new DOMException("Aborted", "AbortError"));
|
||||
});
|
||||
}));
|
||||
const controller = new AbortController();
|
||||
|
||||
const request = fetchWebuiThread("tok", "websocket:chat-1", {
|
||||
signal: controller.signal,
|
||||
});
|
||||
controller.abort();
|
||||
|
||||
await expect(request).rejects.toMatchObject({ name: "AbortError" });
|
||||
expect(requestSignal?.aborted).toBe(true);
|
||||
});
|
||||
|
||||
it("percent-encodes websocket keys and paths when fetching file previews", async () => {
|
||||
await fetchFilePreview("tok", "websocket:chat-1", "/tmp/project/hook.py:12");
|
||||
|
||||
|
||||
Reference in New Issue
Block a user