[FIX] Error generating Jitsi Token (#22301)

Co-authored-by: Tasso Evangelista <tasso.evangelista@rocket.chat>
pull/22290/head^2
gabriellsh 5 years ago committed by GitHub
parent 60ff3c690d
commit b1cafefa0c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 3
      app/videobridge/server/methods/jitsiGenerateToken.js
  2. 4
      client/lib/getUserEmailAddress.ts
  3. 2
      client/views/account/AccountProfileForm.js
  4. 2
      client/views/account/AccountProfilePage.js
  5. 2
      client/views/admin/permissions/UserRow.js
  6. 2
      client/views/admin/users/UserInfo.js
  7. 2
      client/views/omnichannel/agents/AgentEdit.js
  8. 2
      client/views/room/contextualBar/UserInfo/UserInfoWithData.js
  9. 4
      lib/getUserEmailAddress.ts

@ -4,6 +4,7 @@ import { jws } from 'jsrsasign';
import { Rooms } from '../../../models';
import { settings } from '../../../settings';
import { canAccessRoom } from '../../../authorization/server/functions/canAccessRoom';
import { getUserEmailAddress } from '../../../../lib/getUserEmailAddress';
Meteor.methods({
'jitsi:generateAccessToken': (rid) => {
@ -34,7 +35,7 @@ Meteor.methods({
payload.context = {
user: {
name: user.name,
email: user.emails[0].address,
email: getUserEmailAddress(user),
avatar: Meteor.absoluteUrl(`avatar/${ user.username }`),
id: user._id,
},

@ -1,4 +0,0 @@
import type { IUser } from '../../definition/IUser';
export const getUserEmailAddress = (user: IUser): string | undefined =>
Array.isArray(user.emails) ? user.emails.find(({ address }) => !!address)?.address : undefined;

@ -15,13 +15,13 @@ import { useDebouncedCallback, useSafely } from '@rocket.chat/fuselage-hooks';
import React, { useCallback, useMemo, useEffect, useState } from 'react';
import { isEmail } from '../../../app/utils/lib/isEmail.js';
import { getUserEmailAddress } from '../../../lib/getUserEmailAddress';
import CustomFieldsForm from '../../components/CustomFieldsForm';
import UserStatusMenu from '../../components/UserStatusMenu';
import UserAvatarEditor from '../../components/avatar/UserAvatarEditor';
import { useMethod } from '../../contexts/ServerContext';
import { useToastMessageDispatch } from '../../contexts/ToastMessagesContext';
import { useTranslation } from '../../contexts/TranslationContext';
import { getUserEmailAddress } from '../../lib/getUserEmailAddress';
const STATUS_TEXT_MAX_LENGTH = 120;

@ -2,6 +2,7 @@ import { ButtonGroup, Button, Box, Icon } from '@rocket.chat/fuselage';
import { SHA256 } from 'meteor/sha';
import React, { useMemo, useState, useCallback } from 'react';
import { getUserEmailAddress } from '../../../lib/getUserEmailAddress';
import ConfirmOwnerChangeWarningModal from '../../components/ConfirmOwnerChangeWarningModal';
import Page from '../../components/Page';
import { useSetModal } from '../../contexts/ModalContext';
@ -12,7 +13,6 @@ import { useTranslation } from '../../contexts/TranslationContext';
import { useUser } from '../../contexts/UserContext';
import { useForm } from '../../hooks/useForm';
import { useUpdateAvatar } from '../../hooks/useUpdateAvatar';
import { getUserEmailAddress } from '../../lib/getUserEmailAddress';
import AccountProfileForm from './AccountProfileForm';
import ActionConfirmModal from './ActionConfirmModal';

@ -2,8 +2,8 @@ import { Box, Table, Button, Icon } from '@rocket.chat/fuselage';
import { useMutableCallback } from '@rocket.chat/fuselage-hooks';
import React, { memo } from 'react';
import { getUserEmailAddress } from '../../../../lib/getUserEmailAddress';
import UserAvatar from '../../../components/avatar/UserAvatar';
import { getUserEmailAddress } from '../../../lib/getUserEmailAddress';
const UserRow = ({ _id, username, name, avatarETag, emails, onRemove }) => {
const email = getUserEmailAddress({ emails });

@ -2,6 +2,7 @@ import { Box } from '@rocket.chat/fuselage';
import { useMutableCallback } from '@rocket.chat/fuselage-hooks';
import React, { useMemo } from 'react';
import { getUserEmailAddress } from '../../../../lib/getUserEmailAddress';
import { FormSkeleton } from '../../../components/Skeleton';
import UserCard from '../../../components/UserCard';
import { UserStatus } from '../../../components/UserStatus';
@ -9,7 +10,6 @@ import { useSetting } from '../../../contexts/SettingsContext';
import { useTranslation } from '../../../contexts/TranslationContext';
import { AsyncStatePhase } from '../../../hooks/useAsyncState';
import { useEndpointData } from '../../../hooks/useEndpointData';
import { getUserEmailAddress } from '../../../lib/getUserEmailAddress';
import { getUserEmailVerified } from '../../../lib/getUserEmailVerified';
import UserInfo from '../../room/contextualBar/UserInfo/UserInfo';
import { UserInfoActions } from './UserInfoActions';

@ -12,13 +12,13 @@ import { useMutableCallback } from '@rocket.chat/fuselage-hooks';
import React, { useMemo, useRef, useState } from 'react';
import { useSubscription } from 'use-subscription';
import { getUserEmailAddress } from '../../../../lib/getUserEmailAddress';
import VerticalBar from '../../../components/VerticalBar';
import { useRoute } from '../../../contexts/RouterContext';
import { useMethod } from '../../../contexts/ServerContext';
import { useToastMessageDispatch } from '../../../contexts/ToastMessagesContext';
import { useTranslation } from '../../../contexts/TranslationContext';
import { useForm } from '../../../hooks/useForm';
import { getUserEmailAddress } from '../../../lib/getUserEmailAddress';
import UserInfo from '../../room/contextualBar/UserInfo';
import { formsSubscription } from '../additionalForms';

@ -1,6 +1,7 @@
import { Box } from '@rocket.chat/fuselage';
import React, { useMemo } from 'react';
import { getUserEmailAddress } from '../../../../../lib/getUserEmailAddress';
import { FormSkeleton } from '../../../../components/Skeleton';
import UserCard from '../../../../components/UserCard';
import { ReactiveUserStatus } from '../../../../components/UserStatus';
@ -10,7 +11,6 @@ import { useSetting } from '../../../../contexts/SettingsContext';
import { useTranslation } from '../../../../contexts/TranslationContext';
import { AsyncStatePhase } from '../../../../hooks/useAsyncState';
import { useEndpointData } from '../../../../hooks/useEndpointData';
import { getUserEmailAddress } from '../../../../lib/getUserEmailAddress';
import { getUserEmailVerified } from '../../../../lib/getUserEmailVerified';
import UserInfo from './UserInfo';
import UserActions from './actions/UserActions';

@ -0,0 +1,4 @@
import type { IUser } from '../definition/IUser';
export const getUserEmailAddress = (user: IUser): string | undefined =>
(Array.isArray(user.emails) ? user.emails.find(({ address }) => !!address)?.address : undefined);
Loading…
Cancel
Save