From 14dcf28d149ba36e32b1770b520a7933cc7b54e7 Mon Sep 17 00:00:00 2001 From: murtaza98 Date: Thu, 7 Oct 2021 11:03:57 +0530 Subject: [PATCH 1/2] Fix user/agent upload not working via Apps Engine after 3.16.0 --- app/apps/server/bridges/uploads.ts | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/app/apps/server/bridges/uploads.ts b/app/apps/server/bridges/uploads.ts index 27dcbbff3dd45..80fe8bad1b45a 100644 --- a/app/apps/server/bridges/uploads.ts +++ b/app/apps/server/bridges/uploads.ts @@ -6,6 +6,7 @@ import { IUploadDetails } from '@rocket.chat/apps-engine/definition/uploads/IUpl import { FileUpload } from '../../../file-upload/server'; import { determineFileType } from '../../lib/misc/determineFileType'; import { AppServerOrchestrator } from '../orchestrator'; +import { SystemLogger } from '../../../../server/lib/logger/system'; const getUploadDetails = (details: IUploadDetails): Partial => { @@ -56,17 +57,17 @@ export class AppUploadBridge extends UploadBridge { return new Promise(Meteor.bindEnvironment((resolve, reject) => { try { - const uploadedFile = fileStore.insertSync(getUploadDetails(details), buffer); - - if (details.visitorToken) { - Meteor.call('sendFileLivechatMessage', details.rid, details.visitorToken, uploadedFile); - } else { - Meteor.runAsUser(details.userId, () => { + SystemLogger.debug({ msg: 'App bridge is trying to upload the file.', details }); + Meteor.runAsUser(details.userId, () => { + const uploadedFile = fileStore.insertSync(getUploadDetails(details), buffer); + SystemLogger.debug({ msg: 'App bridge has successfully uploaded the file', uploadedFile }); + if (details.visitorToken) { + Meteor.call('sendFileLivechatMessage', details.rid, details.visitorToken, uploadedFile); + } else { Meteor.call('sendFileMessage', details.rid, null, uploadedFile); - }); - } - - resolve(this.orch.getConverters()?.get('uploads').convertToApp(uploadedFile)); + } + resolve(this.orch.getConverters()?.get('uploads').convertToApp(uploadedFile)); + }); } catch (err) { reject(err); } From 120637c3cf3914ef3d079c9eb03f080676f380e1 Mon Sep 17 00:00:00 2001 From: murtaza98 Date: Fri, 8 Oct 2021 12:00:08 +0530 Subject: [PATCH 2/2] Convert System logger to orch logger --- app/apps/server/bridges/uploads.ts | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/app/apps/server/bridges/uploads.ts b/app/apps/server/bridges/uploads.ts index 80fe8bad1b45a..ab7d6bb2da14d 100644 --- a/app/apps/server/bridges/uploads.ts +++ b/app/apps/server/bridges/uploads.ts @@ -6,8 +6,6 @@ import { IUploadDetails } from '@rocket.chat/apps-engine/definition/uploads/IUpl import { FileUpload } from '../../../file-upload/server'; import { determineFileType } from '../../lib/misc/determineFileType'; import { AppServerOrchestrator } from '../orchestrator'; -import { SystemLogger } from '../../../../server/lib/logger/system'; - const getUploadDetails = (details: IUploadDetails): Partial => { if (details.visitorToken) { @@ -57,10 +55,9 @@ export class AppUploadBridge extends UploadBridge { return new Promise(Meteor.bindEnvironment((resolve, reject) => { try { - SystemLogger.debug({ msg: 'App bridge is trying to upload the file.', details }); Meteor.runAsUser(details.userId, () => { const uploadedFile = fileStore.insertSync(getUploadDetails(details), buffer); - SystemLogger.debug({ msg: 'App bridge has successfully uploaded the file', uploadedFile }); + this.orch.debugLog(`The App ${ appId } has created an upload`, uploadedFile); if (details.visitorToken) { Meteor.call('sendFileLivechatMessage', details.rid, details.visitorToken, uploadedFile); } else {