fix(storage): prevent duplicate COS resource uploads
This commit is contained in:
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();
|
||||
|
||||
Reference in new issue
Block a user