diff --git a/desktop/src/components/chat/AuthedImage.test.tsx b/desktop/src/components/chat/AuthedImage.test.tsx index 22e606c2..f2dc55a8 100644 --- a/desktop/src/components/chat/AuthedImage.test.tsx +++ b/desktop/src/components/chat/AuthedImage.test.tsx @@ -28,6 +28,7 @@ describe('AuthedImage', () => { fireEvent.error(screen.getByRole('img')) await waitFor(() => expect(screen.getByRole('img')).toHaveAttribute('src', 'blob:x')) + expect(fetchServerImageBlobUrl).toHaveBeenCalledWith('http://127.0.0.1:1/a.png') expect(onFailure).not.toHaveBeenCalled() }) @@ -72,6 +73,7 @@ describe('AuthedImage', () => { await waitFor(() => expect(screen.getByRole('img')).toHaveAttribute('src', 'blob:retry')) expect(fetchServerImageBlobUrl).toHaveBeenCalledTimes(1) + expect(fetchServerImageBlobUrl).toHaveBeenCalledWith('http://127.0.0.1:1/a.png', true) }) it('ignores duplicate bare errors while authentication is pending and reports a decode failure once', async () => { diff --git a/desktop/src/lib/useAuthedImageFallback.ts b/desktop/src/lib/useAuthedImageFallback.ts index fe320333..2399844e 100644 --- a/desktop/src/lib/useAuthedImageFallback.ts +++ b/desktop/src/lib/useAuthedImageFallback.ts @@ -38,7 +38,8 @@ export function useAuthedImageFallback(src: string | undefined, onFailure?: () = return } current.state = 'fetching' - void fetchServerImageBlobUrl(src, retryWithCredential).then((url) => { + const request = retryWithCredential ? fetchServerImageBlobUrl(src, true) : fetchServerImageBlobUrl(src) + void request.then((url) => { if (!alive.current || attempt.current !== current) { URL.revokeObjectURL(url) return