| author | Stephen Paul Weber
<singpolyma@singpolyma.net> 2023-11-30 04:28:42 UTC |
| committer | Stephen Paul Weber
<singpolyma@singpolyma.net> 2023-12-11 15:59:52 UTC |
| parent | 6f5cd197bc5fb82b4641c0077d165e14556b9a48 |
| xmpp/persistence/browser.js | +3 | -5 |
diff --git a/xmpp/persistence/browser.js b/xmpp/persistence/browser.js index 75cde5a..755e334 100644 --- a/xmpp/persistence/browser.js +++ b/xmpp/persistence/browser.js @@ -450,12 +450,10 @@ exports.xmpp.persistence = { cursor.onsuccess = (event) => { if (event.target.result) { const value = event.target.result.value; - this.getCaps(value.caps, (caps) => { - if (caps && caps.features.includes(feature)) result.push({ ...value, caps: caps }); - event.target.result.continue(); - }); + result.push(new Promise((resolve) => this.getCaps(value.caps, (caps) => resolve({ ...value, caps: caps })))); + event.target.result.continue(); } else { - callback(result); + Promise.all(result).then((items) => items.filter((item) => item.caps && item.caps.features.includes(feature))).then(callback); } } cursor.onerror = (event) => {