[FIX] Server Errors on new Client Connections (#19266)

Co-authored-by: Diego Sampaio <chinello@gmail.com>
pull/19348/head^2
pierre-lehnen-rc 6 years ago committed by GitHub
parent c8ba4930c2
commit 834c34bb5e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 1
      app/api/server/v1/autotranslate.js
  2. 28
      app/autotranslate/client/lib/autotranslate.js
  3. 2
      app/ui-message/client/message.js
  4. 5
      client/startup/startup.js

@ -22,6 +22,7 @@ API.v1.addRoute('autotranslate.saveSettings', { authRequired: true }, {
if (!settings.get('AutoTranslate_Enabled')) {
return API.v1.failure('AutoTranslate is disabled.');
}
if (!roomId) {
return API.v1.failure('The bodyParam "roomId" is required.');
}

@ -6,7 +6,7 @@ import mem from 'mem';
import { Subscriptions, Messages } from '../../../models';
import { callbacks } from '../../../callbacks';
import { settings } from '../../../settings';
import { hasAtLeastOnePermission } from '../../../authorization';
import { hasAtLeastOnePermission, hasPermission } from '../../../authorization';
import { CachedCollectionManager } from '../../../ui-cached-collection';
let userLanguage = 'en';
@ -60,12 +60,28 @@ export const AutoTranslate = {
},
init() {
Meteor.call('autoTranslate.getSupportedLanguages', 'en', (err, languages) => {
this.supportedLanguages = languages || [];
});
this.supportedLanguages = [];
this.providersMetadata = {};
Tracker.autorun((c) => {
const uid = Meteor.userId();
if (!uid) {
return;
}
Meteor.call('autoTranslate.getProviderUiMetadata', (err, metadata) => {
this.providersMetadata = metadata;
});
if (!hasPermission('auto-translate')) {
return;
}
Meteor.call('autoTranslate.getSupportedLanguages', 'en', (err, languages) => {
this.supportedLanguages = languages || [];
});
Meteor.call('autoTranslate.getProviderUiMetadata', (err, metadata) => {
this.providersMetadata = metadata;
c.stop();
});
Tracker.autorun(() => {

@ -236,7 +236,7 @@ Template.message.helpers({
translationProvider() {
const instance = Template.instance();
const { translationProvider } = instance.data.msg;
return translationProvider && AutoTranslate.providersMetadata[translationProvider].displayName;
return translationProvider && AutoTranslate.providersMetadata[translationProvider]?.displayName;
},
edited() {
const { msg } = this;

@ -10,6 +10,7 @@ import toastr from 'toastr';
import hljs from '../../app/markdown/lib/hljs';
import { fireGlobalEvent, alerts } from '../../app/ui-utils';
import { getUserPreference, t } from '../../app/utils';
import { hasPermission } from '../../app/authorization/client';
import 'highlight.js/styles/github.css';
import { synchronizeUserData } from '../lib/userData';
@ -69,6 +70,10 @@ Meteor.startup(function() {
return;
}
if (!hasPermission('manage-cloud')) {
return;
}
Meteor.call('cloud:checkRegisterStatus', (err, data) => {
if (err) {
console.log(err);

Loading…
Cancel
Save