Merge remote-tracking branch 'upstream/v2.5.x-release' into refactor-notes-viewing-mode
This commit is contained in:
commit
3f05270c03
@ -470,6 +470,7 @@ class BreakoutRoom extends PureComponent {
|
||||
.filter((user) => !stateUsersId.includes(user.userId))
|
||||
.map((user) => ({
|
||||
userId: user.userId,
|
||||
extId: user.extId,
|
||||
userName: user.name,
|
||||
isModerator: user.role === ROLE_MODERATOR,
|
||||
room: 0,
|
||||
@ -611,7 +612,8 @@ class BreakoutRoom extends PureComponent {
|
||||
}
|
||||
|
||||
populateWithLastBreakouts(lastBreakouts) {
|
||||
const { getBreakoutUserWasIn, users, intl } = this.props;
|
||||
const { getBreakoutUserWasIn, intl } = this.props;
|
||||
const { users } = this.state;
|
||||
|
||||
const changedNames = [];
|
||||
lastBreakouts.forEach((breakout) => {
|
||||
|
@ -1,9 +1,11 @@
|
||||
import _ from 'lodash';
|
||||
import Pads, { PadsUpdates } from '/imports/api/pads';
|
||||
import { makeCall } from '/imports/ui/services/api';
|
||||
import Auth from '/imports/ui/services/auth';
|
||||
import Settings from '/imports/ui/services/settings';
|
||||
|
||||
const PADS_CONFIG = Meteor.settings.public.pads;
|
||||
const THROTTLE_TIMEOUT = 2000;
|
||||
|
||||
const getLang = () => {
|
||||
const { locale } = Settings.application;
|
||||
@ -38,6 +40,11 @@ const hasPad = (externalId) => {
|
||||
|
||||
const createSession = (externalId) => makeCall('createSession', externalId);
|
||||
|
||||
const throttledCreateSession = _.throttle(createSession, THROTTLE_TIMEOUT, {
|
||||
leading: true,
|
||||
trailing: false,
|
||||
});
|
||||
|
||||
const buildPadURL = (padId) => {
|
||||
if (padId) {
|
||||
const params = getParams();
|
||||
@ -89,7 +96,7 @@ export default {
|
||||
getPadId,
|
||||
createGroup,
|
||||
hasPad,
|
||||
createSession,
|
||||
createSession: (externalId) => throttledCreateSession(externalId),
|
||||
buildPadURL,
|
||||
getRev,
|
||||
getPadTail,
|
||||
|
@ -737,7 +737,7 @@ class Presentation extends PureComponent {
|
||||
return (
|
||||
<PresentationMenu
|
||||
fullscreenRef={this.refPresentationContainer}
|
||||
screenshotRef={this.getSvgRef()}
|
||||
getScreenshotRef={this.getSvgRef}
|
||||
elementName={intl.formatMessage(intlMessages.presentationLabel)}
|
||||
elementId={fullscreenElementId}
|
||||
toggleSwapLayout={MediaService.toggleSwapLayout}
|
||||
|
@ -90,7 +90,7 @@ const PresentationMenu = (props) => {
|
||||
currentElement,
|
||||
currentGroup,
|
||||
fullscreenRef,
|
||||
screenshotRef,
|
||||
getScreenshotRef,
|
||||
handleToggleFullscreen,
|
||||
layoutContextDispatch,
|
||||
meetingName,
|
||||
@ -199,7 +199,7 @@ const PresentationMenu = (props) => {
|
||||
},
|
||||
});
|
||||
|
||||
toPng(screenshotRef, {
|
||||
toPng(getScreenshotRef(), {
|
||||
width: window.screen.width,
|
||||
height: window.screen.height,
|
||||
}).then((data) => {
|
||||
|
@ -1039,7 +1039,7 @@ class PresentationUploader extends Component {
|
||||
|
||||
let hasNewUpload = false;
|
||||
|
||||
presentations.map((item) => {
|
||||
presentations.forEach((item) => {
|
||||
if (item.id.indexOf(item.filename) !== -1 && item.upload.progress === 0) hasNewUpload = true;
|
||||
});
|
||||
|
||||
|
@ -1,8 +1,8 @@
|
||||
import styled from 'styled-components';
|
||||
|
||||
import Styled from '/imports/ui/components/user-list/styles';
|
||||
import StyledContent from '/imports/ui/components/user-list/user-list-content/styles';
|
||||
|
||||
const ListItem = styled(Styled.ListItem)``;
|
||||
const ListItem = styled(StyledContent.ListItem)``;
|
||||
|
||||
export default {
|
||||
ListItem,
|
||||
|
@ -637,7 +637,7 @@ class PollDrawComponent extends Component {
|
||||
}
|
||||
|
||||
ariaResultLabel = `${intl.formatMessage(intlMessages.pollResultAria)}: `;
|
||||
textArray.map((t, idx) => {
|
||||
textArray.forEach((t, idx) => {
|
||||
const pollLine = t.slice(0, -1);
|
||||
ariaResultLabel += `${idx > 0 ? ' |' : ''} ${pollLine.join(' | ')}`;
|
||||
});
|
||||
|
@ -437,7 +437,6 @@ class AudioManager {
|
||||
this.inputDevice = { id: 'default' };
|
||||
}
|
||||
|
||||
window.parent.postMessage({ response: 'notInAudio' }, '*');
|
||||
window.removeEventListener('audioPlayFailed', this.handlePlayElementFailed);
|
||||
|
||||
const bridge =
|
||||
|
Loading…
Reference in New Issue
Block a user