From e059ad42e142adc9f1b8cf178a0947ead8980eaf Mon Sep 17 00:00:00 2001 From: HDegroote <75906619+HDegroote@users.noreply.github.com> Date: Wed, 5 Feb 2025 13:48:17 +0100 Subject: [PATCH] Reproduce bug --- example.mjs | 19 ++++++++++++++++--- package.json | 5 +++-- 2 files changed, 19 insertions(+), 5 deletions(-) diff --git a/example.mjs b/example.mjs index 8366c2d..0b828d0 100644 --- a/example.mjs +++ b/example.mjs @@ -30,10 +30,11 @@ await w.append({ hello: 'verden' }) s1.pipe(s2).pipe(s1) } +let nextTarget = 1000 base.view.on('append', async function () { - console.log('onappend!', base.view.length, base.view.signedLength) - for (let i = 0; i < base.view.length; i++) { - console.log(i, await base.view.get(i)) + if (base.view.length >= nextTarget || base.view.length > -10 + 2 ** 15) { + console.log('onappend!', base.view.length, base.view.signedLength) + nextTarget += 1000 } }) @@ -43,3 +44,15 @@ await base.ack() if (base.view.length === 0) { await base.append({ type: 'add', key: w.local.key.toString('hex') }) } + +if (base.view.length > 10) throw new Error('Clear your example-store storage (easier to test when starting form empty storage') + +const nrBlocks = 10000 + 2 ** 15 +console.log('appending', nrBlocks, 'blocks') +for (let i = 0; i < nrBlocks; i++) { + w.append({ content: `Block${i}` }).catch(e => console.error(e)) +} + +console.log('waiting now...') + +await new Promise(resolve => setTimeout(resolve, 1000000)) diff --git a/package.json b/package.json index 37ac057..7a5f7af 100644 --- a/package.json +++ b/package.json @@ -10,8 +10,9 @@ "test": "standard" }, "dependencies": { - "autobase": "^7.0.0", - "compact-encoding": "^2.15.1" + "autobase": "holepunchto/autobase", + "compact-encoding": "^2.15.1", + "hypercore": "holepunchto/hypercore" }, "devDependencies": { "corestore": "^7.0.0",