filter deleted ops only if gc is disabled
This commit is contained in:
parent
382d06f6d4
commit
de5f4abe32
@ -56,18 +56,29 @@ export async function compareUsers (t, users) {
|
|||||||
u.connector.whenSynced(resolve)
|
u.connector.whenSynced(resolve)
|
||||||
})
|
})
|
||||||
))
|
))
|
||||||
|
let filterDeletedOps = users.every(u => u.db.gc === false)
|
||||||
var data = await Promise.all(users.map(async (u) => {
|
var data = await Promise.all(users.map(async (u) => {
|
||||||
var data = {}
|
var data = {}
|
||||||
u.db.requestTransaction(function * () {
|
u.db.requestTransaction(function * () {
|
||||||
var os = yield * this.getOperationsUntransformed()
|
var os = yield * this.getOperationsUntransformed()
|
||||||
data.os = {}
|
data.os = {}
|
||||||
os.untransformed.forEach((op) => {
|
for (let i = 0; i < os.untransformed.length; i++) {
|
||||||
|
let op = os.untransformed[i]
|
||||||
op = Y.Struct[op.struct].encode(op)
|
op = Y.Struct[op.struct].encode(op)
|
||||||
delete op.origin
|
delete op.origin
|
||||||
data.os[JSON.stringify(op.id)] = op
|
/*
|
||||||
return op
|
If gc = false, it is necessary to filter deleted ops
|
||||||
})
|
as they might have been split up differently..
|
||||||
|
*/
|
||||||
|
if (filterDeletedOps) {
|
||||||
|
let opIsDeleted = yield * this.isDeleted(op.id)
|
||||||
|
if (!opIsDeleted) {
|
||||||
|
data.os[JSON.stringify(op.id)] = op
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
data.os[JSON.stringify(op.id)] = op
|
||||||
|
}
|
||||||
|
}
|
||||||
data.ds = yield * this.getDeleteSet()
|
data.ds = yield * this.getDeleteSet()
|
||||||
data.ss = yield * this.getStateSet()
|
data.ss = yield * this.getStateSet()
|
||||||
})
|
})
|
||||||
|
Loading…
x
Reference in New Issue
Block a user