From 16e6b5afc0c6081a8f01784e06bfbc76fca982b6 Mon Sep 17 00:00:00 2001 From: Nazar Leush Date: Fri, 13 Mar 2026 15:58:34 +0200 Subject: [PATCH 1/3] find places where `error` not passed to `registerFetchError` --- lib/core.js | 2 +- lib/plugins/system/meta/cachedMeta.js | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/core.js b/lib/core.js index 697fd46fc..e54548399 100644 --- a/lib/core.js +++ b/lib/core.js @@ -1503,7 +1503,7 @@ var fetch_data = {...data}; if (!data.error && !data.status_code) { - console.warn('No error param in registerFetchError data'); + console.warn('No error param in registerFetchError data', data); } else if (data.error) { // Convert runtime `error` to `error_code` and `error_message`. if (typeof data.error === 'string') { diff --git a/lib/plugins/system/meta/cachedMeta.js b/lib/plugins/system/meta/cachedMeta.js index a842dda14..05d0edfc1 100644 --- a/lib/plugins/system/meta/cachedMeta.js +++ b/lib/plugins/system/meta/cachedMeta.js @@ -84,6 +84,7 @@ export default { } if (data.error.responseStatusCode !== 200) { + // TODO: why `data.error.responseStatusCode` can be `undefined` options.registerFetchError({ source: 'cache', url: url, @@ -97,6 +98,7 @@ export default { } else if (data.htmlparser) { if (data.htmlparser.__statusCode !== 200) { + // TODO: why `data.htmlparser.__statusCode` can be `undefined` options.registerFetchError({ source: 'cache', url: url, From cd65e893be8d7871f0cad69876a279470417dc69 Mon Sep 17 00:00:00 2001 From: Nazar Leush Date: Fri, 13 Mar 2026 17:20:37 +0200 Subject: [PATCH 2/3] fix wrong fetch errors registering --- lib/plugins/system/meta/cachedMeta.js | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/lib/plugins/system/meta/cachedMeta.js b/lib/plugins/system/meta/cachedMeta.js index 05d0edfc1..14594426b 100644 --- a/lib/plugins/system/meta/cachedMeta.js +++ b/lib/plugins/system/meta/cachedMeta.js @@ -83,8 +83,9 @@ export default { } } - if (data.error.responseStatusCode !== 200) { - // TODO: why `data.error.responseStatusCode` can be `undefined` + // Redirects don't have `responseStatusCode`. Only errors have status. + if (data.error.responseStatusCode + && data.error.responseStatusCode !== 200) { options.registerFetchError({ source: 'cache', url: url, @@ -97,7 +98,9 @@ export default { cb(data.error); } else if (data.htmlparser) { - if (data.htmlparser.__statusCode !== 200) { + // Wrong content types don't have `__statusCode`. Only errors have status. + if (data.htmlparser.__statusCode + && data.htmlparser.__statusCode !== 200) { // TODO: why `data.htmlparser.__statusCode` can be `undefined` options.registerFetchError({ source: 'cache', From f0963ad568fca09175062df403c7cd14c60f0fdd Mon Sep 17 00:00:00 2001 From: Nazar Leush Date: Fri, 13 Mar 2026 17:24:57 +0200 Subject: [PATCH 3/3] remove todo --- lib/plugins/system/meta/cachedMeta.js | 1 - 1 file changed, 1 deletion(-) diff --git a/lib/plugins/system/meta/cachedMeta.js b/lib/plugins/system/meta/cachedMeta.js index 14594426b..1a1497968 100644 --- a/lib/plugins/system/meta/cachedMeta.js +++ b/lib/plugins/system/meta/cachedMeta.js @@ -101,7 +101,6 @@ export default { // Wrong content types don't have `__statusCode`. Only errors have status. if (data.htmlparser.__statusCode && data.htmlparser.__statusCode !== 200) { - // TODO: why `data.htmlparser.__statusCode` can be `undefined` options.registerFetchError({ source: 'cache', url: url,