From 4d4fdf873abfd088ca66f8e2cbaf5d31ed2bd90c Mon Sep 17 00:00:00 2001 From: murtaza98 Date: Wed, 12 Jul 2023 10:09:54 +0400 Subject: [PATCH 1/2] regression: Move channel related props outside of room.visitor (cherry picked from commit 9dd14b260ff7a24334c491480b4fc5321f55e0cc) --- .../app/apps/server/converters/rooms.js | 32 +++++++++++-------- 1 file changed, 19 insertions(+), 13 deletions(-) diff --git a/apps/meteor/app/apps/server/converters/rooms.js b/apps/meteor/app/apps/server/converters/rooms.js index 44d513bd591d7..111298213619c 100644 --- a/apps/meteor/app/apps/server/converters/rooms.js +++ b/apps/meteor/app/apps/server/converters/rooms.js @@ -39,8 +39,8 @@ export class AppRoomsConverter { if (room.visitor) { const visitor = await LivechatVisitors.findOneById(room.visitor.id); - const lastMessageTs = room?.visitor?.lastMessageTs; - const phone = room?.visitor?.channelPhone; + const { lastMessageTs, phone } = room.visitorChannelInfo; + v = { _id: visitor._id, username: visitor.username, @@ -170,26 +170,32 @@ export class AppRoomsConverter { return this.orch.getConverters().get('users').convertById(u._id); }, - visitor: async (room) => { + visitor: (room) => { const { v } = room; if (!v) { return undefined; } - const { lastMessageTs, phone } = v; + return this.orch.getConverters().get('visitors').convertById(v._id); + }, + // Note: room.v is not just visitor, it also contains channel related visitor data + // so we need to pass this data to the converter + // So suppose you have a contact whom we're contacting using SMS via 2 phone no's, + // let's call X and Y. Then if the contact sends a message using X phone number, + // then room.v.phoneNo would be X and correspondingly we'll store the timestamp of + // the last message from this visitor from X phone no on room.v.lastMessageTs + visitorChannelInfo: (room) => { + const { v } = room; - delete room.v; + if (!v) { + return undefined; + } + + const { lastMessageTs, phone } = v; return { - ...(await this.orch.getConverters().get('visitors').convertById(v._id)), - // Note: room.v is not just visitor, it also contains channel related visitor data - // so we need to pass this data to the converter - // So suppose you have a contact whom we're contacting using SMS via 2 phone no's, - // let's call X and Y. Then if the contact sends a message using X phone number, - // then room.v.phoneNo would be X and correspondingly we'll store the timestamp of - // the last message from this visitor from X phone no on room.v.lastMessageTs - ...(phone && { channelPhone: phone }), + ...(phone && { phone }), ...(lastMessageTs && { lastMessageTs }), }; }, From e2ae90e23c57f3ee7769e7c8a820bb91716464e8 Mon Sep 17 00:00:00 2001 From: Douglas Gubert Date: Mon, 24 Jul 2023 14:12:38 -0300 Subject: [PATCH 2/2] Bump up apps-engine dependencies --- apps/meteor/ee/server/services/package.json | 2 +- apps/meteor/package.json | 2 +- ee/apps/ddp-streamer/package.json | 2 +- ee/packages/presence/package.json | 2 +- packages/core-services/package.json | 2 +- packages/core-typings/package.json | 2 +- packages/fuselage-ui-kit/package.json | 2 +- packages/rest-typings/package.json | 2 +- yarn.lock | 42 ++++++--------------- 9 files changed, 20 insertions(+), 38 deletions(-) diff --git a/apps/meteor/ee/server/services/package.json b/apps/meteor/ee/server/services/package.json index dc6659b47730e..05055eef0dada 100644 --- a/apps/meteor/ee/server/services/package.json +++ b/apps/meteor/ee/server/services/package.json @@ -18,7 +18,7 @@ "author": "Rocket.Chat", "license": "MIT", "dependencies": { - "@rocket.chat/apps-engine": "1.39.1", + "@rocket.chat/apps-engine": "1.41.0-alpha.290", "@rocket.chat/core-services": "workspace:^", "@rocket.chat/core-typings": "workspace:^", "@rocket.chat/emitter": "next", diff --git a/apps/meteor/package.json b/apps/meteor/package.json index f3e19d15a50c6..240b75331ba71 100644 --- a/apps/meteor/package.json +++ b/apps/meteor/package.json @@ -222,7 +222,7 @@ "@rocket.chat/account-utils": "workspace:^", "@rocket.chat/agenda": "workspace:^", "@rocket.chat/api-client": "workspace:^", - "@rocket.chat/apps-engine": "1.40.0-alpha.280", + "@rocket.chat/apps-engine": "1.41.0-alpha.290", "@rocket.chat/base64": "workspace:^", "@rocket.chat/cas-validate": "workspace:^", "@rocket.chat/core-services": "workspace:^", diff --git a/ee/apps/ddp-streamer/package.json b/ee/apps/ddp-streamer/package.json index 06d2a7bb31477..99279c2a817f2 100644 --- a/ee/apps/ddp-streamer/package.json +++ b/ee/apps/ddp-streamer/package.json @@ -15,7 +15,7 @@ ], "author": "Rocket.Chat", "dependencies": { - "@rocket.chat/apps-engine": "1.39.1", + "@rocket.chat/apps-engine": "1.41.0-alpha.290", "@rocket.chat/core-services": "workspace:^", "@rocket.chat/core-typings": "workspace:^", "@rocket.chat/emitter": "next", diff --git a/ee/packages/presence/package.json b/ee/packages/presence/package.json index 637170c811a3c..b3e1660802dda 100644 --- a/ee/packages/presence/package.json +++ b/ee/packages/presence/package.json @@ -6,7 +6,7 @@ "@babel/core": "~7.22.5", "@babel/preset-env": "~7.22.5", "@babel/preset-typescript": "~7.22.5", - "@rocket.chat/apps-engine": "1.39.1", + "@rocket.chat/apps-engine": "1.41.0-alpha.290", "@rocket.chat/eslint-config": "workspace:^", "@rocket.chat/rest-typings": "workspace:^", "@types/node": "^14.18.51", diff --git a/packages/core-services/package.json b/packages/core-services/package.json index 3ef8d4bdb8bc4..420c2335a6610 100644 --- a/packages/core-services/package.json +++ b/packages/core-services/package.json @@ -31,7 +31,7 @@ "/dist" ], "dependencies": { - "@rocket.chat/apps-engine": "1.39.1", + "@rocket.chat/apps-engine": "1.41.0-alpha.290", "@rocket.chat/core-typings": "workspace:^", "@rocket.chat/icons": "next", "@rocket.chat/message-parser": "next", diff --git a/packages/core-typings/package.json b/packages/core-typings/package.json index 29f1491a04017..adee80f8a29d0 100644 --- a/packages/core-typings/package.json +++ b/packages/core-typings/package.json @@ -21,7 +21,7 @@ "/dist" ], "dependencies": { - "@rocket.chat/apps-engine": "1.39.1", + "@rocket.chat/apps-engine": "1.41.0-alpha.290", "@rocket.chat/icons": "next", "@rocket.chat/message-parser": "next", "@rocket.chat/ui-kit": "next" diff --git a/packages/fuselage-ui-kit/package.json b/packages/fuselage-ui-kit/package.json index 5b3145dce4ac5..47cc6c95d108c 100644 --- a/packages/fuselage-ui-kit/package.json +++ b/packages/fuselage-ui-kit/package.json @@ -55,7 +55,7 @@ "react-dom": "*" }, "devDependencies": { - "@rocket.chat/apps-engine": "1.39.1", + "@rocket.chat/apps-engine": "1.41.0-alpha.290", "@rocket.chat/eslint-config": "workspace:^", "@rocket.chat/fuselage": "next", "@rocket.chat/fuselage-hooks": "next", diff --git a/packages/rest-typings/package.json b/packages/rest-typings/package.json index 470e2c756aa77..374c422f3ee38 100644 --- a/packages/rest-typings/package.json +++ b/packages/rest-typings/package.json @@ -24,7 +24,7 @@ "/dist" ], "dependencies": { - "@rocket.chat/apps-engine": "1.39.1", + "@rocket.chat/apps-engine": "1.41.0-alpha.290", "@rocket.chat/core-typings": "workspace:^", "@rocket.chat/message-parser": "next", "@rocket.chat/ui-kit": "next", diff --git a/yarn.lock b/yarn.lock index 206688258a58d..9c783f2645d2e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -9300,9 +9300,9 @@ __metadata: languageName: unknown linkType: soft -"@rocket.chat/apps-engine@npm:1.39.1": - version: 1.39.1 - resolution: "@rocket.chat/apps-engine@npm:1.39.1" +"@rocket.chat/apps-engine@npm:1.41.0-alpha.290": + version: 1.41.0-alpha.290 + resolution: "@rocket.chat/apps-engine@npm:1.41.0-alpha.290" dependencies: adm-zip: ^0.5.9 cryptiles: ^4.1.3 @@ -9314,25 +9314,7 @@ __metadata: vm2: ^3.9.19 peerDependencies: "@rocket.chat/ui-kit": "*" - checksum: f42f2c93f872b04fedd88fc08ac1223db2140036c2e9cb336e01fc58fd2fd347a747b657009a5efd785bdfa858331a91ec56b94abe997e5bddeee03b7e8c4280 - languageName: node - linkType: hard - -"@rocket.chat/apps-engine@npm:1.40.0-alpha.280": - version: 1.40.0-alpha.280 - resolution: "@rocket.chat/apps-engine@npm:1.40.0-alpha.280" - dependencies: - adm-zip: ^0.5.9 - cryptiles: ^4.1.3 - jose: ^4.11.1 - lodash.clonedeep: ^4.5.0 - semver: ^5.7.1 - stack-trace: 0.0.10 - uuid: ^3.4.0 - vm2: ^3.9.19 - peerDependencies: - "@rocket.chat/ui-kit": "*" - checksum: e52495051a4f245ee04794a88df6f0c771f16367448290a8e83603ddc9341585d62699c84e829515ca43afe3e19135d38b205019a3ad611e7cbcbe45e5de978e + checksum: f31f4c9bac7f036d22b023688d9854196340f5813112a016848ddbea9589088ab5a2a7830b691c24ef01e9cce98e9046c5b8780bc46dd3bef6f3a05207d51a60 languageName: node linkType: hard @@ -9402,7 +9384,7 @@ __metadata: "@babel/core": ^7.21.4 "@babel/preset-env": ^7.21.4 "@babel/preset-typescript": ^7.21.4 - "@rocket.chat/apps-engine": 1.39.1 + "@rocket.chat/apps-engine": 1.41.0-alpha.290 "@rocket.chat/core-typings": "workspace:^" "@rocket.chat/eslint-config": "workspace:^" "@rocket.chat/icons": next @@ -9428,7 +9410,7 @@ __metadata: version: 0.0.0-use.local resolution: "@rocket.chat/core-typings@workspace:packages/core-typings" dependencies: - "@rocket.chat/apps-engine": 1.39.1 + "@rocket.chat/apps-engine": 1.41.0-alpha.290 "@rocket.chat/eslint-config": "workspace:^" "@rocket.chat/icons": next "@rocket.chat/message-parser": next @@ -9517,7 +9499,7 @@ __metadata: version: 0.0.0-use.local resolution: "@rocket.chat/ddp-streamer@workspace:ee/apps/ddp-streamer" dependencies: - "@rocket.chat/apps-engine": 1.39.1 + "@rocket.chat/apps-engine": 1.41.0-alpha.290 "@rocket.chat/core-services": "workspace:^" "@rocket.chat/core-typings": "workspace:^" "@rocket.chat/emitter": next @@ -9710,7 +9692,7 @@ __metadata: version: 0.0.0-use.local resolution: "@rocket.chat/fuselage-ui-kit@workspace:packages/fuselage-ui-kit" dependencies: - "@rocket.chat/apps-engine": 1.39.1 + "@rocket.chat/apps-engine": 1.41.0-alpha.290 "@rocket.chat/eslint-config": "workspace:^" "@rocket.chat/fuselage": next "@rocket.chat/fuselage-hooks": next @@ -10056,7 +10038,7 @@ __metadata: "@rocket.chat/account-utils": "workspace:^" "@rocket.chat/agenda": "workspace:^" "@rocket.chat/api-client": "workspace:^" - "@rocket.chat/apps-engine": 1.40.0-alpha.280 + "@rocket.chat/apps-engine": 1.41.0-alpha.290 "@rocket.chat/base64": "workspace:^" "@rocket.chat/cas-validate": "workspace:^" "@rocket.chat/core-services": "workspace:^" @@ -10622,7 +10604,7 @@ __metadata: "@babel/core": ~7.22.5 "@babel/preset-env": ~7.22.5 "@babel/preset-typescript": ~7.22.5 - "@rocket.chat/apps-engine": 1.39.1 + "@rocket.chat/apps-engine": 1.41.0-alpha.290 "@rocket.chat/core-services": "workspace:^" "@rocket.chat/core-typings": "workspace:^" "@rocket.chat/eslint-config": "workspace:^" @@ -10721,7 +10703,7 @@ __metadata: version: 0.0.0-use.local resolution: "@rocket.chat/rest-typings@workspace:packages/rest-typings" dependencies: - "@rocket.chat/apps-engine": 1.39.1 + "@rocket.chat/apps-engine": 1.41.0-alpha.290 "@rocket.chat/core-typings": "workspace:^" "@rocket.chat/eslint-config": "workspace:^" "@rocket.chat/message-parser": next @@ -36270,7 +36252,7 @@ __metadata: version: 0.0.0-use.local resolution: "rocketchat-services@workspace:apps/meteor/ee/server/services" dependencies: - "@rocket.chat/apps-engine": 1.39.1 + "@rocket.chat/apps-engine": 1.41.0-alpha.290 "@rocket.chat/core-services": "workspace:^" "@rocket.chat/core-typings": "workspace:^" "@rocket.chat/emitter": next