diff --git a/CHANGELOG.md b/CHANGELOG.md index c6a0f92e41..495f538aef 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,9 @@ +Changes in [3.64.2](https://github.com/matrix-org/matrix-react-sdk/releases/tag/v3.64.2) (2023-01-20) +===================================================================================================== + +## 🐛 Bug Fixes + * Fix second occurence of a crash in older browsers + Changes in [3.64.1](https://github.com/matrix-org/matrix-react-sdk/releases/tag/v3.64.1) (2023-01-18) ===================================================================================================== diff --git a/package.json b/package.json index cb17d44351..c5da640ee0 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "matrix-react-sdk", - "version": "3.64.1", + "version": "3.64.2", "description": "SDK for matrix.org using React", "author": "matrix.org", "repository": { @@ -57,7 +57,7 @@ "dependencies": { "@babel/runtime": "^7.12.5", "@matrix-org/analytics-events": "^0.4.0", - "@matrix-org/matrix-wysiwyg": "^0.19.0", + "@matrix-org/matrix-wysiwyg": "^0.20.0", "@matrix-org/react-sdk-module-api": "^0.0.3", "@sentry/browser": "^7.0.0", "@sentry/tracing": "^7.0.0", diff --git a/res/css/views/context_menus/_IconizedContextMenu.pcss b/res/css/views/context_menus/_IconizedContextMenu.pcss index 677d4b2bb0..e6600620ac 100644 --- a/res/css/views/context_menus/_IconizedContextMenu.pcss +++ b/res/css/views/context_menus/_IconizedContextMenu.pcss @@ -84,7 +84,7 @@ limitations under the License. align-items: center; &:hover, - &:focus { + &:focus-visible { background-color: $menu-selected-color; } diff --git a/res/css/views/rooms/_RoomHeader.pcss b/res/css/views/rooms/_RoomHeader.pcss index f1636055b1..c6ab2add22 100644 --- a/res/css/views/rooms/_RoomHeader.pcss +++ b/res/css/views/rooms/_RoomHeader.pcss @@ -108,7 +108,7 @@ limitations under the License. display: flex; user-select: none; - &:not(.mx_RoomHeader_name--textonly):hover { + &:hover { background-color: $quinary-content; } diff --git a/res/css/views/rooms/wysiwyg_composer/components/_Editor.pcss b/res/css/views/rooms/wysiwyg_composer/components/_Editor.pcss index 21db71a774..cc805e1ac1 100644 --- a/res/css/views/rooms/wysiwyg_composer/components/_Editor.pcss +++ b/res/css/views/rooms/wysiwyg_composer/components/_Editor.pcss @@ -44,9 +44,21 @@ limitations under the License. padding-inline-start: $spacing-28; } + blockquote { + color: #777; + border-left: 2px solid $blockquote-bar-color; + border-radius: 2px; + padding: 0 10px; + + margin-block-start: 0; + margin-block-end: 0; + margin-inline-start: 0; + margin-inline-end: 0; + } + // model output always includes a linebreak but we do not want the user // to see it when writing input in lists - :is(ol, ul, pre) + br:last-of-type { + :is(ol, ul, pre, blockquote) + br:last-of-type { display: none; } diff --git a/res/css/views/voip/_CallDuration.pcss b/res/css/views/voip/_CallDuration.pcss index c8dc07ef67..49524c88c6 100644 --- a/res/css/views/voip/_CallDuration.pcss +++ b/res/css/views/voip/_CallDuration.pcss @@ -17,4 +17,5 @@ limitations under the License. .mx_CallDuration { color: $secondary-content; font-size: $font-12px; + white-space: nowrap; } diff --git a/res/css/views/voip/_CallView.pcss b/res/css/views/voip/_CallView.pcss index 3e214a5b7b..72c5dc1839 100644 --- a/res/css/views/voip/_CallView.pcss +++ b/res/css/views/voip/_CallView.pcss @@ -160,7 +160,7 @@ limitations under the License. content: ""; display: inline-block; mask-image: url("$(res)/img/feather-customised/chevron-down.svg"); - mask-size: $size; + mask-size: 20px; mask-position: center; background-color: $call-primary-content; height: 100%; @@ -181,7 +181,7 @@ limitations under the License. .mx_CallView_deviceButton { &.mx_CallView_deviceButton_audio::before { mask-image: url("$(res)/img/element-icons/Mic-off.svg"); - mask-size: 14px; + mask-size: 18px; } &.mx_CallView_deviceButton_video::before { diff --git a/res/img/element-icons/room/composer/quote.svg b/res/img/element-icons/room/composer/quote.svg new file mode 100644 index 0000000000..82cc2d2875 --- /dev/null +++ b/res/img/element-icons/room/composer/quote.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/components/views/rooms/MessageComposer.tsx b/src/components/views/rooms/MessageComposer.tsx index f2a6e963f7..2d5f9cc99c 100644 --- a/src/components/views/rooms/MessageComposer.tsx +++ b/src/components/views/rooms/MessageComposer.tsx @@ -336,6 +336,7 @@ export class MessageComposer extends React.Component { const { permalinkCreator, relation, replyToEvent } = this.props; const composerContent = this.state.composerContent; this.setState({ composerContent: "", initialComposerContent: "" }); + dis.dispatch({ action: Action.ClearAndFocusSendMessageComposer }); await sendMessage(composerContent, this.state.isRichTextEnabled, { mxClient: this.props.mxClient, roomContext: this.context, @@ -343,7 +344,6 @@ export class MessageComposer extends React.Component { relation, replyToEvent, }); - dis.dispatch({ action: Action.ClearAndFocusSendMessageComposer }); } }; diff --git a/src/components/views/rooms/RoomHeader.tsx b/src/components/views/rooms/RoomHeader.tsx index 4dbec26caf..605298391f 100644 --- a/src/components/views/rooms/RoomHeader.tsx +++ b/src/components/views/rooms/RoomHeader.tsx @@ -743,6 +743,13 @@ export default class RoomHeader extends React.Component { const buttons = this.props.showButtons ? this.renderButtons(isVideoRoom) : null; + let oobName = _t("Join Room"); + if (this.props.oobData && this.props.oobData.name) { + oobName = this.props.oobData.name; + } + + const name = this.renderName(oobName); + if (this.props.viewingCall && !isVideoRoom) { return (
@@ -752,9 +759,7 @@ export default class RoomHeader extends React.Component { >
{roomAvatar}
{icon} -
- {_t("Video call")} -
+ {name} {this.props.activeCall instanceof ElementCall && ( )} @@ -779,13 +784,6 @@ export default class RoomHeader extends React.Component { ); } - let oobName = _t("Join Room"); - if (this.props.oobData && this.props.oobData.name) { - oobName = this.props.oobData.name; - } - - const name = this.renderName(oobName); - const topicElement = ; const viewLabs = (): void => diff --git a/src/components/views/rooms/wysiwyg_composer/components/FormattingButtons.tsx b/src/components/views/rooms/wysiwyg_composer/components/FormattingButtons.tsx index c80857b9f1..80f2563d1d 100644 --- a/src/components/views/rooms/wysiwyg_composer/components/FormattingButtons.tsx +++ b/src/components/views/rooms/wysiwyg_composer/components/FormattingButtons.tsx @@ -22,6 +22,7 @@ import { Icon as BoldIcon } from "../../../../../../res/img/element-icons/room/c import { Icon as ItalicIcon } from "../../../../../../res/img/element-icons/room/composer/italic.svg"; import { Icon as UnderlineIcon } from "../../../../../../res/img/element-icons/room/composer/underline.svg"; import { Icon as StrikeThroughIcon } from "../../../../../../res/img/element-icons/room/composer/strikethrough.svg"; +import { Icon as QuoteIcon } from "../../../../../../res/img/element-icons/room/composer/quote.svg"; import { Icon as InlineCodeIcon } from "../../../../../../res/img/element-icons/room/composer/inline_code.svg"; import { Icon as LinkIcon } from "../../../../../../res/img/element-icons/room/composer/link.svg"; import { Icon as BulletedListIcon } from "../../../../../../res/img/element-icons/room/composer/bulleted_list.svg"; @@ -126,6 +127,12 @@ export function FormattingButtons({ composer, actionStates }: FormattingButtonsP onClick={() => composer.orderedList()} icon={} /> +