@onyx-p/imlib-web 2.3.8 → 2.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/index.esm.js CHANGED
@@ -28943,38 +28943,39 @@ async function createSendFunction(fileType, conversation, msgBody, hooks, sendOp
28943
28943
  message1.content.user = msgBody.user;
28944
28944
  message1.content.extra = msgBody.extra;
28945
28945
  const uploader = imConfig.getUploader();
28946
- const prepareResult = await uploader.prepare(files);
28947
- const uploadItems = files.map((file, i) => ({
28948
- url: prepareResult.urls[i],
28949
- file: file
28950
- }));
28951
- const mediaUploadParams = {
28952
- encryptKey: prepareResult.encryptedKey,
28953
- items: uploadItems
28954
- };
28955
- return internal_sendMessage(conversation, message1, sendOptions, {
28956
- uploadItems: mediaUploadParams,
28957
- task: (message2, uploadItems) => {
28958
- return new Promise(resolve => {
28959
- uploader.upload(uploadItems, {
28960
- onProgress: progress => hooks?.onProgress?.(progress),
28961
- onError: () => {
28962
- resolve({
28963
- finished: false,
28964
- message: message2
28965
- });
28966
- },
28967
- onCompleted: result => {
28968
- message2.content = mediaMessageCreator.updateMessageRemoteUrlProperty(message2.content, result);
28969
- resolve({
28970
- finished: true,
28971
- message: hooks?.onComplete?.(result) ?? message2
28972
- });
28973
- }
28946
+ try {
28947
+ const prepareResult = await uploader.prepare(files);
28948
+ message1.content = mediaMessageCreator.updateMessageRemoteUrlProperty(message1.content, {
28949
+ urls: prepareResult.items.map(item => item.url),
28950
+ encryptedKey: prepareResult.encryptKey
28951
+ });
28952
+ return internal_sendMessage(conversation, message1, sendOptions, {
28953
+ uploadItems: prepareResult,
28954
+ task: (message2, uploadItems) => {
28955
+ return new Promise(resolve => {
28956
+ uploader.upload(uploadItems, {
28957
+ onProgress: progress => hooks?.onProgress?.(progress),
28958
+ onError: () => {
28959
+ resolve({
28960
+ finished: false,
28961
+ message: message2
28962
+ });
28963
+ },
28964
+ onCompleted: result => {
28965
+ resolve({
28966
+ finished: true,
28967
+ message: hooks?.onComplete?.(result) ?? message2
28968
+ });
28969
+ }
28970
+ });
28974
28971
  });
28975
- });
28976
- }
28977
- });
28972
+ }
28973
+ });
28974
+ } catch (error) {
28975
+ return {
28976
+ code: ErrorCode.UPLOAD_FILE_FAILED
28977
+ };
28978
+ }
28978
28979
  }
28979
28980
  async function internal_sendMessage(conversation, message, options, uploadOptions) {
28980
28981
  const checkResult = await beforeSend(conversation, message, options, uploadOptions?.uploadItems);
package/index.umd.js CHANGED
@@ -28949,38 +28949,39 @@
28949
28949
  message1.content.user = msgBody.user;
28950
28950
  message1.content.extra = msgBody.extra;
28951
28951
  const uploader = imConfig.getUploader();
28952
- const prepareResult = await uploader.prepare(files);
28953
- const uploadItems = files.map((file, i) => ({
28954
- url: prepareResult.urls[i],
28955
- file: file
28956
- }));
28957
- const mediaUploadParams = {
28958
- encryptKey: prepareResult.encryptedKey,
28959
- items: uploadItems
28960
- };
28961
- return internal_sendMessage(conversation, message1, sendOptions, {
28962
- uploadItems: mediaUploadParams,
28963
- task: (message2, uploadItems) => {
28964
- return new Promise(resolve => {
28965
- uploader.upload(uploadItems, {
28966
- onProgress: progress => hooks?.onProgress?.(progress),
28967
- onError: () => {
28968
- resolve({
28969
- finished: false,
28970
- message: message2
28971
- });
28972
- },
28973
- onCompleted: result => {
28974
- message2.content = mediaMessageCreator.updateMessageRemoteUrlProperty(message2.content, result);
28975
- resolve({
28976
- finished: true,
28977
- message: hooks?.onComplete?.(result) ?? message2
28978
- });
28979
- }
28952
+ try {
28953
+ const prepareResult = await uploader.prepare(files);
28954
+ message1.content = mediaMessageCreator.updateMessageRemoteUrlProperty(message1.content, {
28955
+ urls: prepareResult.items.map(item => item.url),
28956
+ encryptedKey: prepareResult.encryptKey
28957
+ });
28958
+ return internal_sendMessage(conversation, message1, sendOptions, {
28959
+ uploadItems: prepareResult,
28960
+ task: (message2, uploadItems) => {
28961
+ return new Promise(resolve => {
28962
+ uploader.upload(uploadItems, {
28963
+ onProgress: progress => hooks?.onProgress?.(progress),
28964
+ onError: () => {
28965
+ resolve({
28966
+ finished: false,
28967
+ message: message2
28968
+ });
28969
+ },
28970
+ onCompleted: result => {
28971
+ resolve({
28972
+ finished: true,
28973
+ message: hooks?.onComplete?.(result) ?? message2
28974
+ });
28975
+ }
28976
+ });
28980
28977
  });
28981
- });
28982
- }
28983
- });
28978
+ }
28979
+ });
28980
+ } catch (error) {
28981
+ return {
28982
+ code: exports.ErrorCode.UPLOAD_FILE_FAILED
28983
+ };
28984
+ }
28984
28985
  }
28985
28986
  async function internal_sendMessage(conversation, message, options, uploadOptions) {
28986
28987
  const checkResult = await beforeSend(conversation, message, options, uploadOptions?.uploadItems);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@onyx-p/imlib-web",
3
- "version": "2.3.8",
3
+ "version": "2.4.0",
4
4
  "main": "index.umd.js",
5
5
  "module": "index.esm.js",
6
6
  "types": "types/index.d.ts",
package/types/types.d.ts CHANGED
@@ -168,10 +168,6 @@ export interface IUploadHooks {
168
168
  */
169
169
  onComplete?: (result: IUploadCompletedResult) => void | BaseMessage;
170
170
  }
171
- export type IUploadPrepareResult = {
172
- urls: string[];
173
- encryptedKey: string;
174
- };
175
171
  export interface IUploadMessageParams {
176
172
  items: {
177
173
  url: string;
@@ -179,6 +175,7 @@ export interface IUploadMessageParams {
179
175
  }[];
180
176
  encryptKey: string;
181
177
  }
178
+ export type IUploadPrepareResult = IUploadMessageParams;
182
179
  export type IUploadCompletedResult = {
183
180
  urls: string[];
184
181
  encryptedKey: string;