diff options
author | dan <dan.abramov@gmail.com> | 2024-12-14 02:25:32 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-12-14 02:25:32 +0000 |
commit | c5e60ba006bdb81107007a45b4d36072200e123f (patch) | |
tree | 6a230c5759ae926a18c870df11eee18a3865440e /patches | |
parent | 55222c5b0e57b3c7223fc13778e4cba67579da69 (diff) | |
download | voidsky-c5e60ba006bdb81107007a45b4d36072200e123f.tar.zst |
Fix posting images on web (#7105)
* Fix uploadBlob to handle blob: URI * Patch expo-image-manipulator to support "compress" argument * Narrow down the fix
Diffstat (limited to 'patches')
-rw-r--r-- | patches/expo-image-manipulator+13.0.5.patch | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/patches/expo-image-manipulator+13.0.5.patch b/patches/expo-image-manipulator+13.0.5.patch new file mode 100644 index 000000000..4ff1cc970 --- /dev/null +++ b/patches/expo-image-manipulator+13.0.5.patch @@ -0,0 +1,48 @@ +diff --git a/node_modules/expo-image-manipulator/src/ImageManipulator.ts b/node_modules/expo-image-manipulator/src/ImageManipulator.ts +index a80d9c8..babbb3b 100644 +--- a/node_modules/expo-image-manipulator/src/ImageManipulator.ts ++++ b/node_modules/expo-image-manipulator/src/ImageManipulator.ts +@@ -43,7 +43,7 @@ export async function manipulateAsync( + context.extent(action.extent); + } + } +- const image = await context.renderAsync(); ++ const image = await context.renderAsync(saveOptions.compress); + const result = await image.saveAsync({ format, ...rest }); + + // These shared objects will not be used anymore, so free up some memory. +diff --git a/node_modules/expo-image-manipulator/src/ImageManipulatorContext.ts b/node_modules/expo-image-manipulator/src/ImageManipulatorContext.ts +index 120d8d3..f8aa49c 100644 +--- a/node_modules/expo-image-manipulator/src/ImageManipulatorContext.ts ++++ b/node_modules/expo-image-manipulator/src/ImageManipulatorContext.ts +@@ -52,7 +52,7 @@ export declare class ImageManipulatorContext extends SharedObject { + /** + * Awaits for all manipulation tasks to finish and resolves with a reference to the resulted native image. + */ +- renderAsync(): Promise<ImageRef>; ++ renderAsync(compress?: number): Promise<ImageRef>; + } + + export default ExpoImageManipulator.Context as typeof ImageManipulatorContext; +diff --git a/node_modules/expo-image-manipulator/src/web/ImageManipulatorContext.web.ts b/node_modules/expo-image-manipulator/src/web/ImageManipulatorContext.web.ts +index 428848c..363a57a 100644 +--- a/node_modules/expo-image-manipulator/src/web/ImageManipulatorContext.web.ts ++++ b/node_modules/expo-image-manipulator/src/web/ImageManipulatorContext.web.ts +@@ -41,7 +41,7 @@ export default class ImageManipulatorContext extends SharedObject { + return this; + } + +- async renderAsync(): Promise<ImageManipulatorImageRef> { ++ async renderAsync(compress?: number): Promise<ImageManipulatorImageRef> { + const canvas = await this.currentTask; + + return new Promise((resolve) => { +@@ -49,7 +49,7 @@ export default class ImageManipulatorContext extends SharedObject { + const url = blob ? URL.createObjectURL(blob) : canvas.toDataURL(); + + resolve(new ImageManipulatorImageRef(url, canvas.width, canvas.height)); +- }); ++ }, typeof compress === 'number' ? 'image/jpeg' : undefined, compress); + }); + } + |