From 259da4c02d48c420802ef99348294ee1ef4e9dfa Mon Sep 17 00:00:00 2001 From: bourgeoa Date: Sat, 24 Dec 2022 09:06:24 +0100 Subject: [PATCH 1/2] promise catch err --- src/chat/dateFolder.js | 21 ++++++++++++++++----- src/chat/infinite.js | 1 + 2 files changed, 17 insertions(+), 5 deletions(-) diff --git a/src/chat/dateFolder.js b/src/chat/dateFolder.js index 27d3af674..3289a7dea 100644 --- a/src/chat/dateFolder.js +++ b/src/chat/dateFolder.js @@ -81,11 +81,22 @@ export class DateFolder { } // debug.log(' previousPeriod level' + level + ' file ' + file) const parent = file.dir() - await store.fetcher.load(parent) - let siblings = store.each(parent, ns.ldp('contains')) - siblings = siblings.filter(younger) - const folder = await lastNonEmpty(siblings) - if (folder) return folder + try { + await store.fetcher.load(parent) + let siblings = store.each(parent, ns.ldp('contains')) + siblings = siblings.filter(younger) + const folder = await lastNonEmpty(siblings) + if (folder) return folder + } catch (err) { + if (err.response && err.response.status && err.response.status === 404) { + debug.log('Error 404 for chat parent file ' + parent) + delete store.fetcher.requested[parent] + } else { + debug.log('*** Error NON 404 for chat parent file ' + parent) + // statusTR.appendChild(widgets.errorMessageBlock(dom, err, 'pink')) + throw (new Error(`*** ${err.message} for chat folder ${parent}`)) + } + } if (level === 0) return null // 3:day, 2:month, 1: year 0: no diff --git a/src/chat/infinite.js b/src/chat/infinite.js index 3bbffc9f0..f93e3ac03 100644 --- a/src/chat/infinite.js +++ b/src/chat/infinite.js @@ -229,6 +229,7 @@ export async function infiniteMessageArea (dom, wasStore, chatChannel, options) const statusTR = messageTable.appendChild(dom.createElement('tr')) // ### find status in exception if (err.response && err.response.status && err.response.status === 404) { debug.log('Error 404 for chat file ' + chatDocument) + delete store.fetcher.requested[chatDocument] // release 404 from fetcher.load return renderMessageTable(date, live) // no mssage file is fine.. will be craeted later // statusTR.appendChild(widgets.errorMessageBlock(dom, 'no message file', 'white')) } else { From 7408582c716d4650c0b5266c910f98b677de20d9 Mon Sep 17 00:00:00 2001 From: bourgeoa Date: Sat, 24 Dec 2022 10:42:22 +0100 Subject: [PATCH 2/2] remove unneeded delete store.fetcher.requested --- src/chat/dateFolder.js | 1 - src/chat/infinite.js | 1 - 2 files changed, 2 deletions(-) diff --git a/src/chat/dateFolder.js b/src/chat/dateFolder.js index 3289a7dea..99fd50abc 100644 --- a/src/chat/dateFolder.js +++ b/src/chat/dateFolder.js @@ -90,7 +90,6 @@ export class DateFolder { } catch (err) { if (err.response && err.response.status && err.response.status === 404) { debug.log('Error 404 for chat parent file ' + parent) - delete store.fetcher.requested[parent] } else { debug.log('*** Error NON 404 for chat parent file ' + parent) // statusTR.appendChild(widgets.errorMessageBlock(dom, err, 'pink')) diff --git a/src/chat/infinite.js b/src/chat/infinite.js index f93e3ac03..3bbffc9f0 100644 --- a/src/chat/infinite.js +++ b/src/chat/infinite.js @@ -229,7 +229,6 @@ export async function infiniteMessageArea (dom, wasStore, chatChannel, options) const statusTR = messageTable.appendChild(dom.createElement('tr')) // ### find status in exception if (err.response && err.response.status && err.response.status === 404) { debug.log('Error 404 for chat file ' + chatDocument) - delete store.fetcher.requested[chatDocument] // release 404 from fetcher.load return renderMessageTable(date, live) // no mssage file is fine.. will be craeted later // statusTR.appendChild(widgets.errorMessageBlock(dom, 'no message file', 'white')) } else {