From 6230abb78c39f5ddb7c60ed51f005abef4a11c22 Mon Sep 17 00:00:00 2001 From: Kevin Jahns Date: Mon, 6 Dec 2021 21:22:18 +0100 Subject: [PATCH] make sure that markers are correct without reinit --- src/structs/Item.js | 1 + src/types/AbstractType.js | 3 --- src/utils/ListIterator.js | 13 ------------- 3 files changed, 1 insertion(+), 16 deletions(-) diff --git a/src/structs/Item.js b/src/structs/Item.js index 44538faf..392321e0 100644 --- a/src/structs/Item.js +++ b/src/structs/Item.js @@ -594,6 +594,7 @@ export class Item extends AbstractStruct { if (searchMarker) { for (let i = searchMarker.length - 1; i >= 0; i--) { if (searchMarker[i].nextItem === right) { + // @todo do something more efficient than splicing.. searchMarker.splice(i, 1) } } diff --git a/src/types/AbstractType.js b/src/types/AbstractType.js index bd4ccc2e..2f01dc14 100644 --- a/src/types/AbstractType.js +++ b/src/types/AbstractType.js @@ -43,7 +43,6 @@ export const useSearchMarker = (tr, yarray, index, f) => { const sm = new ListIterator(yarray).forward(tr, index) searchMarker.push(sm) if (sm.nextItem) sm.nextItem.marker = true - return f(sm) } const sm = searchMarker.reduce( (a, b, arrayIndex) => math.abs(index - a.index) < math.abs(index - b.index) ? a : b @@ -54,8 +53,6 @@ export const useSearchMarker = (tr, yarray, index, f) => { const prevItem = /** @type {Item} */ (sm.nextItem) if (createFreshMarker) { searchMarker.push(fsm) - } else { - fsm.reinit(tr) } const diff = fsm.index - index if (diff > 0) { diff --git a/src/utils/ListIterator.js b/src/utils/ListIterator.js index 1258e13d..7754f5a6 100644 --- a/src/utils/ListIterator.js +++ b/src/utils/ListIterator.js @@ -1,5 +1,4 @@ import * as error from 'lib0/error' -import { getItem } from 'yjs' import { getItemCleanStart, @@ -74,18 +73,6 @@ export class ListIterator { return iter } - /** - * @param {Transaction} tr - */ - reinit (tr) { - if (this.nextItem) { - const nextId = this.nextItem.id - const reinitId = createID(nextId.client, nextId.clock + this.rel) - this.nextItem = getItem(tr.doc.store, reinitId) - this.rel = reinitId.clock - this.nextItem.id.clock - } - } - /** * @type {Item | null} */