Merge remote-tracking branch 'origin/develop' into release-candidate

pull/22825/head
Guilherme Gazzo 4 years ago
commit 4e6f92c4b5
  1. 1
      app/metrics/server/lib/metrics.js
  2. 16
      client/components/Message/Attachments/DefaultAttachment.tsx
  3. 32
      package-lock.json
  4. 9
      server/services/meteor/service.ts

@ -46,6 +46,7 @@ metrics.meteorSubscriptions = new client.Summary({
metrics.messagesSent = new client.Counter({ name: 'rocketchat_message_sent', help: 'cumulated number of messages sent' });
metrics.notificationsSent = new client.Counter({ name: 'rocketchat_notification_sent', labelNames: ['notification_type'], help: 'cumulated number of notifications sent' });
metrics.messageRoundtripTime = new client.Gauge({ name: 'rocketchat_messages_roundtrip_time', help: 'time spent by a message from save to receive back' });
metrics.ddpSessions = new client.Gauge({ name: 'rocketchat_ddp_sessions_count', help: 'number of open ddp sessions' });
metrics.ddpAuthenticatedSessions = new client.Gauge({ name: 'rocketchat_ddp_sessions_auth', help: 'number of authenticated open ddp sessions' });

@ -80,13 +80,15 @@ const DefaultAttachment: FC<MessageAttachmentDefault> = (attachment) => {
const { value, ...rest } = field;
const cleanValue = (value as string).replace(/(.*)/g, (line: string) => {
if (line.trim() === '') {
return `${line} <br/>`;
}
return `${line} `;
});
return { ...rest, value: <MarkdownText variant='inline' content={cleanValue} /> };
return {
...rest,
value: (
<MarkdownText
variant='inline'
content={value.replace(/(.*)/g, (line: string) => `${line} `)}
/>
),
};
})}
/>
)}

32
package-lock.json generated

@ -4940,29 +4940,24 @@
},
"dependencies": {
"@rocket.chat/css-in-js": {
"version": "0.26.0",
"resolved": "https://registry.npmjs.org/@rocket.chat/css-in-js/-/css-in-js-0.26.0.tgz",
"integrity": "sha512-QYwAGdXcNxGOdd2tYdJqsIf3sG9+8Ji3L433bsBdWaYOTdam2z/Nu0zpdz94mvVegU7+0WV02tc+hFwyztXjIQ==",
"version": "0.27.0",
"resolved": "https://registry.npmjs.org/@rocket.chat/css-in-js/-/css-in-js-0.27.0.tgz",
"integrity": "sha512-P8SpyQySQRgyl88ewpaCn1Ve0UHolDeYiIOVel59Aeohs9Bw5J4YP1Q/4+AMnQ2zihFcfc9P6FA8Uh7If0zFpA==",
"requires": {
"@emotion/hash": "^0.8.0",
"@rocket.chat/memo": "^0.26.0",
"@rocket.chat/memo": "^0.27.0",
"stylis": "^4.0.10"
}
},
"@rocket.chat/fuselage-tokens": {
"version": "0.26.0",
"resolved": "https://registry.npmjs.org/@rocket.chat/fuselage-tokens/-/fuselage-tokens-0.26.0.tgz",
"integrity": "sha512-ZNZXd1v96Yhjz9kYZvJigBVt6TE4WWSj0B/R3oLPqDntBU3ycgv7DwMYJCbD63l8T3v54TCoa/kMtF55mv2BVw=="
"version": "0.27.0",
"resolved": "https://registry.npmjs.org/@rocket.chat/fuselage-tokens/-/fuselage-tokens-0.27.0.tgz",
"integrity": "sha512-mRVvqWKhCBYR62RKVlGSiuMLnsUKO2vhH1SqSFigf9OgTrLTDS9wKHZ09DI1iBs+m7aA2IQ3RVROyItcg4rNDA=="
},
"@rocket.chat/memo": {
"version": "0.26.0",
"resolved": "https://registry.npmjs.org/@rocket.chat/memo/-/memo-0.26.0.tgz",
"integrity": "sha512-DKzQi/KINI3JhSpj8odXP2uWv77uZwRIfoN2kBCppNXhVeXRnsyt5p9L54i1uKRESnymSi0gPmpFy7UOLgJi3Q=="
},
"stylis": {
"version": "4.0.10",
"resolved": "https://registry.npmjs.org/stylis/-/stylis-4.0.10.tgz",
"integrity": "sha512-m3k+dk7QeJw660eIKRRn3xPF6uuvHs/FFzjX3HQ5ove0qYsiygoAhwn5a3IYKaZPo5LrYD0rfVmtv1gNY1uYwg=="
"version": "0.27.0",
"resolved": "https://registry.npmjs.org/@rocket.chat/memo/-/memo-0.27.0.tgz",
"integrity": "sha512-cpdJhkSDCJ/eQa406kXZsG2/mHJHoxH8cGdPL0IsMGLL7+oZ9WO+t2ye5rUU+0cgnJAibPwuaaTvM4VE8r3v2w=="
}
}
},
@ -9461,7 +9456,7 @@
"integrity": "sha512-0ohAiJAx1DAUEcY9UopnfwCE9sSMDGnY/oXjWMax6g3RpzmTt2GMyMVAXcbn0mo8XAff0SbQJl2/SBU+hjSZ1A==",
"dev": true,
"requires": {
"@types/react": "^16"
"@types/react": "*"
},
"dependencies": {
"@types/react": {
@ -33981,6 +33976,11 @@
}
}
},
"stylis": {
"version": "4.0.10",
"resolved": "https://registry.npmjs.org/stylis/-/stylis-4.0.10.tgz",
"integrity": "sha512-m3k+dk7QeJw660eIKRRn3xPF6uuvHs/FFzjX3HQ5ove0qYsiygoAhwn5a3IYKaZPo5LrYD0rfVmtv1gNY1uYwg=="
},
"sugarss": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/sugarss/-/sugarss-2.0.0.tgz",

@ -4,6 +4,7 @@ import { ServiceConfiguration } from 'meteor/service-configuration';
import { UserPresenceMonitor, UserPresence } from 'meteor/konecty:user-presence';
import { MongoInternals } from 'meteor/mongo';
import { metrics } from '../../../app/metrics';
import { ServiceClass } from '../../sdk/types/ServiceClass';
import { IMeteor, AutoUpdateRecord } from '../../sdk/types/IMeteor';
import { api } from '../../sdk/api';
@ -237,6 +238,14 @@ export class MeteorService extends ServiceClass implements IMeteor {
this.onEvent('watch.emailInbox', async () => {
configureEmailInboxes();
});
if (!process.env.DISABLE_MESSAGE_ROUNDTRIP_TRACKING) {
this.onEvent('watch.messages', ({ message }) => {
if (message?._updatedAt) {
metrics.messageRoundtripTime.set(Date.now() - message._updatedAt.getDate());
}
});
}
}
async getLastAutoUpdateClientVersions(): Promise<AutoUpdateRecord[]> {

Loading…
Cancel
Save