merge next

This commit is contained in:
or-else
2023-01-04 18:09:16 -08:00
47 changed files with 176 additions and 46 deletions
+1 -1
View File
@@ -142,7 +142,7 @@ class CallPanel extends React.PureComponent {
start() {
if (this.state.localStream) {
this.props.onError(this.props.intl.formatMessage(messages.already_in_call));
this.props.onError(this.props.intl.formatMessage(messages.already_in_call), 'info');
return;
}
+7 -1
View File
@@ -98,9 +98,15 @@ class BaseChatMessage extends React.PureComponent {
if (!this.props.response) {
let immutable = false;
Drafty.entities(this.props.content, (_0, _1, tp) => {
immutable = ['AU', 'EX', 'FM', 'IM', 'QQ', 'VC', 'VD'].includes(tp);
immutable = ['AU', 'EX', 'FM', 'IM', 'VC', 'VD'].includes(tp);
return immutable;
});
if (!immutable) {
Drafty.styles(this.props.content, tp => {
immutable = ['QQ'].includes(tp);
return immutable;
});
}
if (!immutable) {
menuItems.push('menu_item_edit');
}
+18 -3
View File
@@ -1,10 +1,18 @@
import React from 'react';
import { FormattedMessage } from 'react-intl';
import { FormattedMessage, defineMessages, injectIntl } from 'react-intl';
import SendMessage from './send-message.jsx';
import { bytesToHumanSize } from '../lib/strformat.js';
export default class VideoPreview extends React.PureComponent {
const messages = defineMessages({
unrecognized_video_format: {
id: 'unrecognized_video_format',
defaultMessage: 'Format of this video is not recognized',
description: 'Error message when uploaded video is invalid',
}
});
class VideoPreview extends React.PureComponent {
constructor(props) {
super(props);
@@ -23,6 +31,11 @@ export default class VideoPreview extends React.PureComponent {
name: this.props.content.filename
}
if (params.width == 0 || params.height == 0) {
this.props.onError(this.props.intl.formatMessage(messages.unrecognized_video_format), 'err');
return;
}
// Capture screen from a video.
const canvas = document.createElement('canvas');
canvas.width = params.width;
@@ -55,7 +68,7 @@ export default class VideoPreview extends React.PureComponent {
<div id="image-preview-container">
<video
className="image-preview"
controls controlist={controlist}
controls controlsList={controlist}
disablePictureInPicture ref={this.videoRef}
autoPlay={autoPlay}
src={this.props.tinode.authorizeURL(this.props.content.url)}
@@ -93,3 +106,5 @@ export default class VideoPreview extends React.PureComponent {
);
}
};
export default injectIntl(VideoPreview);