fix(storage): prevent duplicate COS resource uploads

This commit is contained in:
MasterChiefCN committed 2026-09-01 18:02:11 +08:00
1 parent 70d272853e
commit 72a7f85d56
13 files changed
+339 -64

No files matched your search

@@ -4251,6 +4251,7 @@ test("remote resource preparation never overwrites an edit made while upload is
const previousAssets = useAssetStore.getState().assets;
const indexedValues = new Map<string, string>();
const remoteWrites: Asset[] = [];
let resourceUploads = 0;
let releaseUpload!: () => void;
const uploadReleased = new Promise<void>((resolve) => {
releaseUpload = resolve;
@@ -4280,6 +4281,7 @@ test("remote resource preparation never overwrites an edit made while upload is
return { data: { code: 0, data: { projects: [], assets: [] }, msg: "" }, status: 200, statusText: "OK", headers: {}, config };
}
if (method === "post" && url === "/resources") {
resourceUploads += 1;
uploadStartedResolve();
await uploadReleased;
return {
@@ -4343,6 +4345,7 @@ test("remote resource preparation never overwrites an edit made while upload is
expect(useAssetStore.getState().assets.find((item) => item.id === asset.id)?.title).toBe("edited during upload");
expect(remoteWrites.at(-1)?.title).toBe("edited during upload");
expect(resourceUploads).toBe(1);
} finally {
releaseUpload();
resetRemoteUserDataSync();