Separate list deletion into chunks (close #1430) (#1431)

zio/stable
Paul Frazee 2023-09-11 14:28:30 -07:00 committed by GitHub
parent 977f9228f8
commit f8c611118e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 12 additions and 6 deletions

View File

@ -7,6 +7,7 @@ import {
AppBskyGraphListitem,
} from '@atproto/api'
import {Image as RNImage} from 'react-native-image-crop-picker'
import chunk from 'lodash.chunk'
import {RootStoreModel} from '../root-store'
import * as apilib from 'lib/api/index'
import {cleanError} from 'lib/strings/errors'
@ -211,12 +212,17 @@ export class ListModel {
rkey: urip.rkey,
}
}
const writes = records
.map(record => createDel(record.uri))
.concat([createDel(this.uri)])
// apply in chunks
for (const writesChunk of chunk(writes, 10)) {
await this.rootStore.agent.com.atproto.repo.applyWrites({
repo: this.rootStore.me.did,
writes: [createDel(this.uri)].concat(
records.map(record => createDel(record.uri)),
),
writes: writesChunk,
})
}
this.rootStore.emitListDeleted(this.uri)
}