diff --git a/src/utils/StructSet.js b/src/utils/StructSet.js index 3d60a0c8..5f602810 100644 --- a/src/utils/StructSet.js +++ b/src/utils/StructSet.js @@ -92,11 +92,11 @@ export const removeRangesFromStructSet = (ss, exclude) => { for (let i = 0; i < idranges.length; i++) { const range = idranges[i] let startIndex = 0 - let endIndex = structs.length if (range.clock >= lastStruct.id.clock + lastStruct.length) continue if (range.clock > firstStruct.id.clock) { startIndex = findIndexCleanStart(null, structs, range.clock) } + let endIndex = structs.length // must be set here, after structs is modified if (range.clock + range.len <= firstStruct.id.clock) continue if (range.clock + range.len < lastStruct.id.clock + lastStruct.length) { endIndex = findIndexCleanStart(null, structs, range.clock + range.len) diff --git a/tests/y-array.tests.js b/tests/y-array.tests.js index 8d952257..4eaab5d2 100644 --- a/tests/y-array.tests.js +++ b/tests/y-array.tests.js @@ -604,7 +604,7 @@ const arrayTransactions = [ * @param {t.TestCase} tc */ export const testRepeatGeneratingYarrayTests6 = tc => { - applyRandomTests(tc, arrayTransactions, 6*3) + applyRandomTests(tc, arrayTransactions, 6) } /**