about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/state/models/content/list.ts18
1 files changed, 12 insertions, 6 deletions
diff --git a/src/state/models/content/list.ts b/src/state/models/content/list.ts
index 5d4ffb4fa..fc045e185 100644
--- a/src/state/models/content/list.ts
+++ b/src/state/models/content/list.ts
@@ -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,
       }
     }
-    await this.rootStore.agent.com.atproto.repo.applyWrites({
-      repo: this.rootStore.me.did,
-      writes: [createDel(this.uri)].concat(
-        records.map(record => createDel(record.uri)),
-      ),
-    })
+    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: writesChunk,
+      })
+    }
 
     this.rootStore.emitListDeleted(this.uri)
   }