Repository: ROpdebee/mb-userscripts
Pull request #397 (2022-01-26 15:40:31)

fix(ecau): new Discogs image URLs
* Fix maximisation of single URLs.
* Fix displayed filenames.

I don't like that we have to do this, but it is what it is. Stupid Discogs with their security through obscurity.


Patch:
diff --git a/package-lock.json b/package-lock.json
index 9d6d8fd6..594af464 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -66,7 +66,7 @@
         "rollup-plugin-progress": "1.1.2",
         "sass": "1.49.0",
         "setup-polly-jest": "0.10.0",
-        "simple-git": "3.1.0",
+        "simple-git": "3.1.1",
         "terser": "5.10.0",
         "ts-jest": "27.1.3",
         "ts-node": "10.4.0",
@@ -11136,9 +11136,9 @@
       "dev": true
     },
     "node_modules/simple-git": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/simple-git/-/simple-git-3.1.0.tgz",
-      "integrity": "sha512-XpiIA5CBB8S40cJwkLhVe3ysyuLjvOrPo/xjorJl+hspFBgJFueqKXQbKhUl5Ujh2TWMt2jhxl5UTGciFnkXmA==",
+      "version": "3.1.1",
+      "resolved": "https://registry.npmjs.org/simple-git/-/simple-git-3.1.1.tgz",
+      "integrity": "sha512-VamXD/Royf2Xo7s+ASzT9fp2cJatLtz/w8zLwjOLCAq9FC9ks5mEoBUYVwXuDq4GoqDReqV5r/GM+lwx6Jucyw==",
       "dev": true,
       "dependencies": {
         "@kwsites/file-exists": "^1.1.1",
@@ -20601,9 +20601,9 @@
       "dev": true
     },
     "simple-git": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/simple-git/-/simple-git-3.1.0.tgz",
-      "integrity": "sha512-XpiIA5CBB8S40cJwkLhVe3ysyuLjvOrPo/xjorJl+hspFBgJFueqKXQbKhUl5Ujh2TWMt2jhxl5UTGciFnkXmA==",
+      "version": "3.1.1",
+      "resolved": "https://registry.npmjs.org/simple-git/-/simple-git-3.1.1.tgz",
+      "integrity": "sha512-VamXD/Royf2Xo7s+ASzT9fp2cJatLtz/w8zLwjOLCAq9FC9ks5mEoBUYVwXuDq4GoqDReqV5r/GM+lwx6Jucyw==",
       "dev": true,
       "requires": {
         "@kwsites/file-exists": "^1.1.1",
diff --git a/package.json b/package.json
index 0fa269cd..e18c62d4 100644
--- a/package.json
+++ b/package.json
@@ -74,7 +74,7 @@
     "rollup-plugin-progress": "1.1.2",
     "sass": "1.49.0",
     "setup-polly-jest": "0.10.0",
-    "simple-git": "3.1.0",
+    "simple-git": "3.1.1",
     "terser": "5.10.0",
     "ts-jest": "27.1.3",
     "ts-node": "10.4.0",
diff --git a/src/lib/logging/guiSink.scss b/src/lib/logging/guiSink.scss
new file mode 100644
index 00000000..17338bb1
--- /dev/null
+++ b/src/lib/logging/guiSink.scss
@@ -0,0 +1,40 @@
+#ROpdebee_log_container {
+    margin: 1.5rem auto;
+    width: 75%;
+
+    .msg {
+        padding: .5rem .75rem;
+        margin-bottom: .5rem;
+        width: 100%;
+        display: block;
+        border: 1px solid;
+        border-radius: 4px;
+        font-weight: 500;
+
+        // Colours come from bootstrap.
+        &.error {
+            background-color: #f8d7da;
+            color: #721c24;
+            font-weight: 600;
+            border-color: #f5c6cb;
+        }
+
+        &.warning {
+            background-color: #fff3cd;
+            color: #856404;
+            border-color: #ffeeba;
+        }
+
+        &.success {
+            background-color: #d4edda;
+            color: #155724;
+            border-color: #c3e6cb;
+        }
+
+        &.info {
+            background-color: #e2e3e5;
+            color: #383d41;
+            border-color: #d6d8db;
+        }
+    }
+}
diff --git a/src/lib/logging/guiSink.tsx b/src/lib/logging/guiSink.tsx
new file mode 100644
index 00000000..767a00ae
--- /dev/null
+++ b/src/lib/logging/guiSink.tsx
@@ -0,0 +1,75 @@
+import type { LoggingSink } from './sink';
+
+import css from './guiSink.scss';
+
+export class GuiSink implements LoggingSink {
+    readonly rootElement: HTMLElement;
+    private persistentMessages: HTMLSpanElement[] = [];
+    private transientMessages: HTMLSpanElement[] = [];
+
+    constructor() {
+        // Inject our custom CSS
+        document.head.append(<style id={'ROpdebee_GUI_Logger'}>
+            {css}
+        </style>);
+
+        this.rootElement = <div id='ROpdebee_log_container' style={{ display: 'none' }} />;
+    }
+
+    private createMessage(className: string, message: string, exception?: unknown): HTMLSpanElement {
+        let content: string;
+        if (exception && exception instanceof Error) {
+            content = message + ': ' + exception.message;
+        } else {
+            content = message;
+        }
+
+        return <span className={`msg ${className}`}>{content}</span>;
+    }
+
+    private addMessage(el: HTMLSpanElement): void {
+        this.removeTransientMessages();
+        this.rootElement.appendChild(el);
+        this.rootElement.style.display = 'block';
+    }
+
+    private removeTransientMessages(): void {
+        this.transientMessages.forEach((el) => {
+            el.remove();
+        });
+        this.transientMessages = [];
+    }
+
+    private addPersistentMessage(el: HTMLSpanElement): void {
+        this.addMessage(el);
+        this.persistentMessages.push(el);
+    }
+
+    private addTransientMessage(el: HTMLSpanElement): void {
+        this.addMessage(el);
+        this.transientMessages.push(el);
+    }
+
+    onLog(message: string): void {
+        this.addTransientMessage(this.createMessage('info', message));
+    }
+
+    onInfo = this.onLog.bind(this);
+
+    onSuccess(message: string): void {
+        this.addTransientMessage(this.createMessage('success', message));
+    }
+
+    onWarn(message: string, exception?: unknown): void {
+        this.addPersistentMessage(this.createMessage('warning', message, exception));
+    }
+
+    onError(message: string, exception?: unknown): void {
+        this.addPersistentMessage(this.createMessage('error', message, exception));
+    }
+
+    clearAllLater(): void {
+        this.transientMessages = this.transientMessages.concat(this.persistentMessages);
+        this.persistentMessages = [];
+    }
+}
diff --git a/src/lib/util/array.ts b/src/lib/util/array.ts
index 3e9c8ad0..b24e6f67 100644
--- a/src/lib/util/array.ts
+++ b/src/lib/util/array.ts
@@ -40,3 +40,10 @@ export function collatedSort(array: string[]): string[] {
     const coll = new Intl.Collator('en', { numeric: true });
     return array.sort(coll.compare.bind(coll));
 }
+
+export function* enumerate<T>(array: T[]): Iterable<[number, T]> {
+    let idx = 0;
+    for (const el of array) {
+        yield [idx++, el];
+    }
+}
diff --git a/src/mb_enhanced_cover_art_uploads/App.ts b/src/mb_enhanced_cover_art_uploads/App.ts
index 02474f29..cf4de179 100644
--- a/src/mb_enhanced_cover_art_uploads/App.ts
+++ b/src/mb_enhanced_cover_art_uploads/App.ts
@@ -1,9 +1,11 @@
 /* istanbul ignore file: Covered by E2E */
 
+import { GuiSink } from '@lib/logging/guiSink';
 import { LOGGER } from '@lib/logging/logger';
 import { EditNote } from '@lib/MB/EditNote';
 import { getURLsForRelease } from '@lib/MB/URLs';
 import { assertHasValue } from '@lib/util/assert';
+import { qs } from '@lib/util/dom';
 
 import type { FetchedImages } from './fetch';
 import type { CoverArt } from './providers/base';
@@ -12,13 +14,13 @@ import { enqueueImages, fillEditNote } from './form';
 import { getProvider } from './providers';
 import { SeedParameters } from './seeding/parameters';
 import { InputForm } from './ui/main';
-import { StatusBanner } from './ui/status_banner';
 
 export class App {
     private readonly note: EditNote;
     private readonly fetcher: ImageFetcher;
     private readonly ui: InputForm;
     private readonly urlsInProgress: Set<string>;
+    private readonly loggingSink = new GuiSink();
     onlyFront = false;
 
     constructor() {
@@ -26,9 +28,10 @@ export class App {
         this.fetcher = new ImageFetcher();
         this.urlsInProgress = new Set();
 
-        const banner = new StatusBanner();
-        LOGGER.addSink(banner);
-        this.ui = new InputForm(banner.htmlElement, this);
+        // Set up logging banner
+        LOGGER.addSink(this.loggingSink);
+        qs('.add-files').insertAdjacentElement('afterend', this.loggingSink.rootElement);
+        this.ui = new InputForm(this);
     }
 
     async processURL(url: URL): Promise<void> {
@@ -45,6 +48,10 @@ export class App {
         }
     }
 
+    clearLogLater(): void {
+        this.loggingSink.clearAllLater();
+    }
+
     private async _processURL(url: URL): Promise<void> {
         let fetchResult: FetchedImages;
         try {
@@ -98,6 +105,7 @@ export class App {
         if (totalNumImages) {
             LOGGER.success(`Successfully added ${totalNumImages} image(s)`);
         }
+        this.clearLogLater();
     }
 
     async addImportButtons(): Promise<void> {
@@ -118,6 +126,9 @@ export class App {
             this.processURL(url)
                 .catch((err) => {
                     LOGGER.error(`Failed to process URL ${url.href}`, err);
+                })
+                .finally(() => {
+                    this.clearLogLater();
                 });
         };
 
diff --git a/src/mb_enhanced_cover_art_uploads/fetch.ts b/src/mb_enhanced_cover_art_uploads/fetch.ts
index 1b515169..8e81bcd0 100644
--- a/src/mb_enhanced_cover_art_uploads/fetch.ts
+++ b/src/mb_enhanced_cover_art_uploads/fetch.ts
@@ -1,6 +1,7 @@
 import { getFromPageContext } from '@lib/compat';
 import { LOGGER } from '@lib/logging/logger';
 import { ArtworkTypeIDs } from '@lib/MB/CoverArt';
+import { enumerate } from '@lib/util/array';
 import { urlBasename } from '@lib/util/urls';
 import { gmxhr } from '@lib/util/xhr';
 
@@ -61,6 +62,7 @@ export class ImageFetcher {
             return this.fetchImagesFromProvider(url, provider, onlyFront);
         }
 
+        LOGGER.info(`Attempting to fetch ${getFilename(url)}`);
         const result = await this.fetchImageFromURL(url);
         if (!result) {
             return { images: [] };
@@ -125,12 +127,13 @@ export class ImageFetcher {
 
         LOGGER.info(`Found ${finalImages.length || 'no'} image(s) in ${provider.name} release`);
         const fetchResults: FetchedImage[] = [];
-        for (const img of finalImages) {
+        for (const [idx, img] of enumerate(finalImages)) {
             if (this.urlAlreadyAdded(img.url)) {
                 LOGGER.warn(`${getFilename(img.url)} has already been added`);
                 continue;
             }
 
+            LOGGER.info(`Fetching ${getFilename(img.url)} (${idx + 1}/${finalImages.length})`);
             try {
                 const result = await this.fetchImageFromURL(img.url, img.skipMaximisation);
                 // Maximised image already added
diff --git a/src/mb_enhanced_cover_art_uploads/maximise.ts b/src/mb_enhanced_cover_art_uploads/maximise.ts
index def9d9a9..cf3d14e5 100644
--- a/src/mb_enhanced_cover_art_uploads/maximise.ts
+++ b/src/mb_enhanced_cover_art_uploads/maximise.ts
@@ -4,7 +4,6 @@ import type { GMxmlHttpRequest } from '@lib/compat';
 import { LOGGER } from '@lib/logging/logger';
 import { retryTimes } from '@lib/util/async';
 import { DispatchMap } from '@lib/util/domain_dispatch';
-import { urlBasename } from '@lib/util/urls';
 
 import { DiscogsProvider } from './providers/discogs';
 
@@ -281,12 +280,12 @@ async function* maximiseGeneric(smallurl: URL): AsyncIterable<MaximisedImage> {
 }
 
 // Discogs
-IMU_EXCEPTIONS.set('img.discogs.com', async (smallurl) => {
+IMU_EXCEPTIONS.set('i.discogs.com', async (smallurl) => {
     // Workaround for maxurl returning broken links and webp images
     const fullSizeURL = await DiscogsProvider.maximiseImage(smallurl);
     return [{
         url: fullSizeURL,
-        filename: urlBasename(fullSizeURL),
+        filename: DiscogsProvider.getFilenameFromUrl(smallurl) ?? '',
         headers: {},
     }];
 });
diff --git a/src/mb_enhanced_cover_art_uploads/providers/discogs.ts b/src/mb_enhanced_cover_art_uploads/providers/discogs.ts
index 7297952f..25ce2362 100644
--- a/src/mb_enhanced_cover_art_uploads/providers/discogs.ts
+++ b/src/mb_enhanced_cover_art_uploads/providers/discogs.ts
@@ -1,6 +1,5 @@
 import { assert, assertHasValue } from '@lib/util/assert';
 import { safeParseJSON } from '@lib/util/json';
-import { urlBasename } from '@lib/util/urls';
 import { gmxhr } from '@lib/util/xhr';
 
 import type { CoverArt } from './base';
@@ -109,17 +108,31 @@ export class DiscogsProvider extends CoverArtProvider {
         return metadata;
     }
 
+    static getFilenameFromUrl(url: URL): string | undefined {
+        // E.g. https://i.discogs.com/aRe2RbRXu0g4PvRjrPgQKb_YmFWO3Y0CYc098S8Q1go/rs:fit/g:sm/q:90/h:600/w:576/czM6Ly9kaXNjb2dz/LWltYWdlcy9SLTk4/OTI5MTItMTU3OTQ1/NjcwNy0yMzIwLmpw/ZWc.jpeg
+        // First part is signature, everything following containing colon is param.
+        // Last part is base64-encoded S3 URL, split with slashes.
+        const urlParts = url.pathname.split('/');
+        const firstFilenameIdx = urlParts.slice(2).findIndex((urlPart) => !/^\w+:/.test(urlPart)) + 2;
+        const s3Url = urlParts.slice(firstFilenameIdx).join('');
+
+        // Cut off the extension added by Discogs, this leads to decoding errors.
+        // eslint-disable-next-line @delagen/deprecation/deprecation -- Incorrect environment
+        const s3UrlDecoded = atob(s3Url.slice(0, s3Url.indexOf('.')));
+        return s3UrlDecoded.split('/').pop();
+    }
+
     static async maximiseImage(url: URL): Promise<URL> {
         // Maximising by querying the API for all images of the release, finding
         // the right one, and extracting the "full size" (i.e., 600x600 JPEG) URL.
-        const imageName = url.pathname.match(/discogs-images\/(R-.+)$/)?.[1];
+        const imageName = this.getFilenameFromUrl(url);
         const releaseId = imageName?.match(/^R-(\d+)/)?.[1];
 
         /* istanbul ignore if: Should never happen on valid image */
         if (!releaseId) return url;
         const releaseData = await this.getReleaseImages(releaseId);
         const matchedImage = releaseData.data.release.images.edges
-            .find((img) => urlBasename(img.node.fullsize.sourceUrl) === imageName);
+            .find((img) => this.getFilenameFromUrl(new URL(img.node.fullsize.sourceUrl)) === imageName);
 
         /* istanbul ignore if: Should never happen on valid image */
         if (!matchedImage) return url;
diff --git a/src/mb_enhanced_cover_art_uploads/ui/main.scss b/src/mb_enhanced_cover_art_uploads/ui/main.scss
index 3913d142..419dd21d 100644
--- a/src/mb_enhanced_cover_art_uploads/ui/main.scss
+++ b/src/mb_enhanced_cover_art_uploads/ui/main.scss
@@ -37,24 +37,3 @@
         margin: 4px;
     }
 }
-
-#ROpdebee_paste_url_status {
-    &.info {
-        color: black;
-    }
-
-    &.warning {
-        color: orange;
-    }
-
-    // Not defining custom CSS for success and error: MB already defines its
-    // own styles for span.success and span.error and their colours are nicer
-    // than the standard red and green. We'll customise in #81.
-    /*&.success {
-        color: green;
-    }
-
-    &.error {
-        color: red;
-    }*/
-}
diff --git a/src/mb_enhanced_cover_art_uploads/ui/main.tsx b/src/mb_enhanced_cover_art_uploads/ui/main.tsx
index 4102b778..d9f3c2c3 100644
--- a/src/mb_enhanced_cover_art_uploads/ui/main.tsx
+++ b/src/mb_enhanced_cover_art_uploads/ui/main.tsx
@@ -13,7 +13,7 @@ export class InputForm {
     private readonly buttonContainer: HTMLDivElement;
     private readonly orSpan: HTMLSpanElement;
 
-    constructor(banner: HTMLElement, app: App) {
+    constructor(app: App) {
         // Inject our custom CSS
         document.head.append(<style id={'ROpdebee_' + USERSCRIPT_NAME}>
             {css}
@@ -43,6 +43,7 @@ export class InputForm {
 
                     await app.processURL(url);
                 }
+                app.clearLogLater();
 
                 if (this.urlInput.value === oldValue) {
                     this.urlInput.value = '';
@@ -69,7 +70,6 @@ export class InputForm {
             </a>
             {onlyFrontCheckbox}
             {onlyFrontLabel}
-            {banner}
         </div>;
 
         this.buttonContainer = <div className='ROpdebee_import_url_buttons buttons'/> as HTMLDivElement;


Test patch:
diff --git a/tests/test-data/__recordings__/discogs-provider_883142520/caching-API-responses_1012471802/clears-the-cache-entry-on-failure_963532173.warc b/tests/test-data/__recordings__/discogs-provider_883142520/caching-API-responses_1012471802/clears-the-cache-entry-on-failure_963532173.warc
index b6a1e880..29493156 100644
--- a/tests/test-data/__recordings__/discogs-provider_883142520/caching-API-responses_1012471802/clears-the-cache-entry-on-failure_963532173.warc
+++ b/tests/test-data/__recordings__/discogs-provider_883142520/caching-API-responses_1012471802/clears-the-cache-entry-on-failure_963532173.warc
@@ -1,8 +1,8 @@
 WARC/1.1
 WARC-Filename: discogs provider/caching API responses/clears the cache entry on failure
-WARC-Date: 2021-12-11T20:26:48.779Z
+WARC-Date: 2022-01-26T15:23:44.152Z
 WARC-Type: warcinfo
-WARC-Record-ID: <urn:uuid:47de96e5-dedb-4973-836b-3c5bb1016065>
+WARC-Record-ID: <urn:uuid:668ab8ea-9327-4a6e-aa3d-956139571022>
 Content-Type: application/warc-fields
 Content-Length: 119
 
@@ -12,11 +12,11 @@ harCreator: {"name":"Polly.JS","version":"6.0.4","comment":"persister:fs-warc"}
 
 
 WARC/1.1
-WARC-Concurrent-To: <urn:uuid:dd892440-1ad3-49a8-829c-adbc1128b1a7>
+WARC-Concurrent-To: <urn:uuid:42d2954e-f077-4156-9fc0-12ad2439e9cf>
 WARC-Target-URI: https://www.discogs.com/internal/release-page/api/graphql?operationName=ReleaseAllImages&variables=%7B%22discogsId%22%3A9892912%2C%22count%22%3A500%7D&extensions=%7B%22persistedQuery%22%3A%7B%22version%22%3A1%2C%22sha256Hash%22%3A%2213e41f41a02b02d0a7e855a71e1a02478fd2fb0a2d104b54931d649e1d7c6ecd%22%7D%7D
-WARC-Date: 2021-12-11T20:26:48.780Z
+WARC-Date: 2022-01-26T15:23:44.153Z
 WARC-Type: request
-WARC-Record-ID: <urn:uuid:c85d57bf-45ef-452e-8eb3-855949bc6f3f>
+WARC-Record-ID: <urn:uuid:945e28c2-293b-447c-b04e-dddead5e7e88>
 Content-Type: application/http; msgtype=request
 WARC-Payload-Digest: sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
 WARC-Block-Digest: sha256:a1bdef6d1b0f06fe4263adc1f5721a58326bd984be25e93aebddbfc1c4f64504
@@ -27,55 +27,55 @@ GET /internal/release-page/api/graphql?operationName=ReleaseAllImages&variables=
 
 
 WARC/1.1
-WARC-Concurrent-To: <urn:uuid:dd892440-1ad3-49a8-829c-adbc1128b1a7>
+WARC-Concurrent-To: <urn:uuid:42d2954e-f077-4156-9fc0-12ad2439e9cf>
 WARC-Target-URI: https://www.discogs.com/internal/release-page/api/graphql?operationName=ReleaseAllImages&variables=%7B%22discogsId%22%3A9892912%2C%22count%22%3A500%7D&extensions=%7B%22persistedQuery%22%3A%7B%22version%22%3A1%2C%22sha256Hash%22%3A%2213e41f41a02b02d0a7e855a71e1a02478fd2fb0a2d104b54931d649e1d7c6ecd%22%7D%7D
-WARC-Date: 2021-12-11T20:26:48.780Z
+WARC-Date: 2022-01-26T15:23:44.153Z
 WARC-Type: metadata
-WARC-Record-ID: <urn:uuid:07da82b7-1ba3-4d29-9375-ec5f6ad89a32>
+WARC-Record-ID: <urn:uuid:08577968-f1f1-4abc-8413-d8c42374190a>
 Content-Type: application/warc-fields
-WARC-Payload-Digest: sha256:fa0baa3699d940fd48648430c7d5b8b79a4449eb8de64bf46c44c176359425f2
-WARC-Block-Digest: sha256:fa0baa3699d940fd48648430c7d5b8b79a4449eb8de64bf46c44c176359425f2
+WARC-Payload-Digest: sha256:b14617dc7247aa0a7f3d6119ba425f0fd97e00a32f3d4577ffda2d76d3a72484
+WARC-Block-Digest: sha256:b14617dc7247aa0a7f3d6119ba425f0fd97e00a32f3d4577ffda2d76d3a72484
 Content-Length: 644
 
 harEntryId: f14af08925617f9c2183cb046a50c703
 harEntryOrder: 0
 cache: {}
-startedDateTime: 2021-12-11T20:26:48.010Z
-time: 767
-timings: {"blocked":-1,"dns":-1,"connect":-1,"send":0,"wait":767,"receive":0,"ssl":-1}
+startedDateTime: 2022-01-26T15:23:43.686Z
+time: 464
+timings: {"blocked":-1,"dns":-1,"connect":-1,"send":0,"wait":464,"receive":0,"ssl":-1}
 warcRequestHeadersSize: 325
 warcRequestCookies: []
 warcResponseHeadersSize: 1066
-warcResponseCookies: [{"name":"__cf_bm","value":"C15mmvzj8jHRs3DmYeXV4ZxTzmfGfRZojNWhpSplRJw-1639254408-0-AcSwykGy5J2u/O8IHh5edS6TFWTB6LoTI6OhOISIG8bHIIN/rICRZ+DetWqi1iLUkshDQ+kuR0KNbc7G8o2oBGE=","path":"/","expires":"2021-12-11T20:56:48.000Z","domain":".discogs.com","httpOnly":true,"secure":true,"sameSite":"None"}]
+warcResponseCookies: [{"name":"__cf_bm","value":"19_Qo6YyME2iVNyaO.SFhZOBm9VVzQX1ZV3aRhKc0jo-1643210624-0-AU2E9TSqwM4TF0qif5xogLsXjqhX8LrKWytdzfiw/uDVbTcgQw4VLtaObn+bDRyhGT4UTNzG42oLIXFYD2GHxNM=","path":"/","expires":"2022-01-26T15:53:44.000Z","domain":".discogs.com","httpOnly":true,"secure":true,"sameSite":"None"}]
 responseDecoded: false
 
 
 WARC/1.1
 WARC-Target-URI: https://www.discogs.com/internal/release-page/api/graphql?operationName=ReleaseAllImages&variables=%7B%22discogsId%22%3A9892912%2C%22count%22%3A500%7D&extensions=%7B%22persistedQuery%22%3A%7B%22version%22%3A1%2C%22sha256Hash%22%3A%2213e41f41a02b02d0a7e855a71e1a02478fd2fb0a2d104b54931d649e1d7c6ecd%22%7D%7D
-WARC-Date: 2021-12-11T20:26:48.779Z
+WARC-Date: 2022-01-26T15:23:44.152Z
 WARC-Type: response
-WARC-Record-ID: <urn:uuid:dd892440-1ad3-49a8-829c-adbc1128b1a7>
+WARC-Record-ID: <urn:uuid:42d2954e-f077-4156-9fc0-12ad2439e9cf>
 Content-Type: application/http; msgtype=response
-WARC-Payload-Digest: sha256:9b188d56d52f665713e69be396edc62573dacfb0a14f2bf38532537cc10cebca
-WARC-Block-Digest: sha256:862f9fb634312d6411b385443abc73697290bd047d40c614c12ae8f159d419b7
-Content-Length: 4266
+WARC-Payload-Digest: sha256:28926ad49bc1e2f681558fd8ee9c8be083afedbe78075335146a4fad4e60f706
+WARC-Block-Digest: sha256:88e8c49635f684673b2b28daea73abacb011e7a5e7d4b5bbfd02216aed2de8b9
+Content-Length: 4242
 
 HTTP/1.1 200 OK
 cf-cache-status: DYNAMIC
-cf-ray: 6bc173335ab56d85-MUC
+cf-ray: 6d3abe7f6809715d-DUS
 connection: close
 content-encoding: gzip
 content-type: application/json; charset=utf-8
-date: Sat, 11 Dec 2021 20:26:48 GMT
+date: Wed, 26 Jan 2022 15:23:44 GMT
 expect-ct: max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
 server: cloudflare
-set-cookie: __cf_bm=C15mmvzj8jHRs3DmYeXV4ZxTzmfGfRZojNWhpSplRJw-1639254408-0-AcSwykGy5J2u/O8IHh5edS6TFWTB6LoTI6OhOISIG8bHIIN/rICRZ+DetWqi1iLUkshDQ+kuR0KNbc7G8o2oBGE=; path=/; expires=Sat, 11-Dec-21 20:56:48 GMT; domain=.discogs.com; HttpOnly; Secure; SameSite=None
+set-cookie: __cf_bm=19_Qo6YyME2iVNyaO.SFhZOBm9VVzQX1ZV3aRhKc0jo-1643210624-0-AU2E9TSqwM4TF0qif5xogLsXjqhX8LrKWytdzfiw/uDVbTcgQw4VLtaObn+bDRyhGT4UTNzG42oLIXFYD2GHxNM=; path=/; expires=Wed, 26-Jan-22 15:53:44 GMT; domain=.discogs.com; HttpOnly; Secure; SameSite=None
 strict-transport-security: max-age=15724800
 transfer-encoding: chunked
 vary: Origin
 x-discogs-flags: ssr_login=1, ssr_user=0, ssr_defer=0, disable_ads=0, sentry=0
 x-pollyjs-finalurl: https://www.discogs.com/internal/release-page/api/graphql?operationName=ReleaseAllImages&variables=%7B%22discogsId%22%3A9892912%2C%22count%22%3A500%7D&extensions=%7B%22persistedQuery%22%3A%7B%22version%22%3A1%2C%22sha256Hash%22%3A%2213e41f41a02b02d0a7e855a71e1a02478fd2fb0a2d104b54931d649e1d7c6ecd%22%7D%7D
 
-{"data":{"release":{"discogsId":9892912,"images":{"totalCount":3,"edges":[{"node":{"id":"SW1hZ2U6NDQwNTM4MDM=","fullsize":{"sourceUrl":"https://img.discogs.com/cGX5KW1uJCaiPRzaRY8iE3btV3g=/fit-in/600x624/filters:strip_icc():format(jpeg):mode_rgb():quality(90)/discogs-images/R-9892912-1579456707-2320.jpeg.jpg","webpUrl":"https://img.discogs.com/uzedxioazWqWsEVFI2w4tC3WtF4=/fit-in/600x624/filters:strip_icc():format(webp):mode_rgb():quality(90)/discogs-images/R-9892912-1579456707-2320.jpeg.jpg","width":626,"height":652,"__typename":"ImageInfo"},"thumbnail":{"sourceUrl":"https://img.discogs.com/husmGPLvKp_kDmwLCXA_fc75LcM=/fit-in/300x300/filters:strip_icc():format(jpeg):mode_rgb():quality(40)/discogs-images/R-9892912-1579456707-2320.jpeg.jpg","webpUrl":"https://img.discogs.com/IPnzkFn_NCIl1R62mlS6EzGuwcY=/fit-in/300x300/filters:strip_icc():format(webp):mode_rgb():quality(40)/discogs-images/R-9892912-1579456707-2320.jpeg.jpg","width":150,"height":156,"__typename":"ImageInfo"},"__typename":"Image"},"__typename":"ImagesEdge"},{"node":{"id":"SW1hZ2U6NDQwNTM4MDQ=","fullsize":{"sourceUrl":"https://img.discogs.com/GjkwgdSXa6b6KAXHqtt1lrrSebQ=/fit-in/600x601/filters:strip_icc():format(jpeg):mode_rgb():quality(90)/discogs-images/R-9892912-1579456707-4048.jpeg.jpg","webpUrl":"https://img.discogs.com/DQyqoRqFynV6EL3Cx1DobKplkAk=/fit-in/600x601/filters:strip_icc():format(webp):mode_rgb():quality(90)/discogs-images/R-9892912-1579456707-4048.jpeg.jpg","width":641,"height":643,"__typename":"ImageInfo"},"thumbnail":{"sourceUrl":"https://img.discogs.com/-aLpw9YFcWdi5zhmevBqNWAJqog=/fit-in/300x300/filters:strip_icc():format(jpeg):mode_rgb():quality(40)/discogs-images/R-9892912-1579456707-4048.jpeg.jpg","webpUrl":"https://img.discogs.com/5NshMTi1zutw9aiig5UTr0ChuLU=/fit-in/300x300/filters:strip_icc():format(webp):mode_rgb():quality(40)/discogs-images/R-9892912-1579456707-4048.jpeg.jpg","width":150,"height":150,"__typename":"ImageInfo"},"__typename":"Image"},"__typename":"ImagesEdge"},{"node":{"id":"SW1hZ2U6MjcyNjYxODA=","fullsize":{"sourceUrl":"https://img.discogs.com/hch5Dfg5ZsgGY7DCxWtNWEpRSs8=/fit-in/600x681/filters:strip_icc():format(jpeg):mode_rgb():quality(90)/discogs-images/R-9892912-1488067341-2872.jpeg.jpg","webpUrl":"https://img.discogs.com/FFEMgYSNmX5Y9tI1KiY50xfUots=/fit-in/600x681/filters:strip_icc():format(webp):mode_rgb():quality(90)/discogs-images/R-9892912-1488067341-2872.jpeg.jpg","width":1392,"height":1580,"__typename":"ImageInfo"},"thumbnail":{"sourceUrl":"https://img.discogs.com/yM8CF3S1SS8cj1C1VImNpbAPBEo=/fit-in/300x300/filters:strip_icc():format(jpeg):mode_rgb():quality(40)/discogs-images/R-9892912-1488067341-2872.jpeg.jpg","webpUrl":"https://img.discogs.com/UwY5O5fcnJUGESXV93tSQyIzV5U=/fit-in/300x300/filters:strip_icc():format(webp):mode_rgb():quality(40)/discogs-images/R-9892912-1488067341-2872.jpeg.jpg","width":150,"height":170,"__typename":"ImageInfo"},"__typename":"Image"},"__typename":"ImagesEdge"}],"__typename":"ImagesConnection"},"__typename":"Release"}},"extensions":{"tracing":{"version":1,"startTime":"2021-12-11T20:26:48.664Z","endTime":"2021-12-11T20:26:48.694Z","duration":29812620,"execution":{"resolvers":[]}}}}
+{"data":{"release":{"discogsId":9892912,"images":{"totalCount":3,"edges":[{"node":{"id":"SW1hZ2U6NDQwNTM4MDM=","fullsize":{"sourceUrl":"https://i.discogs.com/aRe2RbRXu0g4PvRjrPgQKb_YmFWO3Y0CYc098S8Q1go/rs:fit/g:sm/q:90/h:600/w:576/czM6Ly9kaXNjb2dz/LWltYWdlcy9SLTk4/OTI5MTItMTU3OTQ1/NjcwNy0yMzIwLmpw/ZWc.jpeg","webpUrl":"https://i.discogs.com/aRe2RbRXu0g4PvRjrPgQKb_YmFWO3Y0CYc098S8Q1go/rs:fit/g:sm/q:90/h:600/w:576/czM6Ly9kaXNjb2dz/LWltYWdlcy9SLTk4/OTI5MTItMTU3OTQ1/NjcwNy0yMzIwLmpw/ZWc.jpeg","width":626,"height":652,"__typename":"ImageInfo"},"thumbnail":{"sourceUrl":"https://i.discogs.com/_xL4yC-gjc-awYVWmO4dDmOv-Za3oICJweuYqpnEzwk/rs:fit/g:sm/q:40/h:300/w:300/czM6Ly9kaXNjb2dz/LWltYWdlcy9SLTk4/OTI5MTItMTU3OTQ1/NjcwNy0yMzIwLmpw/ZWc.jpeg","webpUrl":"https://i.discogs.com/_xL4yC-gjc-awYVWmO4dDmOv-Za3oICJweuYqpnEzwk/rs:fit/g:sm/q:40/h:300/w:300/czM6Ly9kaXNjb2dz/LWltYWdlcy9SLTk4/OTI5MTItMTU3OTQ1/NjcwNy0yMzIwLmpw/ZWc.jpeg","width":144,"height":150,"__typename":"ImageInfo"},"__typename":"Image"},"__typename":"ImagesEdge"},{"node":{"id":"SW1hZ2U6NDQwNTM4MDQ=","fullsize":{"sourceUrl":"https://i.discogs.com/VKFNcm02R4h4UfP9lF4qVq7KkdR8XGTrSyn2sGUH8xU/rs:fit/g:sm/q:90/h:600/w:598/czM6Ly9kaXNjb2dz/LWltYWdlcy9SLTk4/OTI5MTItMTU3OTQ1/NjcwNy00MDQ4Lmpw/ZWc.jpeg","webpUrl":"https://i.discogs.com/VKFNcm02R4h4UfP9lF4qVq7KkdR8XGTrSyn2sGUH8xU/rs:fit/g:sm/q:90/h:600/w:598/czM6Ly9kaXNjb2dz/LWltYWdlcy9SLTk4/OTI5MTItMTU3OTQ1/NjcwNy00MDQ4Lmpw/ZWc.jpeg","width":641,"height":643,"__typename":"ImageInfo"},"thumbnail":{"sourceUrl":"https://i.discogs.com/5DRUAf2hnDKQ9X8eCha7SGNgcRoQdLPOy5Gk3IWwB3o/rs:fit/g:sm/q:40/h:300/w:300/czM6Ly9kaXNjb2dz/LWltYWdlcy9SLTk4/OTI5MTItMTU3OTQ1/NjcwNy00MDQ4Lmpw/ZWc.jpeg","webpUrl":"https://i.discogs.com/5DRUAf2hnDKQ9X8eCha7SGNgcRoQdLPOy5Gk3IWwB3o/rs:fit/g:sm/q:40/h:300/w:300/czM6Ly9kaXNjb2dz/LWltYWdlcy9SLTk4/OTI5MTItMTU3OTQ1/NjcwNy00MDQ4Lmpw/ZWc.jpeg","width":149,"height":150,"__typename":"ImageInfo"},"__typename":"Image"},"__typename":"ImagesEdge"},{"node":{"id":"SW1hZ2U6MjcyNjYxODA=","fullsize":{"sourceUrl":"https://i.discogs.com/kL5esHGWNIcGaRvR2m-B1sK2OqvKJro8t2zRrsqQzOs/rs:fit/g:sm/q:90/h:600/w:528/czM6Ly9kaXNjb2dz/LWltYWdlcy9SLTk4/OTI5MTItMTQ4ODA2/NzM0MS0yODcyLmpw/ZWc.jpeg","webpUrl":"https://i.discogs.com/kL5esHGWNIcGaRvR2m-B1sK2OqvKJro8t2zRrsqQzOs/rs:fit/g:sm/q:90/h:600/w:528/czM6Ly9kaXNjb2dz/LWltYWdlcy9SLTk4/OTI5MTItMTQ4ODA2/NzM0MS0yODcyLmpw/ZWc.jpeg","width":1392,"height":1580,"__typename":"ImageInfo"},"thumbnail":{"sourceUrl":"https://i.discogs.com/inFmofNjSqpna_BBL4eMZc_3tZdzR3jMbpeA_srVw2c/rs:fit/g:sm/q:40/h:300/w:300/czM6Ly9kaXNjb2dz/LWltYWdlcy9SLTk4/OTI5MTItMTQ4ODA2/NzM0MS0yODcyLmpw/ZWc.jpeg","webpUrl":"https://i.discogs.com/inFmofNjSqpna_BBL4eMZc_3tZdzR3jMbpeA_srVw2c/rs:fit/g:sm/q:40/h:300/w:300/czM6Ly9kaXNjb2dz/LWltYWdlcy9SLTk4/OTI5MTItMTQ4ODA2/NzM0MS0yODcyLmpw/ZWc.jpeg","width":132,"height":150,"__typename":"ImageInfo"},"__typename":"Image"},"__typename":"ImagesEdge"}],"__typename":"ImagesConnection"},"__typename":"Release"}},"extensions":{"tracing":{"version":1,"startTime":"2022-01-26T15:23:44.004Z","endTime":"2022-01-26T15:23:44.064Z","duration":60287324,"execution":{"resolvers":[]}}}}
 
 
diff --git a/tests/test-data/__recordings__/discogs-provider_883142520/caching-API-responses_1012471802/reuses-the-cache-entry-for-subsequent-requests_598889563.warc b/tests/test-data/__recordings__/discogs-provider_883142520/caching-API-responses_1012471802/reuses-the-cache-entry-for-subsequent-requests_598889563.warc
index 26d3a011..3d374b89 100644
--- a/tests/test-data/__recordings__/discogs-provider_883142520/caching-API-responses_1012471802/reuses-the-cache-entry-for-subsequent-requests_598889563.warc
+++ b/tests/test-data/__recordings__/discogs-provider_883142520/caching-API-responses_1012471802/reuses-the-cache-entry-for-subsequent-requests_598889563.warc
@@ -1,8 +1,8 @@
 WARC/1.1
 WARC-Filename: discogs provider/caching API responses/reuses the cache entry for subsequent requests
-WARC-Date: 2021-12-11T20:26:47.545Z
+WARC-Date: 2022-01-26T15:23:41.799Z
 WARC-Type: warcinfo
-WARC-Record-ID: <urn:uuid:449d1f38-1541-4591-a126-c04d584dcb98>
+WARC-Record-ID: <urn:uuid:3cf98b62-1cca-4aaf-82ad-3b7a0a0b227d>
 Content-Type: application/warc-fields
 Content-Length: 119
 
@@ -12,11 +12,11 @@ harCreator: {"name":"Polly.JS","version":"6.0.4","comment":"persister:fs-warc"}
 
 
 WARC/1.1
-WARC-Concurrent-To: <urn:uuid:e90d090b-d114-446a-8d61-aace99334082>
+WARC-Concurrent-To: <urn:uuid:15311fb2-073d-4f72-a8e6-d319ea974134>
 WARC-Target-URI: https://www.discogs.com/internal/release-page/api/graphql?operationName=ReleaseAllImages&variables=%7B%22discogsId%22%3A9892912%2C%22count%22%3A500%7D&extensions=%7B%22persistedQuery%22%3A%7B%22version%22%3A1%2C%22sha256Hash%22%3A%2213e41f41a02b02d0a7e855a71e1a02478fd2fb0a2d104b54931d649e1d7c6ecd%22%7D%7D
-WARC-Date: 2021-12-11T20:26:47.546Z
+WARC-Date: 2022-01-26T15:23:41.800Z
 WARC-Type: request
-WARC-Record-ID: <urn:uuid:e6a5c16a-8ed8-4315-a296-63aed3d8941b>
+WARC-Record-ID: <urn:uuid:b1e432de-930a-4efc-9886-d28c98fbf3fd>
 Content-Type: application/http; msgtype=request
 WARC-Payload-Digest: sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
 WARC-Block-Digest: sha256:a1bdef6d1b0f06fe4263adc1f5721a58326bd984be25e93aebddbfc1c4f64504
@@ -27,55 +27,55 @@ GET /internal/release-page/api/graphql?operationName=ReleaseAllImages&variables=
 
 
 WARC/1.1
-WARC-Concurrent-To: <urn:uuid:e90d090b-d114-446a-8d61-aace99334082>
+WARC-Concurrent-To: <urn:uuid:15311fb2-073d-4f72-a8e6-d319ea974134>
 WARC-Target-URI: https://www.discogs.com/internal/release-page/api/graphql?operationName=ReleaseAllImages&variables=%7B%22discogsId%22%3A9892912%2C%22count%22%3A500%7D&extensions=%7B%22persistedQuery%22%3A%7B%22version%22%3A1%2C%22sha256Hash%22%3A%2213e41f41a02b02d0a7e855a71e1a02478fd2fb0a2d104b54931d649e1d7c6ecd%22%7D%7D
-WARC-Date: 2021-12-11T20:26:47.546Z
+WARC-Date: 2022-01-26T15:23:41.800Z
 WARC-Type: metadata
-WARC-Record-ID: <urn:uuid:85450709-7b0c-426b-975d-6ec80354c01c>
+WARC-Record-ID: <urn:uuid:b0a270f4-bdf7-4620-b05e-035959b6a3b8>
 Content-Type: application/warc-fields
-WARC-Payload-Digest: sha256:bab7b3b785ead47fc6384a8422c6dbd6307e02ba8a6f8af89e717725377b7896
-WARC-Block-Digest: sha256:bab7b3b785ead47fc6384a8422c6dbd6307e02ba8a6f8af89e717725377b7896
+WARC-Payload-Digest: sha256:e20ea4c9f62a09cff5c78edbf7bace1f733bb00a4127af92eb9ae8f97d91a015
+WARC-Block-Digest: sha256:e20ea4c9f62a09cff5c78edbf7bace1f733bb00a4127af92eb9ae8f97d91a015
 Content-Length: 646
 
 harEntryId: f14af08925617f9c2183cb046a50c703
 harEntryOrder: 0
 cache: {}
-startedDateTime: 2021-12-11T20:26:46.003Z
-time: 1536
-timings: {"blocked":-1,"dns":-1,"connect":-1,"send":0,"wait":1536,"receive":0,"ssl":-1}
+startedDateTime: 2022-01-26T15:23:40.623Z
+time: 1171
+timings: {"blocked":-1,"dns":-1,"connect":-1,"send":0,"wait":1171,"receive":0,"ssl":-1}
 warcRequestHeadersSize: 325
 warcRequestCookies: []
 warcResponseHeadersSize: 1066
-warcResponseCookies: [{"name":"__cf_bm","value":"C9vGTGLgqscPXduwScDM7ClRy7RjEqKvjlKIIGZZ4tE-1639254407-0-AfuCTHsJdAuAdXR80xqx8C4IorHxiESImQ0bVK2ohgGz6THWn3iwQuAQO0pGdBGZNNgBd5ZHloSd6WxRZmCnixc=","path":"/","expires":"2021-12-11T20:56:47.000Z","domain":".discogs.com","httpOnly":true,"secure":true,"sameSite":"None"}]
+warcResponseCookies: [{"name":"__cf_bm","value":"vK4YtIXWt9CWO88wyItdjZgD0HHShY3aYHGBfFCyVnc-1643210621-0-AeJXkrL+nV2Wl1HZm45jgL+NnWdU06pEBWpsGEawG6TCrjVzZ5NsvJ438uZQK26T2oQ2MmUg2oasLyxwPVevNZI=","path":"/","expires":"2022-01-26T15:53:41.000Z","domain":".discogs.com","httpOnly":true,"secure":true,"sameSite":"None"}]
 responseDecoded: false
 
 
 WARC/1.1
 WARC-Target-URI: https://www.discogs.com/internal/release-page/api/graphql?operationName=ReleaseAllImages&variables=%7B%22discogsId%22%3A9892912%2C%22count%22%3A500%7D&extensions=%7B%22persistedQuery%22%3A%7B%22version%22%3A1%2C%22sha256Hash%22%3A%2213e41f41a02b02d0a7e855a71e1a02478fd2fb0a2d104b54931d649e1d7c6ecd%22%7D%7D
-WARC-Date: 2021-12-11T20:26:47.545Z
+WARC-Date: 2022-01-26T15:23:41.799Z
 WARC-Type: response
-WARC-Record-ID: <urn:uuid:e90d090b-d114-446a-8d61-aace99334082>
+WARC-Record-ID: <urn:uuid:15311fb2-073d-4f72-a8e6-d319ea974134>
 Content-Type: application/http; msgtype=response
-WARC-Payload-Digest: sha256:d40b701e77ceb8dde8069af1f56e3edbcce4cb55f82fab17f2222f4494f400be
-WARC-Block-Digest: sha256:324dd25147a20ca463b46596826721ab42d5183a8cc179489ab4a0b6698bb990
-Content-Length: 4266
+WARC-Payload-Digest: sha256:f0a32b1941919443b740d6e8202b96cc6464a755c3ac29a0d6000608df81886e
+WARC-Block-Digest: sha256:328b45803f0b206c239ff1b94e648cb2eab06a39710988fa4099a6b051183c09
+Content-Length: 4242
 
 HTTP/1.1 200 OK
 cf-cache-status: DYNAMIC
-cf-ray: 6bc17326dddf7a5a-DUS
+cf-ray: 6d3abe6eaf6c1e65-MUC
 connection: close
 content-encoding: gzip
 content-type: application/json; charset=utf-8
-date: Sat, 11 Dec 2021 20:26:47 GMT
+date: Wed, 26 Jan 2022 15:23:41 GMT
 expect-ct: max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
 server: cloudflare
-set-cookie: __cf_bm=C9vGTGLgqscPXduwScDM7ClRy7RjEqKvjlKIIGZZ4tE-1639254407-0-AfuCTHsJdAuAdXR80xqx8C4IorHxiESImQ0bVK2ohgGz6THWn3iwQuAQO0pGdBGZNNgBd5ZHloSd6WxRZmCnixc=; path=/; expires=Sat, 11-Dec-21 20:56:47 GMT; domain=.discogs.com; HttpOnly; Secure; SameSite=None
+set-cookie: __cf_bm=vK4YtIXWt9CWO88wyItdjZgD0HHShY3aYHGBfFCyVnc-1643210621-0-AeJXkrL+nV2Wl1HZm45jgL+NnWdU06pEBWpsGEawG6TCrjVzZ5NsvJ438uZQK26T2oQ2MmUg2oasLyxwPVevNZI=; path=/; expires=Wed, 26-Jan-22 15:53:41 GMT; domain=.discogs.com; HttpOnly; Secure; SameSite=None
 strict-transport-security: max-age=15724800
 transfer-encoding: chunked
 vary: Origin
 x-discogs-flags: ssr_login=1, ssr_user=0, ssr_defer=0, disable_ads=0, sentry=0
 x-pollyjs-finalurl: https://www.discogs.com/internal/release-page/api/graphql?operationName=ReleaseAllImages&variables=%7B%22discogsId%22%3A9892912%2C%22count%22%3A500%7D&extensions=%7B%22persistedQuery%22%3A%7B%22version%22%3A1%2C%22sha256Hash%22%3A%2213e41f41a02b02d0a7e855a71e1a02478fd2fb0a2d104b54931d649e1d7c6ecd%22%7D%7D
 
-{"data":{"release":{"discogsId":9892912,"images":{"totalCount":3,"edges":[{"node":{"id":"SW1hZ2U6NDQwNTM4MDM=","fullsize":{"sourceUrl":"https://img.discogs.com/cGX5KW1uJCaiPRzaRY8iE3btV3g=/fit-in/600x624/filters:strip_icc():format(jpeg):mode_rgb():quality(90)/discogs-images/R-9892912-1579456707-2320.jpeg.jpg","webpUrl":"https://img.discogs.com/uzedxioazWqWsEVFI2w4tC3WtF4=/fit-in/600x624/filters:strip_icc():format(webp):mode_rgb():quality(90)/discogs-images/R-9892912-1579456707-2320.jpeg.jpg","width":626,"height":652,"__typename":"ImageInfo"},"thumbnail":{"sourceUrl":"https://img.discogs.com/husmGPLvKp_kDmwLCXA_fc75LcM=/fit-in/300x300/filters:strip_icc():format(jpeg):mode_rgb():quality(40)/discogs-images/R-9892912-1579456707-2320.jpeg.jpg","webpUrl":"https://img.discogs.com/IPnzkFn_NCIl1R62mlS6EzGuwcY=/fit-in/300x300/filters:strip_icc():format(webp):mode_rgb():quality(40)/discogs-images/R-9892912-1579456707-2320.jpeg.jpg","width":150,"height":156,"__typename":"ImageInfo"},"__typename":"Image"},"__typename":"ImagesEdge"},{"node":{"id":"SW1hZ2U6NDQwNTM4MDQ=","fullsize":{"sourceUrl":"https://img.discogs.com/GjkwgdSXa6b6KAXHqtt1lrrSebQ=/fit-in/600x601/filters:strip_icc():format(jpeg):mode_rgb():quality(90)/discogs-images/R-9892912-1579456707-4048.jpeg.jpg","webpUrl":"https://img.discogs.com/DQyqoRqFynV6EL3Cx1DobKplkAk=/fit-in/600x601/filters:strip_icc():format(webp):mode_rgb():quality(90)/discogs-images/R-9892912-1579456707-4048.jpeg.jpg","width":641,"height":643,"__typename":"ImageInfo"},"thumbnail":{"sourceUrl":"https://img.discogs.com/-aLpw9YFcWdi5zhmevBqNWAJqog=/fit-in/300x300/filters:strip_icc():format(jpeg):mode_rgb():quality(40)/discogs-images/R-9892912-1579456707-4048.jpeg.jpg","webpUrl":"https://img.discogs.com/5NshMTi1zutw9aiig5UTr0ChuLU=/fit-in/300x300/filters:strip_icc():format(webp):mode_rgb():quality(40)/discogs-images/R-9892912-1579456707-4048.jpeg.jpg","width":150,"height":150,"__typename":"ImageInfo"},"__typename":"Image"},"__typename":"ImagesEdge"},{"node":{"id":"SW1hZ2U6MjcyNjYxODA=","fullsize":{"sourceUrl":"https://img.discogs.com/hch5Dfg5ZsgGY7DCxWtNWEpRSs8=/fit-in/600x681/filters:strip_icc():format(jpeg):mode_rgb():quality(90)/discogs-images/R-9892912-1488067341-2872.jpeg.jpg","webpUrl":"https://img.discogs.com/FFEMgYSNmX5Y9tI1KiY50xfUots=/fit-in/600x681/filters:strip_icc():format(webp):mode_rgb():quality(90)/discogs-images/R-9892912-1488067341-2872.jpeg.jpg","width":1392,"height":1580,"__typename":"ImageInfo"},"thumbnail":{"sourceUrl":"https://img.discogs.com/yM8CF3S1SS8cj1C1VImNpbAPBEo=/fit-in/300x300/filters:strip_icc():format(jpeg):mode_rgb():quality(40)/discogs-images/R-9892912-1488067341-2872.jpeg.jpg","webpUrl":"https://img.discogs.com/UwY5O5fcnJUGESXV93tSQyIzV5U=/fit-in/300x300/filters:strip_icc():format(webp):mode_rgb():quality(40)/discogs-images/R-9892912-1488067341-2872.jpeg.jpg","width":150,"height":170,"__typename":"ImageInfo"},"__typename":"Image"},"__typename":"ImagesEdge"}],"__typename":"ImagesConnection"},"__typename":"Release"}},"extensions":{"tracing":{"version":1,"startTime":"2021-12-11T20:26:47.364Z","endTime":"2021-12-11T20:26:47.402Z","duration":38279442,"execution":{"resolvers":[]}}}}
+{"data":{"release":{"discogsId":9892912,"images":{"totalCount":3,"edges":[{"node":{"id":"SW1hZ2U6NDQwNTM4MDM=","fullsize":{"sourceUrl":"https://i.discogs.com/aRe2RbRXu0g4PvRjrPgQKb_YmFWO3Y0CYc098S8Q1go/rs:fit/g:sm/q:90/h:600/w:576/czM6Ly9kaXNjb2dz/LWltYWdlcy9SLTk4/OTI5MTItMTU3OTQ1/NjcwNy0yMzIwLmpw/ZWc.jpeg","webpUrl":"https://i.discogs.com/aRe2RbRXu0g4PvRjrPgQKb_YmFWO3Y0CYc098S8Q1go/rs:fit/g:sm/q:90/h:600/w:576/czM6Ly9kaXNjb2dz/LWltYWdlcy9SLTk4/OTI5MTItMTU3OTQ1/NjcwNy0yMzIwLmpw/ZWc.jpeg","width":626,"height":652,"__typename":"ImageInfo"},"thumbnail":{"sourceUrl":"https://i.discogs.com/_xL4yC-gjc-awYVWmO4dDmOv-Za3oICJweuYqpnEzwk/rs:fit/g:sm/q:40/h:300/w:300/czM6Ly9kaXNjb2dz/LWltYWdlcy9SLTk4/OTI5MTItMTU3OTQ1/NjcwNy0yMzIwLmpw/ZWc.jpeg","webpUrl":"https://i.discogs.com/_xL4yC-gjc-awYVWmO4dDmOv-Za3oICJweuYqpnEzwk/rs:fit/g:sm/q:40/h:300/w:300/czM6Ly9kaXNjb2dz/LWltYWdlcy9SLTk4/OTI5MTItMTU3OTQ1/NjcwNy0yMzIwLmpw/ZWc.jpeg","width":144,"height":150,"__typename":"ImageInfo"},"__typename":"Image"},"__typename":"ImagesEdge"},{"node":{"id":"SW1hZ2U6NDQwNTM4MDQ=","fullsize":{"sourceUrl":"https://i.discogs.com/VKFNcm02R4h4UfP9lF4qVq7KkdR8XGTrSyn2sGUH8xU/rs:fit/g:sm/q:90/h:600/w:598/czM6Ly9kaXNjb2dz/LWltYWdlcy9SLTk4/OTI5MTItMTU3OTQ1/NjcwNy00MDQ4Lmpw/ZWc.jpeg","webpUrl":"https://i.discogs.com/VKFNcm02R4h4UfP9lF4qVq7KkdR8XGTrSyn2sGUH8xU/rs:fit/g:sm/q:90/h:600/w:598/czM6Ly9kaXNjb2dz/LWltYWdlcy9SLTk4/OTI5MTItMTU3OTQ1/NjcwNy00MDQ4Lmpw/ZWc.jpeg","width":641,"height":643,"__typename":"ImageInfo"},"thumbnail":{"sourceUrl":"https://i.discogs.com/5DRUAf2hnDKQ9X8eCha7SGNgcRoQdLPOy5Gk3IWwB3o/rs:fit/g:sm/q:40/h:300/w:300/czM6Ly9kaXNjb2dz/LWltYWdlcy9SLTk4/OTI5MTItMTU3OTQ1/NjcwNy00MDQ4Lmpw/ZWc.jpeg","webpUrl":"https://i.discogs.com/5DRUAf2hnDKQ9X8eCha7SGNgcRoQdLPOy5Gk3IWwB3o/rs:fit/g:sm/q:40/h:300/w:300/czM6Ly9kaXNjb2dz/LWltYWdlcy9SLTk4/OTI5MTItMTU3OTQ1/NjcwNy00MDQ4Lmpw/ZWc.jpeg","width":149,"height":150,"__typename":"ImageInfo"},"__typename":"Image"},"__typename":"ImagesEdge"},{"node":{"id":"SW1hZ2U6MjcyNjYxODA=","fullsize":{"sourceUrl":"https://i.discogs.com/kL5esHGWNIcGaRvR2m-B1sK2OqvKJro8t2zRrsqQzOs/rs:fit/g:sm/q:90/h:600/w:528/czM6Ly9kaXNjb2dz/LWltYWdlcy9SLTk4/OTI5MTItMTQ4ODA2/NzM0MS0yODcyLmpw/ZWc.jpeg","webpUrl":"https://i.discogs.com/kL5esHGWNIcGaRvR2m-B1sK2OqvKJro8t2zRrsqQzOs/rs:fit/g:sm/q:90/h:600/w:528/czM6Ly9kaXNjb2dz/LWltYWdlcy9SLTk4/OTI5MTItMTQ4ODA2/NzM0MS0yODcyLmpw/ZWc.jpeg","width":1392,"height":1580,"__typename":"ImageInfo"},"thumbnail":{"sourceUrl":"https://i.discogs.com/inFmofNjSqpna_BBL4eMZc_3tZdzR3jMbpeA_srVw2c/rs:fit/g:sm/q:40/h:300/w:300/czM6Ly9kaXNjb2dz/LWltYWdlcy9SLTk4/OTI5MTItMTQ4ODA2/NzM0MS0yODcyLmpw/ZWc.jpeg","webpUrl":"https://i.discogs.com/inFmofNjSqpna_BBL4eMZc_3tZdzR3jMbpeA_srVw2c/rs:fit/g:sm/q:40/h:300/w:300/czM6Ly9kaXNjb2dz/LWltYWdlcy9SLTk4/OTI5MTItMTQ4ODA2/NzM0MS0yODcyLmpw/ZWc.jpeg","width":132,"height":150,"__typename":"ImageInfo"},"__typename":"Image"},"__typename":"ImagesEdge"}],"__typename":"ImagesConnection"},"__typename":"Release"}},"extensions":{"tracing":{"version":1,"startTime":"2022-01-26T15:23:41.675Z","endTime":"2022-01-26T15:23:41.720Z","duration":45459599,"execution":{"resolvers":[]}}}}
 
 
diff --git a/tests/test-data/__recordings__/discogs-provider_883142520/caching-API-responses_1012471802/reuses-the-cache-entry-while-maximising-images_2688171962.warc b/tests/test-data/__recordings__/discogs-provider_883142520/caching-API-responses_1012471802/reuses-the-cache-entry-while-maximising-images_2688171962.warc
index 98e36abb..8aad3d5b 100644
--- a/tests/test-data/__recordings__/discogs-provider_883142520/caching-API-responses_1012471802/reuses-the-cache-entry-while-maximising-images_2688171962.warc
+++ b/tests/test-data/__recordings__/discogs-provider_883142520/caching-API-responses_1012471802/reuses-the-cache-entry-while-maximising-images_2688171962.warc
@@ -1,8 +1,8 @@
 WARC/1.1
 WARC-Filename: discogs provider/caching API responses/reuses the cache entry while maximising images
-WARC-Date: 2021-12-11T20:26:48.002Z
+WARC-Date: 2022-01-26T15:23:43.682Z
 WARC-Type: warcinfo
-WARC-Record-ID: <urn:uuid:a5e86171-339b-4a81-96f2-f27c60bea6ae>
+WARC-Record-ID: <urn:uuid:12de19e9-ca58-41c8-84bd-1c890780de1f>
 Content-Type: application/warc-fields
 Content-Length: 119
 
@@ -12,11 +12,11 @@ harCreator: {"name":"Polly.JS","version":"6.0.4","comment":"persister:fs-warc"}
 
 
 WARC/1.1
-WARC-Concurrent-To: <urn:uuid:b7b9ff3e-1f70-4645-8777-bac5a2ea74db>
+WARC-Concurrent-To: <urn:uuid:510c0164-4dd5-48ee-a2db-e1129cbbbc66>
 WARC-Target-URI: https://www.discogs.com/internal/release-page/api/graphql?operationName=ReleaseAllImages&variables=%7B%22discogsId%22%3A9892912%2C%22count%22%3A500%7D&extensions=%7B%22persistedQuery%22%3A%7B%22version%22%3A1%2C%22sha256Hash%22%3A%2213e41f41a02b02d0a7e855a71e1a02478fd2fb0a2d104b54931d649e1d7c6ecd%22%7D%7D
-WARC-Date: 2021-12-11T20:26:48.004Z
+WARC-Date: 2022-01-26T15:23:43.682Z
 WARC-Type: request
-WARC-Record-ID: <urn:uuid:3c5d6b24-bf76-40a1-b5ac-e197096b11ca>
+WARC-Record-ID: <urn:uuid:f21a34c0-aa71-49cf-a7a7-5f1011a2e8e2>
 Content-Type: application/http; msgtype=request
 WARC-Payload-Digest: sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
 WARC-Block-Digest: sha256:a1bdef6d1b0f06fe4263adc1f5721a58326bd984be25e93aebddbfc1c4f64504
@@ -27,55 +27,55 @@ GET /internal/release-page/api/graphql?operationName=ReleaseAllImages&variables=
 
 
 WARC/1.1
-WARC-Concurrent-To: <urn:uuid:b7b9ff3e-1f70-4645-8777-bac5a2ea74db>
+WARC-Concurrent-To: <urn:uuid:510c0164-4dd5-48ee-a2db-e1129cbbbc66>
 WARC-Target-URI: https://www.discogs.com/internal/release-page/api/graphql?operationName=ReleaseAllImages&variables=%7B%22discogsId%22%3A9892912%2C%22count%22%3A500%7D&extensions=%7B%22persistedQuery%22%3A%7B%22version%22%3A1%2C%22sha256Hash%22%3A%2213e41f41a02b02d0a7e855a71e1a02478fd2fb0a2d104b54931d649e1d7c6ecd%22%7D%7D
-WARC-Date: 2021-12-11T20:26:48.004Z
+WARC-Date: 2022-01-26T15:23:43.682Z
 WARC-Type: metadata
-WARC-Record-ID: <urn:uuid:674ba15b-e664-4700-9c18-428998229b90>
+WARC-Record-ID: <urn:uuid:303df317-cd74-41c8-9387-0c4466a96c2c>
 Content-Type: application/warc-fields
-WARC-Payload-Digest: sha256:3d3731e20d6b2679e8516f7e8d37f30d2887befc547b2c08c92217fdd0484029
-WARC-Block-Digest: sha256:3d3731e20d6b2679e8516f7e8d37f30d2887befc547b2c08c92217fdd0484029
-Content-Length: 644
+WARC-Payload-Digest: sha256:2b9d97e31599d8cedc19d6dbfd042b6725953726a2737f6102c2a1b2aaf343a3
+WARC-Block-Digest: sha256:2b9d97e31599d8cedc19d6dbfd042b6725953726a2737f6102c2a1b2aaf343a3
+Content-Length: 646
 
 harEntryId: f14af08925617f9c2183cb046a50c703
 harEntryOrder: 0
 cache: {}
-startedDateTime: 2021-12-11T20:26:47.552Z
-time: 446
-timings: {"blocked":-1,"dns":-1,"connect":-1,"send":0,"wait":446,"receive":0,"ssl":-1}
+startedDateTime: 2022-01-26T15:23:41.805Z
+time: 1874
+timings: {"blocked":-1,"dns":-1,"connect":-1,"send":0,"wait":1874,"receive":0,"ssl":-1}
 warcRequestHeadersSize: 325
 warcRequestCookies: []
 warcResponseHeadersSize: 1066
-warcResponseCookies: [{"name":"__cf_bm","value":"xVPDrvyh0.0Z9DKphhYGgUzT__HsH1QeT1Lzyndd8N4-1639254407-0-ASn6JK1J+l3oYC503W2kREMxarIZsUVCtkFZNmRa+f/Y+fsgeYilG64S2c5ytYC6yelehm2ARra3XG9ZSy2BYZc=","path":"/","expires":"2021-12-11T20:56:47.000Z","domain":".discogs.com","httpOnly":true,"secure":true,"sameSite":"None"}]
+warcResponseCookies: [{"name":"__cf_bm","value":"TEpRsYwK3PzRCp_brsD2O4oQX5EQbuQw2HCRpFCOlOQ-1643210623-0-ActcQSWBj4+Yrc+iWiHpQGYa+g3BssF0alquwLGmv7GzPqDinIwIBc50MYhWxHVh9LLDpt1LL/76P+8OQdu02Qg=","path":"/","expires":"2022-01-26T15:53:43.000Z","domain":".discogs.com","httpOnly":true,"secure":true,"sameSite":"None"}]
 responseDecoded: false
 
 
 WARC/1.1
 WARC-Target-URI: https://www.discogs.com/internal/release-page/api/graphql?operationName=ReleaseAllImages&variables=%7B%22discogsId%22%3A9892912%2C%22count%22%3A500%7D&extensions=%7B%22persistedQuery%22%3A%7B%22version%22%3A1%2C%22sha256Hash%22%3A%2213e41f41a02b02d0a7e855a71e1a02478fd2fb0a2d104b54931d649e1d7c6ecd%22%7D%7D
-WARC-Date: 2021-12-11T20:26:48.003Z
+WARC-Date: 2022-01-26T15:23:43.682Z
 WARC-Type: response
-WARC-Record-ID: <urn:uuid:b7b9ff3e-1f70-4645-8777-bac5a2ea74db>
+WARC-Record-ID: <urn:uuid:510c0164-4dd5-48ee-a2db-e1129cbbbc66>
 Content-Type: application/http; msgtype=response
-WARC-Payload-Digest: sha256:f5a84a3e2b024b1a7b73c830a66dbb68d4a4305fac4b1fab6e3a9e94e09a94fa
-WARC-Block-Digest: sha256:dfdf27972fa86b562b02ac60f951d7eab4f37657e3bbe32890557856a717fddd
-Content-Length: 4266
+WARC-Payload-Digest: sha256:cf1e9d18d9f7414cd6c5debb295e2edc7912581150b82928cbdf90392a15dbb9
+WARC-Block-Digest: sha256:a009750637038a5b980ab1e14327b8bfe218378fbffeb4e5ac2686369288e392
+Content-Length: 4242
 
 HTTP/1.1 200 OK
 cf-cache-status: DYNAMIC
-cf-ray: 6bc173308c3f6d80-MUC
+cf-ray: 6d3abe73b8ce1bd5-MUC
 connection: close
 content-encoding: gzip
 content-type: application/json; charset=utf-8
-date: Sat, 11 Dec 2021 20:26:47 GMT
+date: Wed, 26 Jan 2022 15:23:43 GMT
 expect-ct: max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
 server: cloudflare
-set-cookie: __cf_bm=xVPDrvyh0.0Z9DKphhYGgUzT__HsH1QeT1Lzyndd8N4-1639254407-0-ASn6JK1J+l3oYC503W2kREMxarIZsUVCtkFZNmRa+f/Y+fsgeYilG64S2c5ytYC6yelehm2ARra3XG9ZSy2BYZc=; path=/; expires=Sat, 11-Dec-21 20:56:47 GMT; domain=.discogs.com; HttpOnly; Secure; SameSite=None
+set-cookie: __cf_bm=TEpRsYwK3PzRCp_brsD2O4oQX5EQbuQw2HCRpFCOlOQ-1643210623-0-ActcQSWBj4+Yrc+iWiHpQGYa+g3BssF0alquwLGmv7GzPqDinIwIBc50MYhWxHVh9LLDpt1LL/76P+8OQdu02Qg=; path=/; expires=Wed, 26-Jan-22 15:53:43 GMT; domain=.discogs.com; HttpOnly; Secure; SameSite=None
 strict-transport-security: max-age=15724800
 transfer-encoding: chunked
 vary: Origin
 x-discogs-flags: ssr_login=1, ssr_user=0, ssr_defer=0, disable_ads=0, sentry=0
 x-pollyjs-finalurl: https://www.discogs.com/internal/release-page/api/graphql?operationName=ReleaseAllImages&variables=%7B%22discogsId%22%3A9892912%2C%22count%22%3A500%7D&extensions=%7B%22persistedQuery%22%3A%7B%22version%22%3A1%2C%22sha256Hash%22%3A%2213e41f41a02b02d0a7e855a71e1a02478fd2fb0a2d104b54931d649e1d7c6ecd%22%7D%7D
 
-{"data":{"release":{"discogsId":9892912,"images":{"totalCount":3,"edges":[{"node":{"id":"SW1hZ2U6NDQwNTM4MDM=","fullsize":{"sourceUrl":"https://img.discogs.com/cGX5KW1uJCaiPRzaRY8iE3btV3g=/fit-in/600x624/filters:strip_icc():format(jpeg):mode_rgb():quality(90)/discogs-images/R-9892912-1579456707-2320.jpeg.jpg","webpUrl":"https://img.discogs.com/uzedxioazWqWsEVFI2w4tC3WtF4=/fit-in/600x624/filters:strip_icc():format(webp):mode_rgb():quality(90)/discogs-images/R-9892912-1579456707-2320.jpeg.jpg","width":626,"height":652,"__typename":"ImageInfo"},"thumbnail":{"sourceUrl":"https://img.discogs.com/husmGPLvKp_kDmwLCXA_fc75LcM=/fit-in/300x300/filters:strip_icc():format(jpeg):mode_rgb():quality(40)/discogs-images/R-9892912-1579456707-2320.jpeg.jpg","webpUrl":"https://img.discogs.com/IPnzkFn_NCIl1R62mlS6EzGuwcY=/fit-in/300x300/filters:strip_icc():format(webp):mode_rgb():quality(40)/discogs-images/R-9892912-1579456707-2320.jpeg.jpg","width":150,"height":156,"__typename":"ImageInfo"},"__typename":"Image"},"__typename":"ImagesEdge"},{"node":{"id":"SW1hZ2U6NDQwNTM4MDQ=","fullsize":{"sourceUrl":"https://img.discogs.com/GjkwgdSXa6b6KAXHqtt1lrrSebQ=/fit-in/600x601/filters:strip_icc():format(jpeg):mode_rgb():quality(90)/discogs-images/R-9892912-1579456707-4048.jpeg.jpg","webpUrl":"https://img.discogs.com/DQyqoRqFynV6EL3Cx1DobKplkAk=/fit-in/600x601/filters:strip_icc():format(webp):mode_rgb():quality(90)/discogs-images/R-9892912-1579456707-4048.jpeg.jpg","width":641,"height":643,"__typename":"ImageInfo"},"thumbnail":{"sourceUrl":"https://img.discogs.com/-aLpw9YFcWdi5zhmevBqNWAJqog=/fit-in/300x300/filters:strip_icc():format(jpeg):mode_rgb():quality(40)/discogs-images/R-9892912-1579456707-4048.jpeg.jpg","webpUrl":"https://img.discogs.com/5NshMTi1zutw9aiig5UTr0ChuLU=/fit-in/300x300/filters:strip_icc():format(webp):mode_rgb():quality(40)/discogs-images/R-9892912-1579456707-4048.jpeg.jpg","width":150,"height":150,"__typename":"ImageInfo"},"__typename":"Image"},"__typename":"ImagesEdge"},{"node":{"id":"SW1hZ2U6MjcyNjYxODA=","fullsize":{"sourceUrl":"https://img.discogs.com/hch5Dfg5ZsgGY7DCxWtNWEpRSs8=/fit-in/600x681/filters:strip_icc():format(jpeg):mode_rgb():quality(90)/discogs-images/R-9892912-1488067341-2872.jpeg.jpg","webpUrl":"https://img.discogs.com/FFEMgYSNmX5Y9tI1KiY50xfUots=/fit-in/600x681/filters:strip_icc():format(webp):mode_rgb():quality(90)/discogs-images/R-9892912-1488067341-2872.jpeg.jpg","width":1392,"height":1580,"__typename":"ImageInfo"},"thumbnail":{"sourceUrl":"https://img.discogs.com/yM8CF3S1SS8cj1C1VImNpbAPBEo=/fit-in/300x300/filters:strip_icc():format(jpeg):mode_rgb():quality(40)/discogs-images/R-9892912-1488067341-2872.jpeg.jpg","webpUrl":"https://img.discogs.com/UwY5O5fcnJUGESXV93tSQyIzV5U=/fit-in/300x300/filters:strip_icc():format(webp):mode_rgb():quality(40)/discogs-images/R-9892912-1488067341-2872.jpeg.jpg","width":150,"height":170,"__typename":"ImageInfo"},"__typename":"Image"},"__typename":"ImagesEdge"}],"__typename":"ImagesConnection"},"__typename":"Release"}},"extensions":{"tracing":{"version":1,"startTime":"2021-12-11T20:26:47.868Z","endTime":"2021-12-11T20:26:47.905Z","duration":36723398,"execution":{"resolvers":[]}}}}
+{"data":{"release":{"discogsId":9892912,"images":{"totalCount":3,"edges":[{"node":{"id":"SW1hZ2U6NDQwNTM4MDM=","fullsize":{"sourceUrl":"https://i.discogs.com/aRe2RbRXu0g4PvRjrPgQKb_YmFWO3Y0CYc098S8Q1go/rs:fit/g:sm/q:90/h:600/w:576/czM6Ly9kaXNjb2dz/LWltYWdlcy9SLTk4/OTI5MTItMTU3OTQ1/NjcwNy0yMzIwLmpw/ZWc.jpeg","webpUrl":"https://i.discogs.com/aRe2RbRXu0g4PvRjrPgQKb_YmFWO3Y0CYc098S8Q1go/rs:fit/g:sm/q:90/h:600/w:576/czM6Ly9kaXNjb2dz/LWltYWdlcy9SLTk4/OTI5MTItMTU3OTQ1/NjcwNy0yMzIwLmpw/ZWc.jpeg","width":626,"height":652,"__typename":"ImageInfo"},"thumbnail":{"sourceUrl":"https://i.discogs.com/_xL4yC-gjc-awYVWmO4dDmOv-Za3oICJweuYqpnEzwk/rs:fit/g:sm/q:40/h:300/w:300/czM6Ly9kaXNjb2dz/LWltYWdlcy9SLTk4/OTI5MTItMTU3OTQ1/NjcwNy0yMzIwLmpw/ZWc.jpeg","webpUrl":"https://i.discogs.com/_xL4yC-gjc-awYVWmO4dDmOv-Za3oICJweuYqpnEzwk/rs:fit/g:sm/q:40/h:300/w:300/czM6Ly9kaXNjb2dz/LWltYWdlcy9SLTk4/OTI5MTItMTU3OTQ1/NjcwNy0yMzIwLmpw/ZWc.jpeg","width":144,"height":150,"__typename":"ImageInfo"},"__typename":"Image"},"__typename":"ImagesEdge"},{"node":{"id":"SW1hZ2U6NDQwNTM4MDQ=","fullsize":{"sourceUrl":"https://i.discogs.com/VKFNcm02R4h4UfP9lF4qVq7KkdR8XGTrSyn2sGUH8xU/rs:fit/g:sm/q:90/h:600/w:598/czM6Ly9kaXNjb2dz/LWltYWdlcy9SLTk4/OTI5MTItMTU3OTQ1/NjcwNy00MDQ4Lmpw/ZWc.jpeg","webpUrl":"https://i.discogs.com/VKFNcm02R4h4UfP9lF4qVq7KkdR8XGTrSyn2sGUH8xU/rs:fit/g:sm/q:90/h:600/w:598/czM6Ly9kaXNjb2dz/LWltYWdlcy9SLTk4/OTI5MTItMTU3OTQ1/NjcwNy00MDQ4Lmpw/ZWc.jpeg","width":641,"height":643,"__typename":"ImageInfo"},"thumbnail":{"sourceUrl":"https://i.discogs.com/5DRUAf2hnDKQ9X8eCha7SGNgcRoQdLPOy5Gk3IWwB3o/rs:fit/g:sm/q:40/h:300/w:300/czM6Ly9kaXNjb2dz/LWltYWdlcy9SLTk4/OTI5MTItMTU3OTQ1/NjcwNy00MDQ4Lmpw/ZWc.jpeg","webpUrl":"https://i.discogs.com/5DRUAf2hnDKQ9X8eCha7SGNgcRoQdLPOy5Gk3IWwB3o/rs:fit/g:sm/q:40/h:300/w:300/czM6Ly9kaXNjb2dz/LWltYWdlcy9SLTk4/OTI5MTItMTU3OTQ1/NjcwNy00MDQ4Lmpw/ZWc.jpeg","width":149,"height":150,"__typename":"ImageInfo"},"__typename":"Image"},"__typename":"ImagesEdge"},{"node":{"id":"SW1hZ2U6MjcyNjYxODA=","fullsize":{"sourceUrl":"https://i.discogs.com/kL5esHGWNIcGaRvR2m-B1sK2OqvKJro8t2zRrsqQzOs/rs:fit/g:sm/q:90/h:600/w:528/czM6Ly9kaXNjb2dz/LWltYWdlcy9SLTk4/OTI5MTItMTQ4ODA2/NzM0MS0yODcyLmpw/ZWc.jpeg","webpUrl":"https://i.discogs.com/kL5esHGWNIcGaRvR2m-B1sK2OqvKJro8t2zRrsqQzOs/rs:fit/g:sm/q:90/h:600/w:528/czM6Ly9kaXNjb2dz/LWltYWdlcy9SLTk4/OTI5MTItMTQ4ODA2/NzM0MS0yODcyLmpw/ZWc.jpeg","width":1392,"height":1580,"__typename":"ImageInfo"},"thumbnail":{"sourceUrl":"https://i.discogs.com/inFmofNjSqpna_BBL4eMZc_3tZdzR3jMbpeA_srVw2c/rs:fit/g:sm/q:40/h:300/w:300/czM6Ly9kaXNjb2dz/LWltYWdlcy9SLTk4/OTI5MTItMTQ4ODA2/NzM0MS0yODcyLmpw/ZWc.jpeg","webpUrl":"https://i.discogs.com/inFmofNjSqpna_BBL4eMZc_3tZdzR3jMbpeA_srVw2c/rs:fit/g:sm/q:40/h:300/w:300/czM6Ly9kaXNjb2dz/LWltYWdlcy9SLTk4/OTI5MTItMTQ4ODA2/NzM0MS0yODcyLmpw/ZWc.jpeg","width":132,"height":150,"__typename":"ImageInfo"},"__typename":"Image"},"__typename":"ImagesEdge"}],"__typename":"ImagesConnection"},"__typename":"Release"}},"extensions":{"tracing":{"version":1,"startTime":"2022-01-26T15:23:43.477Z","endTime":"2022-01-26T15:23:43.520Z","duration":42569575,"execution":{"resolvers":[]}}}}
 
 
diff --git a/tests/test-data/__recordings__/discogs-provider_883142520/extracting-images_1310741912/extracts-covers-for-release_2308446907.warc b/tests/test-data/__recordings__/discogs-provider_883142520/extracting-images_1310741912/extracts-covers-for-release_2308446907.warc
index 035f6d54..0d98823e 100644
--- a/tests/test-data/__recordings__/discogs-provider_883142520/extracting-images_1310741912/extracts-covers-for-release_2308446907.warc
+++ b/tests/test-data/__recordings__/discogs-provider_883142520/extracting-images_1310741912/extracts-covers-for-release_2308446907.warc
@@ -1,8 +1,8 @@
 WARC/1.1
 WARC-Filename: discogs provider/extracting images/extracts covers for release
-WARC-Date: 2021-12-11T20:26:45.538Z
+WARC-Date: 2022-01-26T15:23:39.464Z
 WARC-Type: warcinfo
-WARC-Record-ID: <urn:uuid:a9c4f137-f932-4ee2-83df-4a8f54e8ba4b>
+WARC-Record-ID: <urn:uuid:01f65228-51ee-4cfc-be51-031d299cc024>
 Content-Type: application/warc-fields
 Content-Length: 119
 
@@ -12,11 +12,11 @@ harCreator: {"name":"Polly.JS","version":"6.0.4","comment":"persister:fs-warc"}
 
 
 WARC/1.1
-WARC-Concurrent-To: <urn:uuid:2a266efe-3f47-4716-82b8-8666c641fd5f>
+WARC-Concurrent-To: <urn:uuid:4c10ee8c-f086-4a28-abc1-8329bd132ba0>
 WARC-Target-URI: https://www.discogs.com/internal/release-page/api/graphql?operationName=ReleaseAllImages&variables=%7B%22discogsId%22%3A9892912%2C%22count%22%3A500%7D&extensions=%7B%22persistedQuery%22%3A%7B%22version%22%3A1%2C%22sha256Hash%22%3A%2213e41f41a02b02d0a7e855a71e1a02478fd2fb0a2d104b54931d649e1d7c6ecd%22%7D%7D
-WARC-Date: 2021-12-11T20:26:45.539Z
+WARC-Date: 2022-01-26T15:23:39.466Z
 WARC-Type: request
-WARC-Record-ID: <urn:uuid:b659217a-69d2-44b3-a8e2-e1fb1cfd3872>
+WARC-Record-ID: <urn:uuid:54d5d8e7-593e-4197-8fa0-c8410f7d9535>
 Content-Type: application/http; msgtype=request
 WARC-Payload-Digest: sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
 WARC-Block-Digest: sha256:a1bdef6d1b0f06fe4263adc1f5721a58326bd984be25e93aebddbfc1c4f64504
@@ -27,55 +27,55 @@ GET /internal/release-page/api/graphql?operationName=ReleaseAllImages&variables=
 
 
 WARC/1.1
-WARC-Concurrent-To: <urn:uuid:2a266efe-3f47-4716-82b8-8666c641fd5f>
+WARC-Concurrent-To: <urn:uuid:4c10ee8c-f086-4a28-abc1-8329bd132ba0>
 WARC-Target-URI: https://www.discogs.com/internal/release-page/api/graphql?operationName=ReleaseAllImages&variables=%7B%22discogsId%22%3A9892912%2C%22count%22%3A500%7D&extensions=%7B%22persistedQuery%22%3A%7B%22version%22%3A1%2C%22sha256Hash%22%3A%2213e41f41a02b02d0a7e855a71e1a02478fd2fb0a2d104b54931d649e1d7c6ecd%22%7D%7D
-WARC-Date: 2021-12-11T20:26:45.539Z
+WARC-Date: 2022-01-26T15:23:39.467Z
 WARC-Type: metadata
-WARC-Record-ID: <urn:uuid:a0003f36-8148-4056-91d8-695a90b0a666>
+WARC-Record-ID: <urn:uuid:588745e9-34e6-4aed-b8b8-5875a5a3e02d>
 Content-Type: application/warc-fields
-WARC-Payload-Digest: sha256:8353e7ba0528bcbc15c3bcc3e9808845113fb6aa17ce8f75f02cd90be50ed38f
-WARC-Block-Digest: sha256:8353e7ba0528bcbc15c3bcc3e9808845113fb6aa17ce8f75f02cd90be50ed38f
-Content-Length: 644
+WARC-Payload-Digest: sha256:45a189e6592eb39bbe08f1ed067cdb0551a80e1eb51649341770d2ee944d1d3a
+WARC-Block-Digest: sha256:45a189e6592eb39bbe08f1ed067cdb0551a80e1eb51649341770d2ee944d1d3a
+Content-Length: 646
 
 harEntryId: f14af08925617f9c2183cb046a50c703
 harEntryOrder: 0
 cache: {}
-startedDateTime: 2021-12-11T20:26:44.952Z
-time: 580
-timings: {"blocked":-1,"dns":-1,"connect":-1,"send":0,"wait":580,"receive":0,"ssl":-1}
+startedDateTime: 2022-01-26T15:23:37.497Z
+time: 1954
+timings: {"blocked":-1,"dns":-1,"connect":-1,"send":0,"wait":1954,"receive":0,"ssl":-1}
 warcRequestHeadersSize: 325
 warcRequestCookies: []
 warcResponseHeadersSize: 1066
-warcResponseCookies: [{"name":"__cf_bm","value":"7e4kFhxV3ItF8gE39nfM8vAIPQhHDE3R24w1GkrYfQE-1639254405-0-Aesh8jSmRulwXMbm2D8yDPGofq7uwjoao/0IN/XIJFtlzHrwcpErvmJyHUHS0jFNd8InZNJ3UmQql1OWoLFTA1M=","path":"/","expires":"2021-12-11T20:56:45.000Z","domain":".discogs.com","httpOnly":true,"secure":true,"sameSite":"None"}]
+warcResponseCookies: [{"name":"__cf_bm","value":"KbpWQhdGEMc2c6o.OshCr7F3dd2kzNQSFcjCsxCNkIY-1643210619-0-AZvoGHGxa5lPH5m+di36Gd/1SC79F1icILMAMlDZ1PfOcECcp5tKbHSk30z10CWpZVlJG7qU8exPS2WHVeWlSkU=","path":"/","expires":"2022-01-26T15:53:39.000Z","domain":".discogs.com","httpOnly":true,"secure":true,"sameSite":"None"}]
 responseDecoded: false
 
 
 WARC/1.1
 WARC-Target-URI: https://www.discogs.com/internal/release-page/api/graphql?operationName=ReleaseAllImages&variables=%7B%22discogsId%22%3A9892912%2C%22count%22%3A500%7D&extensions=%7B%22persistedQuery%22%3A%7B%22version%22%3A1%2C%22sha256Hash%22%3A%2213e41f41a02b02d0a7e855a71e1a02478fd2fb0a2d104b54931d649e1d7c6ecd%22%7D%7D
-WARC-Date: 2021-12-11T20:26:45.538Z
+WARC-Date: 2022-01-26T15:23:39.465Z
 WARC-Type: response
-WARC-Record-ID: <urn:uuid:2a266efe-3f47-4716-82b8-8666c641fd5f>
+WARC-Record-ID: <urn:uuid:4c10ee8c-f086-4a28-abc1-8329bd132ba0>
 Content-Type: application/http; msgtype=response
-WARC-Payload-Digest: sha256:78c760688e888a83e69d04e071ed8e2d097cd1b68a578217c1ecad50473d6f6b
-WARC-Block-Digest: sha256:4364b7df3157408a4f144eb3572b37c8a6fdd3cde82b159fca97597238c1988e
-Content-Length: 4266
+WARC-Payload-Digest: sha256:cfe840c9d0d78c0b5c302be4fd09705f16c30b6dd11bc04e385489eb874e02aa
+WARC-Block-Digest: sha256:e62d1e32fe0712790bca78b28df26c3263e862ffa90d1bca3d7602a96ed044d5
+Content-Length: 4242
 
 HTTP/1.1 200 OK
 cf-cache-status: DYNAMIC
-cf-ray: 6bc17320b8296d6e-MUC
+cf-ray: 6d3abe596be96d71-MUC
 connection: close
 content-encoding: gzip
 content-type: application/json; charset=utf-8
-date: Sat, 11 Dec 2021 20:26:45 GMT
+date: Wed, 26 Jan 2022 15:23:39 GMT
 expect-ct: max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
 server: cloudflare
-set-cookie: __cf_bm=7e4kFhxV3ItF8gE39nfM8vAIPQhHDE3R24w1GkrYfQE-1639254405-0-Aesh8jSmRulwXMbm2D8yDPGofq7uwjoao/0IN/XIJFtlzHrwcpErvmJyHUHS0jFNd8InZNJ3UmQql1OWoLFTA1M=; path=/; expires=Sat, 11-Dec-21 20:56:45 GMT; domain=.discogs.com; HttpOnly; Secure; SameSite=None
+set-cookie: __cf_bm=KbpWQhdGEMc2c6o.OshCr7F3dd2kzNQSFcjCsxCNkIY-1643210619-0-AZvoGHGxa5lPH5m+di36Gd/1SC79F1icILMAMlDZ1PfOcECcp5tKbHSk30z10CWpZVlJG7qU8exPS2WHVeWlSkU=; path=/; expires=Wed, 26-Jan-22 15:53:39 GMT; domain=.discogs.com; HttpOnly; Secure; SameSite=None
 strict-transport-security: max-age=15724800
 transfer-encoding: chunked
 vary: Origin
 x-discogs-flags: ssr_login=1, ssr_user=0, ssr_defer=0, disable_ads=0, sentry=0
 x-pollyjs-finalurl: https://www.discogs.com/internal/release-page/api/graphql?operationName=ReleaseAllImages&variables=%7B%22discogsId%22%3A9892912%2C%22count%22%3A500%7D&extensions=%7B%22persistedQuery%22%3A%7B%22version%22%3A1%2C%22sha256Hash%22%3A%2213e41f41a02b02d0a7e855a71e1a02478fd2fb0a2d104b54931d649e1d7c6ecd%22%7D%7D
 
-{"data":{"release":{"discogsId":9892912,"images":{"totalCount":3,"edges":[{"node":{"id":"SW1hZ2U6NDQwNTM4MDM=","fullsize":{"sourceUrl":"https://img.discogs.com/cGX5KW1uJCaiPRzaRY8iE3btV3g=/fit-in/600x624/filters:strip_icc():format(jpeg):mode_rgb():quality(90)/discogs-images/R-9892912-1579456707-2320.jpeg.jpg","webpUrl":"https://img.discogs.com/uzedxioazWqWsEVFI2w4tC3WtF4=/fit-in/600x624/filters:strip_icc():format(webp):mode_rgb():quality(90)/discogs-images/R-9892912-1579456707-2320.jpeg.jpg","width":626,"height":652,"__typename":"ImageInfo"},"thumbnail":{"sourceUrl":"https://img.discogs.com/husmGPLvKp_kDmwLCXA_fc75LcM=/fit-in/300x300/filters:strip_icc():format(jpeg):mode_rgb():quality(40)/discogs-images/R-9892912-1579456707-2320.jpeg.jpg","webpUrl":"https://img.discogs.com/IPnzkFn_NCIl1R62mlS6EzGuwcY=/fit-in/300x300/filters:strip_icc():format(webp):mode_rgb():quality(40)/discogs-images/R-9892912-1579456707-2320.jpeg.jpg","width":150,"height":156,"__typename":"ImageInfo"},"__typename":"Image"},"__typename":"ImagesEdge"},{"node":{"id":"SW1hZ2U6NDQwNTM4MDQ=","fullsize":{"sourceUrl":"https://img.discogs.com/GjkwgdSXa6b6KAXHqtt1lrrSebQ=/fit-in/600x601/filters:strip_icc():format(jpeg):mode_rgb():quality(90)/discogs-images/R-9892912-1579456707-4048.jpeg.jpg","webpUrl":"https://img.discogs.com/DQyqoRqFynV6EL3Cx1DobKplkAk=/fit-in/600x601/filters:strip_icc():format(webp):mode_rgb():quality(90)/discogs-images/R-9892912-1579456707-4048.jpeg.jpg","width":641,"height":643,"__typename":"ImageInfo"},"thumbnail":{"sourceUrl":"https://img.discogs.com/-aLpw9YFcWdi5zhmevBqNWAJqog=/fit-in/300x300/filters:strip_icc():format(jpeg):mode_rgb():quality(40)/discogs-images/R-9892912-1579456707-4048.jpeg.jpg","webpUrl":"https://img.discogs.com/5NshMTi1zutw9aiig5UTr0ChuLU=/fit-in/300x300/filters:strip_icc():format(webp):mode_rgb():quality(40)/discogs-images/R-9892912-1579456707-4048.jpeg.jpg","width":150,"height":150,"__typename":"ImageInfo"},"__typename":"Image"},"__typename":"ImagesEdge"},{"node":{"id":"SW1hZ2U6MjcyNjYxODA=","fullsize":{"sourceUrl":"https://img.discogs.com/hch5Dfg5ZsgGY7DCxWtNWEpRSs8=/fit-in/600x681/filters:strip_icc():format(jpeg):mode_rgb():quality(90)/discogs-images/R-9892912-1488067341-2872.jpeg.jpg","webpUrl":"https://img.discogs.com/FFEMgYSNmX5Y9tI1KiY50xfUots=/fit-in/600x681/filters:strip_icc():format(webp):mode_rgb():quality(90)/discogs-images/R-9892912-1488067341-2872.jpeg.jpg","width":1392,"height":1580,"__typename":"ImageInfo"},"thumbnail":{"sourceUrl":"https://img.discogs.com/yM8CF3S1SS8cj1C1VImNpbAPBEo=/fit-in/300x300/filters:strip_icc():format(jpeg):mode_rgb():quality(40)/discogs-images/R-9892912-1488067341-2872.jpeg.jpg","webpUrl":"https://img.discogs.com/UwY5O5fcnJUGESXV93tSQyIzV5U=/fit-in/300x300/filters:strip_icc():format(webp):mode_rgb():quality(40)/discogs-images/R-9892912-1488067341-2872.jpeg.jpg","width":150,"height":170,"__typename":"ImageInfo"},"__typename":"Image"},"__typename":"ImagesEdge"}],"__typename":"ImagesConnection"},"__typename":"Release"}},"extensions":{"tracing":{"version":1,"startTime":"2021-12-11T20:26:45.363Z","endTime":"2021-12-11T20:26:45.393Z","duration":29437897,"execution":{"resolvers":[]}}}}
+{"data":{"release":{"discogsId":9892912,"images":{"totalCount":3,"edges":[{"node":{"id":"SW1hZ2U6NDQwNTM4MDM=","fullsize":{"sourceUrl":"https://i.discogs.com/aRe2RbRXu0g4PvRjrPgQKb_YmFWO3Y0CYc098S8Q1go/rs:fit/g:sm/q:90/h:600/w:576/czM6Ly9kaXNjb2dz/LWltYWdlcy9SLTk4/OTI5MTItMTU3OTQ1/NjcwNy0yMzIwLmpw/ZWc.jpeg","webpUrl":"https://i.discogs.com/aRe2RbRXu0g4PvRjrPgQKb_YmFWO3Y0CYc098S8Q1go/rs:fit/g:sm/q:90/h:600/w:576/czM6Ly9kaXNjb2dz/LWltYWdlcy9SLTk4/OTI5MTItMTU3OTQ1/NjcwNy0yMzIwLmpw/ZWc.jpeg","width":626,"height":652,"__typename":"ImageInfo"},"thumbnail":{"sourceUrl":"https://i.discogs.com/_xL4yC-gjc-awYVWmO4dDmOv-Za3oICJweuYqpnEzwk/rs:fit/g:sm/q:40/h:300/w:300/czM6Ly9kaXNjb2dz/LWltYWdlcy9SLTk4/OTI5MTItMTU3OTQ1/NjcwNy0yMzIwLmpw/ZWc.jpeg","webpUrl":"https://i.discogs.com/_xL4yC-gjc-awYVWmO4dDmOv-Za3oICJweuYqpnEzwk/rs:fit/g:sm/q:40/h:300/w:300/czM6Ly9kaXNjb2dz/LWltYWdlcy9SLTk4/OTI5MTItMTU3OTQ1/NjcwNy0yMzIwLmpw/ZWc.jpeg","width":144,"height":150,"__typename":"ImageInfo"},"__typename":"Image"},"__typename":"ImagesEdge"},{"node":{"id":"SW1hZ2U6NDQwNTM4MDQ=","fullsize":{"sourceUrl":"https://i.discogs.com/VKFNcm02R4h4UfP9lF4qVq7KkdR8XGTrSyn2sGUH8xU/rs:fit/g:sm/q:90/h:600/w:598/czM6Ly9kaXNjb2dz/LWltYWdlcy9SLTk4/OTI5MTItMTU3OTQ1/NjcwNy00MDQ4Lmpw/ZWc.jpeg","webpUrl":"https://i.discogs.com/VKFNcm02R4h4UfP9lF4qVq7KkdR8XGTrSyn2sGUH8xU/rs:fit/g:sm/q:90/h:600/w:598/czM6Ly9kaXNjb2dz/LWltYWdlcy9SLTk4/OTI5MTItMTU3OTQ1/NjcwNy00MDQ4Lmpw/ZWc.jpeg","width":641,"height":643,"__typename":"ImageInfo"},"thumbnail":{"sourceUrl":"https://i.discogs.com/5DRUAf2hnDKQ9X8eCha7SGNgcRoQdLPOy5Gk3IWwB3o/rs:fit/g:sm/q:40/h:300/w:300/czM6Ly9kaXNjb2dz/LWltYWdlcy9SLTk4/OTI5MTItMTU3OTQ1/NjcwNy00MDQ4Lmpw/ZWc.jpeg","webpUrl":"https://i.discogs.com/5DRUAf2hnDKQ9X8eCha7SGNgcRoQdLPOy5Gk3IWwB3o/rs:fit/g:sm/q:40/h:300/w:300/czM6Ly9kaXNjb2dz/LWltYWdlcy9SLTk4/OTI5MTItMTU3OTQ1/NjcwNy00MDQ4Lmpw/ZWc.jpeg","width":149,"height":150,"__typename":"ImageInfo"},"__typename":"Image"},"__typename":"ImagesEdge"},{"node":{"id":"SW1hZ2U6MjcyNjYxODA=","fullsize":{"sourceUrl":"https://i.discogs.com/kL5esHGWNIcGaRvR2m-B1sK2OqvKJro8t2zRrsqQzOs/rs:fit/g:sm/q:90/h:600/w:528/czM6Ly9kaXNjb2dz/LWltYWdlcy9SLTk4/OTI5MTItMTQ4ODA2/NzM0MS0yODcyLmpw/ZWc.jpeg","webpUrl":"https://i.discogs.com/kL5esHGWNIcGaRvR2m-B1sK2OqvKJro8t2zRrsqQzOs/rs:fit/g:sm/q:90/h:600/w:528/czM6Ly9kaXNjb2dz/LWltYWdlcy9SLTk4/OTI5MTItMTQ4ODA2/NzM0MS0yODcyLmpw/ZWc.jpeg","width":1392,"height":1580,"__typename":"ImageInfo"},"thumbnail":{"sourceUrl":"https://i.discogs.com/inFmofNjSqpna_BBL4eMZc_3tZdzR3jMbpeA_srVw2c/rs:fit/g:sm/q:40/h:300/w:300/czM6Ly9kaXNjb2dz/LWltYWdlcy9SLTk4/OTI5MTItMTQ4ODA2/NzM0MS0yODcyLmpw/ZWc.jpeg","webpUrl":"https://i.discogs.com/inFmofNjSqpna_BBL4eMZc_3tZdzR3jMbpeA_srVw2c/rs:fit/g:sm/q:40/h:300/w:300/czM6Ly9kaXNjb2dz/LWltYWdlcy9SLTk4/OTI5MTItMTQ4ODA2/NzM0MS0yODcyLmpw/ZWc.jpeg","width":132,"height":150,"__typename":"ImageInfo"},"__typename":"Image"},"__typename":"ImagesEdge"}],"__typename":"ImagesConnection"},"__typename":"Release"}},"extensions":{"tracing":{"version":1,"startTime":"2022-01-26T15:23:39.318Z","endTime":"2022-01-26T15:23:39.347Z","duration":29175813,"execution":{"resolvers":[]}}}}
 
 
diff --git a/tests/test-data/__recordings__/discogs-provider_883142520/extracting-images_1310741912/throws-on-non-existent-release_1189313548.warc b/tests/test-data/__recordings__/discogs-provider_883142520/extracting-images_1310741912/throws-on-non-existent-release_1189313548.warc
index 404e727d..5a57c70c 100644
--- a/tests/test-data/__recordings__/discogs-provider_883142520/extracting-images_1310741912/throws-on-non-existent-release_1189313548.warc
+++ b/tests/test-data/__recordings__/discogs-provider_883142520/extracting-images_1310741912/throws-on-non-existent-release_1189313548.warc
@@ -1,8 +1,8 @@
 WARC/1.1
 WARC-Filename: discogs provider/extracting images/throws on non-existent release
-WARC-Date: 2021-12-11T20:26:45.996Z
+WARC-Date: 2022-01-26T15:23:40.615Z
 WARC-Type: warcinfo
-WARC-Record-ID: <urn:uuid:83275d4c-d2e0-4681-b482-ecdb29bac831>
+WARC-Record-ID: <urn:uuid:5ea0f631-a249-466e-a818-eaca7162b9f4>
 Content-Type: application/warc-fields
 Content-Length: 119
 
@@ -12,11 +12,11 @@ harCreator: {"name":"Polly.JS","version":"6.0.4","comment":"persister:fs-warc"}
 
 
 WARC/1.1
-WARC-Concurrent-To: <urn:uuid:8a38ec27-ace8-4588-90fc-4085f4270ebb>
+WARC-Concurrent-To: <urn:uuid:1f2935b4-01dc-4b6d-b6ac-586cfbb2987c>
 WARC-Target-URI: https://www.discogs.com/internal/release-page/api/graphql?operationName=ReleaseAllImages&variables=%7B%22discogsId%22%3A32342343%2C%22count%22%3A500%7D&extensions=%7B%22persistedQuery%22%3A%7B%22version%22%3A1%2C%22sha256Hash%22%3A%2213e41f41a02b02d0a7e855a71e1a02478fd2fb0a2d104b54931d649e1d7c6ecd%22%7D%7D
-WARC-Date: 2021-12-11T20:26:45.997Z
+WARC-Date: 2022-01-26T15:23:40.616Z
 WARC-Type: request
-WARC-Record-ID: <urn:uuid:1bc8d110-03e9-49a3-b8a0-f0a8e2fcc181>
+WARC-Record-ID: <urn:uuid:6d6be006-050b-477a-aaa7-2c8177e666ea>
 Content-Type: application/http; msgtype=request
 WARC-Payload-Digest: sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
 WARC-Block-Digest: sha256:949bc3a3028bf2521b366401edf458b4b1eb82658136f5fe211ce5a0f974cb97
@@ -27,55 +27,55 @@ GET /internal/release-page/api/graphql?operationName=ReleaseAllImages&variables=
 
 
 WARC/1.1
-WARC-Concurrent-To: <urn:uuid:8a38ec27-ace8-4588-90fc-4085f4270ebb>
+WARC-Concurrent-To: <urn:uuid:1f2935b4-01dc-4b6d-b6ac-586cfbb2987c>
 WARC-Target-URI: https://www.discogs.com/internal/release-page/api/graphql?operationName=ReleaseAllImages&variables=%7B%22discogsId%22%3A32342343%2C%22count%22%3A500%7D&extensions=%7B%22persistedQuery%22%3A%7B%22version%22%3A1%2C%22sha256Hash%22%3A%2213e41f41a02b02d0a7e855a71e1a02478fd2fb0a2d104b54931d649e1d7c6ecd%22%7D%7D
-WARC-Date: 2021-12-11T20:26:45.997Z
+WARC-Date: 2022-01-26T15:23:40.616Z
 WARC-Type: metadata
-WARC-Record-ID: <urn:uuid:11559861-55ee-4fd2-b9eb-c4a9475d6c68>
+WARC-Record-ID: <urn:uuid:8a608943-c4d5-4308-8772-427829bb67f9>
 Content-Type: application/warc-fields
-WARC-Payload-Digest: sha256:ebbe98ada282726acc1c07c8749e9377069542f72813ee8ad9347575c64c9a63
-WARC-Block-Digest: sha256:ebbe98ada282726acc1c07c8749e9377069542f72813ee8ad9347575c64c9a63
-Content-Length: 644
+WARC-Payload-Digest: sha256:f8cfdf26a0ccbaa73f58fb7a34104ae816d8aa3bda5e77288534fb72f2a1bc85
+WARC-Block-Digest: sha256:f8cfdf26a0ccbaa73f58fb7a34104ae816d8aa3bda5e77288534fb72f2a1bc85
+Content-Length: 646
 
 harEntryId: 474e9e5a520399c60171a9d1f8584295
 harEntryOrder: 0
 cache: {}
-startedDateTime: 2021-12-11T20:26:45.546Z
-time: 447
-timings: {"blocked":-1,"dns":-1,"connect":-1,"send":0,"wait":447,"receive":0,"ssl":-1}
+startedDateTime: 2022-01-26T15:23:39.475Z
+time: 1138
+timings: {"blocked":-1,"dns":-1,"connect":-1,"send":0,"wait":1138,"receive":0,"ssl":-1}
 warcRequestHeadersSize: 326
 warcRequestCookies: []
 warcResponseHeadersSize: 1067
-warcResponseCookies: [{"name":"__cf_bm","value":"xQwAF6aJ7FKWsBWOCvGe.qNPf33FB6w_2iHTWdd.Sgg-1639254405-0-AZaBjsWKkllT2C4tfrnFySlWdZ0wh9oStj7CyDjv2ItJy3OaG0bXAN3rqAYbdg4DXgn8EFWzKy6EnQfC2xxKG0Y=","path":"/","expires":"2021-12-11T20:56:45.000Z","domain":".discogs.com","httpOnly":true,"secure":true,"sameSite":"None"}]
+warcResponseCookies: [{"name":"__cf_bm","value":".MqICMdWBQNYbISo_QklX327SJdB9.QfBlQ_G.9eBQ0-1643210620-0-Aev/ELoC1ZyV0PMwmJIVEZpxEHOFSPXtmolPyhVmaLdVu7aUtciKwEK/JfLZy+k4qhvm6Su/J0gVzXfu6zdxfbk=","path":"/","expires":"2022-01-26T15:53:40.000Z","domain":".discogs.com","httpOnly":true,"secure":true,"sameSite":"None"}]
 responseDecoded: false
 
 
 WARC/1.1
 WARC-Target-URI: https://www.discogs.com/internal/release-page/api/graphql?operationName=ReleaseAllImages&variables=%7B%22discogsId%22%3A32342343%2C%22count%22%3A500%7D&extensions=%7B%22persistedQuery%22%3A%7B%22version%22%3A1%2C%22sha256Hash%22%3A%2213e41f41a02b02d0a7e855a71e1a02478fd2fb0a2d104b54931d649e1d7c6ecd%22%7D%7D
-WARC-Date: 2021-12-11T20:26:45.996Z
+WARC-Date: 2022-01-26T15:23:40.615Z
 WARC-Type: response
-WARC-Record-ID: <urn:uuid:8a38ec27-ace8-4588-90fc-4085f4270ebb>
+WARC-Record-ID: <urn:uuid:1f2935b4-01dc-4b6d-b6ac-586cfbb2987c>
 Content-Type: application/http; msgtype=response
-WARC-Payload-Digest: sha256:c81602f505fb52755d85a9665df32b794e71d77c3e1ad67a6e570fcb6ea69904
-WARC-Block-Digest: sha256:86edc0ede8602f6bb4207feb6727ec9440588f3407927cd3ea07a43a3afbefb0
+WARC-Payload-Digest: sha256:6d6d18eb4510da5561334e0d4fb7b48e49c55f91ff429520af017588700198af
+WARC-Block-Digest: sha256:6d7727aafcee9fea80fbf24d550b87816227c881561e420be7e7200d76794849
 Content-Length: 1274
 
 HTTP/1.1 200 OK
 cf-cache-status: DYNAMIC
-cf-ray: 6bc17323f956727c-HAM
+cf-ray: 6d3abe669d1c6d7f-MUC
 connection: close
 content-encoding: gzip
 content-type: application/json; charset=utf-8
-date: Sat, 11 Dec 2021 20:26:45 GMT
+date: Wed, 26 Jan 2022 15:23:40 GMT
 expect-ct: max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
 server: cloudflare
-set-cookie: __cf_bm=xQwAF6aJ7FKWsBWOCvGe.qNPf33FB6w_2iHTWdd.Sgg-1639254405-0-AZaBjsWKkllT2C4tfrnFySlWdZ0wh9oStj7CyDjv2ItJy3OaG0bXAN3rqAYbdg4DXgn8EFWzKy6EnQfC2xxKG0Y=; path=/; expires=Sat, 11-Dec-21 20:56:45 GMT; domain=.discogs.com; HttpOnly; Secure; SameSite=None
+set-cookie: __cf_bm=.MqICMdWBQNYbISo_QklX327SJdB9.QfBlQ_G.9eBQ0-1643210620-0-Aev/ELoC1ZyV0PMwmJIVEZpxEHOFSPXtmolPyhVmaLdVu7aUtciKwEK/JfLZy+k4qhvm6Su/J0gVzXfu6zdxfbk=; path=/; expires=Wed, 26-Jan-22 15:53:40 GMT; domain=.discogs.com; HttpOnly; Secure; SameSite=None
 strict-transport-security: max-age=15724800
 transfer-encoding: chunked
 vary: Origin
 x-discogs-flags: ssr_login=1, ssr_user=0, ssr_defer=0, disable_ads=0, sentry=0
 x-pollyjs-finalurl: https://www.discogs.com/internal/release-page/api/graphql?operationName=ReleaseAllImages&variables=%7B%22discogsId%22%3A32342343%2C%22count%22%3A500%7D&extensions=%7B%22persistedQuery%22%3A%7B%22version%22%3A1%2C%22sha256Hash%22%3A%2213e41f41a02b02d0a7e855a71e1a02478fd2fb0a2d104b54931d649e1d7c6ecd%22%7D%7D
 
-{"data":{"release":null},"extensions":{"tracing":{"version":1,"startTime":"2021-12-11T20:26:45.873Z","endTime":"2021-12-11T20:26:45.891Z","duration":17890383,"execution":{"resolvers":[]}}}}
+{"data":{"release":null},"extensions":{"tracing":{"version":1,"startTime":"2022-01-26T15:23:40.440Z","endTime":"2022-01-26T15:23:40.458Z","duration":17215960,"execution":{"resolvers":[]}}}}
 
 
diff --git a/tests/unit/mb_enhanced_cover_art_uploads/maximise.test.ts b/tests/unit/mb_enhanced_cover_art_uploads/maximise.test.ts
index 55084f29..d1ae9f92 100644
--- a/tests/unit/mb_enhanced_cover_art_uploads/maximise.test.ts
+++ b/tests/unit/mb_enhanced_cover_art_uploads/maximise.test.ts
@@ -91,7 +91,7 @@ describe('maximising Discogs images', () => {
     jest.spyOn(DiscogsProvider, 'maximiseImage').mockImplementationOnce(() => Promise.resolve(new URL('https://example.com/discogs')));
 
     it('special-cases Discogs images', async () => {
-        const it = getMaximisedCandidates(new URL('https://img.discogs.com/husmGPLvKp_kDmwLCXA_fc75LcM=/fit-in/300x300/filters:strip_icc():format(jpeg):mode_rgb():quality(40)/discogs-images/R-9892912-1579456707-2320.jpeg.jpg'));
+        const it = getMaximisedCandidates(new URL('https://i.discogs.com/aRe2RbRXu0g4PvRjrPgQKb_YmFWO3Y0CYc098S8Q1go/rs:fit/g:sm/q:90/h:600/w:576/czM6Ly9kaXNjb2dz/LWltYWdlcy9SLTk4/OTI5MTItMTU3OTQ1/NjcwNy0yMzIwLmpw/ZWc.jpeg'));
         let result = await it.next();
 
         expect(result.done).toBeFalse();
diff --git a/tests/unit/mb_enhanced_cover_art_uploads/providers/discogs.test.ts b/tests/unit/mb_enhanced_cover_art_uploads/providers/discogs.test.ts
index 1c1aa408..cdb344be 100644
--- a/tests/unit/mb_enhanced_cover_art_uploads/providers/discogs.test.ts
+++ b/tests/unit/mb_enhanced_cover_art_uploads/providers/discogs.test.ts
@@ -42,15 +42,15 @@ describe('discogs provider', () => {
             numImages: 3,
             expectedImages: [{
                 index: 0,
-                urlPart: '/cGX5KW1uJCaiPRzaRY8iE3btV3g=/fit-in/600x624/filters:strip_icc():format(jpeg):mode_rgb():quality(90)/discogs-images/R-9892912-1579456707-2320.jpeg.jpg',
+                urlPart: '/aRe2RbRXu0g4PvRjrPgQKb_YmFWO3Y0CYc098S8Q1go/rs:fit/g:sm/q:90/h:600/w:576/czM6Ly9kaXNjb2dz/LWltYWdlcy9SLTk4/OTI5MTItMTU3OTQ1/NjcwNy0yMzIwLmpw/ZWc.jpeg',
                 types: undefined,
             }, {
                 index: 1,
-                urlPart: '/GjkwgdSXa6b6KAXHqtt1lrrSebQ=/fit-in/600x601/filters:strip_icc():format(jpeg):mode_rgb():quality(90)/discogs-images/R-9892912-1579456707-4048.jpeg.jpg',
+                urlPart: '/VKFNcm02R4h4UfP9lF4qVq7KkdR8XGTrSyn2sGUH8xU/rs:fit/g:sm/q:90/h:600/w:598/czM6Ly9kaXNjb2dz/LWltYWdlcy9SLTk4/OTI5MTItMTU3OTQ1/NjcwNy00MDQ4Lmpw/ZWc.jpeg',
                 types: undefined,
             }, {
                 index: 2,
-                urlPart: '/hch5Dfg5ZsgGY7DCxWtNWEpRSs8=/fit-in/600x681/filters:strip_icc():format(jpeg):mode_rgb():quality(90)/discogs-images/R-9892912-1488067341-2872.jpeg.jpg',
+                urlPart: '/kL5esHGWNIcGaRvR2m-B1sK2OqvKJro8t2zRrsqQzOs/rs:fit/g:sm/q:90/h:600/w:528/czM6Ly9kaXNjb2dz/LWltYWdlcy9SLTk4/OTI5MTItMTQ4ODA2/NzM0MS0yODcyLmpw/ZWc.jpeg',
                 types: undefined,
             }],
         }];
@@ -67,9 +67,17 @@ describe('discogs provider', () => {
 
     describe('maximising image', () => {
         it('finds the image', async () => {
-            const maxUrl = await DiscogsProvider.maximiseImage(new URL('https://img.discogs.com/husmGPLvKp_kDmwLCXA_fc75LcM=/fit-in/300x300/filters:strip_icc():format(jpeg):mode_rgb():quality(40)/discogs-images/R-9892912-1579456707-2320.jpeg.jpg'));
+            const maxUrl = await DiscogsProvider.maximiseImage(new URL('https://i.discogs.com/_xL4yC-gjc-awYVWmO4dDmOv-Za3oICJweuYqpnEzwk/rs:fit/g:sm/q:40/h:300/w:300/czM6Ly9kaXNjb2dz/LWltYWdlcy9SLTk4/OTI5MTItMTU3OTQ1/NjcwNy0yMzIwLmpw/ZWc.jpeg'));
 
-            expect(maxUrl.pathname).toBe('/cGX5KW1uJCaiPRzaRY8iE3btV3g=/fit-in/600x624/filters:strip_icc():format(jpeg):mode_rgb():quality(90)/discogs-images/R-9892912-1579456707-2320.jpeg.jpg');
+            expect(maxUrl.pathname).toBe('/aRe2RbRXu0g4PvRjrPgQKb_YmFWO3Y0CYc098S8Q1go/rs:fit/g:sm/q:90/h:600/w:576/czM6Ly9kaXNjb2dz/LWltYWdlcy9SLTk4/OTI5MTItMTU3OTQ1/NjcwNy0yMzIwLmpw/ZWc.jpeg');
+        });
+    });
+
+    describe('extracting filename from URL', () => {
+        it('extracts the correct filename', async () => {
+            const filename = DiscogsProvider.getFilenameFromUrl(new URL('https://i.discogs.com/aRe2RbRXu0g4PvRjrPgQKb_YmFWO3Y0CYc098S8Q1go/rs:fit/g:sm/q:90/h:600/w:576/czM6Ly9kaXNjb2dz/LWltYWdlcy9SLTk4/OTI5MTItMTU3OTQ1/NjcwNy0yMzIwLmpw/ZWc.jpeg'));
+
+            expect(filename).toBe('R-9892912-1579456707-2320.jpeg');
         });
     });