diff --git a/app/src/components/datasets/DeleteButton.tsx b/app/src/components/datasets/DeleteButton.tsx
index 77b364f..41e92f1 100644
--- a/app/src/components/datasets/DeleteButton.tsx
+++ b/app/src/components/datasets/DeleteButton.tsx
@@ -55,11 +55,17 @@ const DeleteDatasetEntriesModal = ({ disclosure }: { disclosure: UseDisclosureRe
const [deleteRows, deletionInProgress] = useHandledAsyncCallback(async () => {
if (!dataset?.id || !selectedIds.size) return;
- const response = await deleteRowsMutation.mutateAsync({
- ids: Array.from(selectedIds),
- });
- if (maybeReportError(response)) return;
+ // divide selectedIds into chunks of 15000 to reduce request size
+ const chunkSize = 15000;
+ const idsArray = Array.from(selectedIds);
+ for (let i = 0; i < idsArray.length; i += chunkSize) {
+ const response = await deleteRowsMutation.mutateAsync({
+ ids: idsArray.slice(i, i + chunkSize),
+ });
+
+ if (maybeReportError(response)) return;
+ }
await utils.datasetEntries.list.invalidate();
disclosure.onClose();
diff --git a/app/src/pages/datasets/[id].tsx b/app/src/pages/datasets/[id].tsx
index e826a3c..0df7261 100644
--- a/app/src/pages/datasets/[id].tsx
+++ b/app/src/pages/datasets/[id].tsx
@@ -10,9 +10,10 @@ import {
useDisclosure,
} from "@chakra-ui/react";
import Link from "next/link";
-
import { useState, useEffect } from "react";
import { AiOutlineDatabase } from "react-icons/ai";
+
+import { env } from "~/env.mjs";
import AppShell from "~/components/nav/AppShell";
import { api } from "~/utils/api";
import { useDataset, useHandledAsyncCallback } from "~/utils/hooks";
@@ -126,7 +127,7 @@ export default function Dataset() {
-
+ {/* */}