From 93baa19ba12c8295b6ee76f866a4ae828e0c8483 Mon Sep 17 00:00:00 2001 From: Kalissaac Date: Tue, 31 May 2022 10:14:42 -0700 Subject: [PATCH 01/12] Add arm64 Docker image Signed-off-by: Kian Sutarwala --- .github/workflows/publish.yaml | 4 ++++ Dockerfile | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/workflows/publish.yaml b/.github/workflows/publish.yaml index e356c403..86557ef3 100644 --- a/.github/workflows/publish.yaml +++ b/.github/workflows/publish.yaml @@ -32,10 +32,14 @@ jobs: with: images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@dc7b9719a96d48369863986a06765841d7ea23f6 + - name: Build and push Docker image uses: docker/build-push-action@ad44023a93711e3deb337508980b4b5e9bcdc5dc with: context: . + platforms: linux/amd64,linux/arm64 push: true tags: ${{ steps.meta.outputs.tags }} labels: ${{ steps.meta.outputs.labels }} diff --git a/Dockerfile b/Dockerfile index e31506cc..eb7e7a5a 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM node:16-buster as builder +FROM --platform=$BUILDPLATFORM node:16-buster as builder WORKDIR /src From b314e047c12e0e6c7a8d9d2a0628bc9620ec8b0b Mon Sep 17 00:00:00 2001 From: Robin Townsend Date: Mon, 6 Jun 2022 11:19:40 -0400 Subject: [PATCH 02/12] Tweak spatial audio copy --- src/input/Input.jsx | 14 +++++++++++++- src/input/Input.module.css | 10 +++++++++- src/settings/SettingsModal.jsx | 3 ++- 3 files changed, 24 insertions(+), 3 deletions(-) diff --git a/src/input/Input.jsx b/src/input/Input.jsx index 65d6ce3a..820956b5 100644 --- a/src/input/Input.jsx +++ b/src/input/Input.jsx @@ -39,7 +39,18 @@ export function Field({ children, className, ...rest }) { export const InputField = forwardRef( ( - { id, label, className, type, checked, prefix, suffix, disabled, ...rest }, + { + id, + label, + className, + type, + checked, + prefix, + suffix, + description, + disabled, + ...rest + }, ref ) => { return ( @@ -82,6 +93,7 @@ export const InputField = forwardRef( {label} {suffix && {suffix}} + {description &&

{description}

} ); } diff --git a/src/input/Input.module.css b/src/input/Input.module.css index 865a8952..c04a85a4 100644 --- a/src/input/Input.module.css +++ b/src/input/Input.module.css @@ -118,13 +118,15 @@ .checkboxField { display: flex; align-items: flex-start; + flex-wrap: wrap; } .checkboxField label { display: flex; align-items: center; flex-grow: 1; - font-size: 13px; + font-size: 15px; + line-height: 24px; } .checkboxField input { @@ -176,3 +178,9 @@ color: var(--alert); font-weight: 600; } + +.description { + color: var(--secondary-content); + margin-left: 26px; + width: 100%; /* Ensure that it breaks onto the next row */ +} diff --git a/src/settings/SettingsModal.jsx b/src/settings/SettingsModal.jsx index ad2aeefa..38818743 100644 --- a/src/settings/SettingsModal.jsx +++ b/src/settings/SettingsModal.jsx @@ -87,9 +87,10 @@ export const SettingsModal = (props) => { setSpatialAudio(e.target.checked)} /> From 878b48aa7aed92205e6cd05b634399262247a1ac Mon Sep 17 00:00:00 2001 From: Robin Townsend Date: Mon, 6 Jun 2022 11:21:51 -0400 Subject: [PATCH 03/12] Add a shortcut lint script --- package.json | 1 + 1 file changed, 1 insertion(+) diff --git a/package.json b/package.json index e50037f5..e74780a3 100644 --- a/package.json +++ b/package.json @@ -8,6 +8,7 @@ "build-storybook": "build-storybook", "prettier:check": "prettier -c src", "prettier:format": "prettier -w src", + "lint": "yarn lint:types && yarn lint:js", "lint:js": "eslint --max-warnings 0 src", "lint:types": "tsc" }, From 2667e78b43f475684ec8bae47d1c92fb00afb514 Mon Sep 17 00:00:00 2001 From: Robin Townsend Date: Mon, 6 Jun 2022 11:26:48 -0400 Subject: [PATCH 04/12] =?UTF-8?q?sound=20=E2=86=92=20seem?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/settings/SettingsModal.jsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/settings/SettingsModal.jsx b/src/settings/SettingsModal.jsx index 38818743..919b955c 100644 --- a/src/settings/SettingsModal.jsx +++ b/src/settings/SettingsModal.jsx @@ -90,7 +90,7 @@ export const SettingsModal = (props) => { label="Spatial audio" type="checkbox" checked={spatialAudio} - description="This will make a speaker's audio sound as if it is coming from where their tile is positioned on screen. (Experimental feature: this may impact the stability of audio.)" + description="This will make a speaker's audio seem as if it is coming from where their tile is positioned on screen. (Experimental feature: this may impact the stability of audio.)" onChange={(e) => setSpatialAudio(e.target.checked)} /> From 4f9efb35633bcf2f3cb7fd0907d256a4bcc804f2 Mon Sep 17 00:00:00 2001 From: Matthew Hodgson Date: Tue, 7 Jun 2022 13:31:19 +0100 Subject: [PATCH 05/12] last minute s/radio call/walkie-talkie call/ig --- src/home/CallTypeDropdown.tsx | 6 +++--- src/home/RegisteredView.jsx | 2 +- src/home/UnauthenticatedView.jsx | 2 +- src/room/AudioPreview.jsx | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/home/CallTypeDropdown.tsx b/src/home/CallTypeDropdown.tsx index b84dd773..454813b0 100644 --- a/src/home/CallTypeDropdown.tsx +++ b/src/home/CallTypeDropdown.tsx @@ -43,7 +43,7 @@ export const CallTypeDropdown: FC = ({ callType, setCallType }) => { {(props) => ( @@ -55,9 +55,9 @@ export const CallTypeDropdown: FC = ({ callType, setCallType }) => { )} - + - Radio call + Walkie-talkie call {callType === CallType.Radio && ( )} diff --git a/src/home/RegisteredView.jsx b/src/home/RegisteredView.jsx index aaa8a339..1d07d1c7 100644 --- a/src/home/RegisteredView.jsx +++ b/src/home/RegisteredView.jsx @@ -80,7 +80,7 @@ export function RegisteredView({ client }) { }, [history, existingRoomId]); const callNameLabel = - callType === CallType.Video ? "Video call name" : "Radio call name"; + callType === CallType.Video ? "Video call name" : "Walkie-talkie call name"; return ( <> diff --git a/src/home/UnauthenticatedView.jsx b/src/home/UnauthenticatedView.jsx index 6af34c51..f324d504 100644 --- a/src/home/UnauthenticatedView.jsx +++ b/src/home/UnauthenticatedView.jsx @@ -104,7 +104,7 @@ export function UnauthenticatedView() { ); const callNameLabel = - callType === CallType.Video ? "Video call name" : "Radio call name"; + callType === CallType.Video ? "Video call name" : "Walkie-talkie call name"; return ( <> diff --git a/src/room/AudioPreview.jsx b/src/room/AudioPreview.jsx index 32dfd138..1472695e 100644 --- a/src/room/AudioPreview.jsx +++ b/src/room/AudioPreview.jsx @@ -33,7 +33,7 @@ export function AudioPreview({ }) { return ( <> -

{`${roomName} - Radio Call`}

+

{`${roomName} - Walkie-talkie call`}

{state === GroupCallState.LocalCallFeedUninitialized && ( From 7ef3dcc56c4c18e20675610dc681801386f89847 Mon Sep 17 00:00:00 2001 From: David Baker Date: Wed, 8 Jun 2022 14:34:29 +0100 Subject: [PATCH 06/12] Bump js-sdk version for a couple of PTT network reliability fixes --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index e74780a3..50a00506 100644 --- a/package.json +++ b/package.json @@ -37,7 +37,7 @@ "classnames": "^2.3.1", "color-hash": "^2.0.1", "events": "^3.3.0", - "matrix-js-sdk": "github:matrix-org/matrix-js-sdk#aa0d3bd1f5a006d151f826e6b8c5f286abb6e960", + "matrix-js-sdk": "github:matrix-org/matrix-js-sdk#34ef7bc64aa52d1aa78f2e779150922892e287de", "mermaid": "^8.13.8", "normalize.css": "^8.0.1", "pako": "^2.0.4", From 17098cf2aba4a5b46226a6ee8259f8c2ec557f8f Mon Sep 17 00:00:00 2001 From: David Baker Date: Wed, 8 Jun 2022 14:35:27 +0100 Subject: [PATCH 07/12] Also yarn.lock --- yarn.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/yarn.lock b/yarn.lock index c95df5b7..b708cd3e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -8597,9 +8597,9 @@ matrix-events-sdk@^0.0.1-beta.7: resolved "https://registry.yarnpkg.com/matrix-events-sdk/-/matrix-events-sdk-0.0.1-beta.7.tgz#5ffe45eba1f67cc8d7c2377736c728b322524934" integrity sha512-9jl4wtWanUFSy2sr2lCjErN/oC8KTAtaeaozJtrgot1JiQcEI4Rda9OLgQ7nLKaqb4Z/QUx/fR3XpDzm5Jy1JA== -"matrix-js-sdk@github:matrix-org/matrix-js-sdk#aa0d3bd1f5a006d151f826e6b8c5f286abb6e960": +"matrix-js-sdk@github:matrix-org/matrix-js-sdk#34ef7bc64aa52d1aa78f2e779150922892e287de": version "17.2.0" - resolved "https://codeload.github.com/matrix-org/matrix-js-sdk/tar.gz/aa0d3bd1f5a006d151f826e6b8c5f286abb6e960" + resolved "https://codeload.github.com/matrix-org/matrix-js-sdk/tar.gz/34ef7bc64aa52d1aa78f2e779150922892e287de" dependencies: "@babel/runtime" "^7.12.5" another-json "^0.2.0" From edbcf95ead9e48fcd7051590bb1d1482f6b77193 Mon Sep 17 00:00:00 2001 From: David Baker Date: Wed, 8 Jun 2022 19:29:49 +0100 Subject: [PATCH 08/12] Bump js-sdk for https://github.com/matrix-org/matrix-js-sdk/pull/2445 --- package.json | 2 +- yarn.lock | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index 50a00506..a4fd0160 100644 --- a/package.json +++ b/package.json @@ -37,7 +37,7 @@ "classnames": "^2.3.1", "color-hash": "^2.0.1", "events": "^3.3.0", - "matrix-js-sdk": "github:matrix-org/matrix-js-sdk#34ef7bc64aa52d1aa78f2e779150922892e287de", + "matrix-js-sdk": "github:matrix-org/matrix-js-sdk#5e766978b8cf80d943f796df1067722a6a5918a7", "mermaid": "^8.13.8", "normalize.css": "^8.0.1", "pako": "^2.0.4", diff --git a/yarn.lock b/yarn.lock index b708cd3e..217ad209 100644 --- a/yarn.lock +++ b/yarn.lock @@ -8597,9 +8597,9 @@ matrix-events-sdk@^0.0.1-beta.7: resolved "https://registry.yarnpkg.com/matrix-events-sdk/-/matrix-events-sdk-0.0.1-beta.7.tgz#5ffe45eba1f67cc8d7c2377736c728b322524934" integrity sha512-9jl4wtWanUFSy2sr2lCjErN/oC8KTAtaeaozJtrgot1JiQcEI4Rda9OLgQ7nLKaqb4Z/QUx/fR3XpDzm5Jy1JA== -"matrix-js-sdk@github:matrix-org/matrix-js-sdk#34ef7bc64aa52d1aa78f2e779150922892e287de": +"matrix-js-sdk@github:matrix-org/matrix-js-sdk#5e766978b8cf80d943f796df1067722a6a5918a7": version "17.2.0" - resolved "https://codeload.github.com/matrix-org/matrix-js-sdk/tar.gz/34ef7bc64aa52d1aa78f2e779150922892e287de" + resolved "https://codeload.github.com/matrix-org/matrix-js-sdk/tar.gz/5e766978b8cf80d943f796df1067722a6a5918a7" dependencies: "@babel/runtime" "^7.12.5" another-json "^0.2.0" From 1f5ac411f6948745be21ecf24f2093a2ce8f75c6 Mon Sep 17 00:00:00 2001 From: David Baker Date: Thu, 9 Jun 2022 21:56:58 +0100 Subject: [PATCH 09/12] Add warning if incompatible versionsd are being used This will probably be overly sensitive until we start timing out member events (ie. https://github.com/matrix-org/matrix-js-sdk/pull/2446 lands) because lots of calls might have old member events from people who've joined previously. --- src/Header.jsx | 27 ++++++++++++++++- src/Header.module.css | 18 ++++++++++++ src/IncompatibleVersionModal.tsx | 48 +++++++++++++++++++++++++++++++ src/button/Button.jsx | 1 + src/button/Button.module.css | 7 +++++ src/icons/AlertTriangleFilled.svg | 4 +++ src/index.css | 1 + src/room/GroupCallView.jsx | 2 ++ src/room/InCallView.jsx | 13 ++++++++- src/room/useGroupCall.ts | 23 ++++++++++++++- 10 files changed, 141 insertions(+), 3 deletions(-) create mode 100644 src/IncompatibleVersionModal.tsx create mode 100644 src/icons/AlertTriangleFilled.svg diff --git a/src/Header.jsx b/src/Header.jsx index 85039de5..882dac32 100644 --- a/src/Header.jsx +++ b/src/Header.jsx @@ -1,5 +1,5 @@ import classNames from "classnames"; -import React, { useRef } from "react"; +import React, { useCallback, useRef } from "react"; import { Link } from "react-router-dom"; import styles from "./Header.module.css"; import { ReactComponent as Logo } from "./icons/Logo.svg"; @@ -8,6 +8,9 @@ import { ReactComponent as ArrowLeftIcon } from "./icons/ArrowLeft.svg"; import { useButton } from "@react-aria/button"; import { Subtitle } from "./typography/Typography"; import { Avatar } from "./Avatar"; +import { IncompatibleversionModal } from "./IncompatibleversionModal"; +import { useModalTriggerState } from "./Modal"; +import { Button } from "./button"; export function Header({ children, className, ...rest }) { return ( @@ -84,3 +87,25 @@ export function RoomSetupHeaderInfo({ roomName, avatarUrl, ...rest }) { ); } + +export function VersionMismatchWarning({ users, room }) { + const { modalState, modalProps } = useModalTriggerState(); + + const onDetailsClick = useCallback(() => { + modalState.open(); + }, [modalState]); + + if (users.size === 0) return null; + + return ( + + Incomaptible versions! + + {modalState.isOpen && ( + + )} + + ); +} diff --git a/src/Header.module.css b/src/Header.module.css index 04313d9d..cab276a0 100644 --- a/src/Header.module.css +++ b/src/Header.module.css @@ -104,6 +104,24 @@ flex-shrink: 0; } +.versionMismatchWarning { + padding-left: 15px; +} + +.versionMismatchWarning::before { + content: ""; + display: inline-block; + position: relative; + top: 2px; + width: 16px; + height: 16px; + mask-image: url("./icons/AlertTriangleFilled.svg"); + mask-repeat: no-repeat; + mask-size: contain; + background-color: var(--warning); + padding-right: 3px; +} + @media (min-width: 800px) { .headerLogo, .roomAvatar, diff --git a/src/IncompatibleVersionModal.tsx b/src/IncompatibleVersionModal.tsx new file mode 100644 index 00000000..5f8c9a83 --- /dev/null +++ b/src/IncompatibleVersionModal.tsx @@ -0,0 +1,48 @@ +/* +Copyright 2022 New Vector Ltd + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +import { Room } from "matrix-js-sdk"; +import React from "react"; + +import { Modal, ModalContent } from "./Modal"; +import { Body } from "./typography/Typography"; + +interface Props { + userIds: Set; + room: Room; +} + +export const IncompatibleversionModal: React.FC = ({ + userIds, + room, + ...rest +}) => { + const userLis = Array.from(userIds).map((u) => ( +
  • {room.getMember(u).name}
  • + )); + + return ( + + + + Other users are trying to join this call from incompatible versions. + These users should ensure that they have refreshed their browsers: +
      {userLis}
    + +
    +
    + ); +}; diff --git a/src/button/Button.jsx b/src/button/Button.jsx index 1244caf7..aabc3093 100644 --- a/src/button/Button.jsx +++ b/src/button/Button.jsx @@ -41,6 +41,7 @@ export const variantToClassName = { iconCopy: [styles.iconCopyButton], secondaryHangup: [styles.secondaryHangup], dropdown: [styles.dropdownButton], + link: [styles.linkButton], }; export const sizeToClassName = { diff --git a/src/button/Button.module.css b/src/button/Button.module.css index ad5c7e34..5be346ff 100644 --- a/src/button/Button.module.css +++ b/src/button/Button.module.css @@ -207,3 +207,10 @@ limitations under the License. .lg { height: 40px; } + +.linkButton { + background-color: transparent; + border: none; + text-decoration: underline; + cursor: pointer; +} diff --git a/src/icons/AlertTriangleFilled.svg b/src/icons/AlertTriangleFilled.svg new file mode 100644 index 00000000..59a5d518 --- /dev/null +++ b/src/icons/AlertTriangleFilled.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/index.css b/src/index.css index da77b1c5..d5d5fcba 100644 --- a/src/index.css +++ b/src/index.css @@ -29,6 +29,7 @@ limitations under the License. --accent-20: #0dbd8b33; --alert: #ff5b55; --alert-20: #ff5b5533; + --warning: #e8bf37; --links: #0086e6; --primary-content: #ffffff; --secondary-content: #a9b2bc; diff --git a/src/room/GroupCallView.jsx b/src/room/GroupCallView.jsx index 2809b82a..4b84926b 100644 --- a/src/room/GroupCallView.jsx +++ b/src/room/GroupCallView.jsx @@ -53,6 +53,7 @@ export function GroupCallView({ screenshareFeeds, hasLocalParticipant, participants, + unencryptedEventsFromUsers, } = useGroupCall(groupCall); const avatarUrl = useRoomAvatar(groupCall.room); @@ -112,6 +113,7 @@ export function GroupCallView({ localScreenshareFeed={localScreenshareFeed} screenshareFeeds={screenshareFeeds} roomId={roomId} + unencryptedEventsFromUsers={unencryptedEventsFromUsers} /> ); } diff --git a/src/room/InCallView.jsx b/src/room/InCallView.jsx index 2c6240e6..de9f5bc1 100644 --- a/src/room/InCallView.jsx +++ b/src/room/InCallView.jsx @@ -22,7 +22,13 @@ import { VideoButton, ScreenshareButton, } from "../button"; -import { Header, LeftNav, RightNav, RoomHeaderInfo } from "../Header"; +import { + Header, + LeftNav, + RightNav, + RoomHeaderInfo, + VersionMismatchWarning, +} from "../Header"; import { VideoGrid, useVideoGridLayout } from "../video-grid/VideoGrid"; import { VideoTileContainer } from "../video-grid/VideoTileContainer"; import { GroupCallInspector } from "./GroupCallInspector"; @@ -59,6 +65,7 @@ export function InCallView({ isScreensharing, screenshareFeeds, roomId, + unencryptedEventsFromUsers, }) { usePreventScroll(); const [layout, setLayout] = useVideoGridLayout(screenshareFeeds.length > 0); @@ -135,6 +142,10 @@ export function InCallView({
    + diff --git a/src/room/useGroupCall.ts b/src/room/useGroupCall.ts index 6816bcfc..b3697ccf 100644 --- a/src/room/useGroupCall.ts +++ b/src/room/useGroupCall.ts @@ -14,11 +14,14 @@ See the License for the specific language governing permissions and limitations under the License. */ -import { useCallback, useEffect, useState } from "react"; +import { useCallback, useEffect, useReducer, useState } from "react"; import { GroupCallEvent, GroupCallState, GroupCall, + GroupCallErrorCode, + GroupCallUnknownDeviceError, + GroupCallError, } from "matrix-js-sdk/src/webrtc/groupCall"; import { MatrixCall } from "matrix-js-sdk/src/webrtc/call"; import { CallFeed } from "matrix-js-sdk/src/webrtc/callFeed"; @@ -48,6 +51,7 @@ export interface UseGroupCallType { localDesktopCapturerSourceId: string; participants: RoomMember[]; hasLocalParticipant: boolean; + unencryptedEventsFromUsers: Set; } interface State { @@ -106,6 +110,13 @@ export function useGroupCall(groupCall: GroupCall): UseGroupCallType { hasLocalParticipant: false, }); + const [unencryptedEventsFromUsers, addUnencryptedEventUser] = useReducer( + (state: Set, newVal: string) => { + return new Set(state).add(newVal); + }, + new Set() + ); + const updateState = (state: Partial) => setState((prevState) => ({ ...prevState, ...state })); @@ -180,6 +191,13 @@ export function useGroupCall(groupCall: GroupCall): UseGroupCallType { }); } + function onError(e: GroupCallError): void { + if (e.code === GroupCallErrorCode.UnknownDevice) { + const unknownDeviceError = e as GroupCallUnknownDeviceError; + addUnencryptedEventUser(unknownDeviceError.userId); + } + } + groupCall.on(GroupCallEvent.GroupCallStateChanged, onGroupCallStateChanged); groupCall.on(GroupCallEvent.UserMediaFeedsChanged, onUserMediaFeedsChanged); groupCall.on( @@ -194,6 +212,7 @@ export function useGroupCall(groupCall: GroupCall): UseGroupCallType { ); groupCall.on(GroupCallEvent.CallsChanged, onCallsChanged); groupCall.on(GroupCallEvent.ParticipantsChanged, onParticipantsChanged); + groupCall.on(GroupCallEvent.Error, onError); updateState({ error: null, @@ -242,6 +261,7 @@ export function useGroupCall(groupCall: GroupCall): UseGroupCallType { GroupCallEvent.ParticipantsChanged, onParticipantsChanged ); + groupCall.removeListener(GroupCallEvent.Error, onError); groupCall.leave(); }; }, [groupCall]); @@ -319,5 +339,6 @@ export function useGroupCall(groupCall: GroupCall): UseGroupCallType { localDesktopCapturerSourceId, participants, hasLocalParticipant, + unencryptedEventsFromUsers, }; } From 9fc4fbc3e72230df93b21be70dece49ab78fb302 Mon Sep 17 00:00:00 2001 From: David Baker Date: Fri, 10 Jun 2022 12:06:06 +0100 Subject: [PATCH 10/12] Icon / styling fixes + typo * Use icon from compound * Use warning colour * Fix capitalisation --- src/Header.jsx | 4 ++-- src/Header.module.css | 6 +++--- src/IncompatibleVersionModal.tsx | 2 +- src/button/Button.module.css | 2 +- src/icons/AlertTriangleFilled.svg | 5 ++--- src/index.css | 1 - 6 files changed, 9 insertions(+), 11 deletions(-) diff --git a/src/Header.jsx b/src/Header.jsx index 882dac32..d4f83e55 100644 --- a/src/Header.jsx +++ b/src/Header.jsx @@ -8,7 +8,7 @@ import { ReactComponent as ArrowLeftIcon } from "./icons/ArrowLeft.svg"; import { useButton } from "@react-aria/button"; import { Subtitle } from "./typography/Typography"; import { Avatar } from "./Avatar"; -import { IncompatibleversionModal } from "./IncompatibleversionModal"; +import { IncompatibleVersionModal } from "./IncompatibleVersionModal"; import { useModalTriggerState } from "./Modal"; import { Button } from "./button"; @@ -104,7 +104,7 @@ export function VersionMismatchWarning({ users, room }) { Details {modalState.isOpen && ( - + )} ); diff --git a/src/Header.module.css b/src/Header.module.css index cab276a0..7f945819 100644 --- a/src/Header.module.css +++ b/src/Header.module.css @@ -112,14 +112,14 @@ content: ""; display: inline-block; position: relative; - top: 2px; + top: 1px; width: 16px; height: 16px; mask-image: url("./icons/AlertTriangleFilled.svg"); mask-repeat: no-repeat; mask-size: contain; - background-color: var(--warning); - padding-right: 3px; + background-color: var(--alert); + padding-right: 5px; } @media (min-width: 800px) { diff --git a/src/IncompatibleVersionModal.tsx b/src/IncompatibleVersionModal.tsx index 5f8c9a83..6cc5615a 100644 --- a/src/IncompatibleVersionModal.tsx +++ b/src/IncompatibleVersionModal.tsx @@ -25,7 +25,7 @@ interface Props { room: Room; } -export const IncompatibleversionModal: React.FC = ({ +export const IncompatibleVersionModal: React.FC = ({ userIds, room, ...rest diff --git a/src/button/Button.module.css b/src/button/Button.module.css index 5be346ff..53e3b2d5 100644 --- a/src/button/Button.module.css +++ b/src/button/Button.module.css @@ -211,6 +211,6 @@ limitations under the License. .linkButton { background-color: transparent; border: none; - text-decoration: underline; + color: var(--accent); cursor: pointer; } diff --git a/src/icons/AlertTriangleFilled.svg b/src/icons/AlertTriangleFilled.svg index 59a5d518..cbdd429d 100644 --- a/src/icons/AlertTriangleFilled.svg +++ b/src/icons/AlertTriangleFilled.svg @@ -1,4 +1,3 @@ - - - + + diff --git a/src/index.css b/src/index.css index d5d5fcba..da77b1c5 100644 --- a/src/index.css +++ b/src/index.css @@ -29,7 +29,6 @@ limitations under the License. --accent-20: #0dbd8b33; --alert: #ff5b55; --alert-20: #ff5b5533; - --warning: #e8bf37; --links: #0086e6; --primary-content: #ffffff; --secondary-content: #a9b2bc; From d4b211e67894ab07a5bf57e7326b8dfa3a50887b Mon Sep 17 00:00:00 2001 From: David Baker Date: Fri, 10 Jun 2022 12:07:14 +0100 Subject: [PATCH 11/12] Update js-sdk version --- package.json | 2 +- yarn.lock | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index 50a00506..e2331248 100644 --- a/package.json +++ b/package.json @@ -37,7 +37,7 @@ "classnames": "^2.3.1", "color-hash": "^2.0.1", "events": "^3.3.0", - "matrix-js-sdk": "github:matrix-org/matrix-js-sdk#34ef7bc64aa52d1aa78f2e779150922892e287de", + "matrix-js-sdk": "github:matrix-org/matrix-js-sdk#b97b862fb66bafee542e3c0baac35d6576b3a75d", "mermaid": "^8.13.8", "normalize.css": "^8.0.1", "pako": "^2.0.4", diff --git a/yarn.lock b/yarn.lock index b708cd3e..25be29f4 100644 --- a/yarn.lock +++ b/yarn.lock @@ -8597,9 +8597,9 @@ matrix-events-sdk@^0.0.1-beta.7: resolved "https://registry.yarnpkg.com/matrix-events-sdk/-/matrix-events-sdk-0.0.1-beta.7.tgz#5ffe45eba1f67cc8d7c2377736c728b322524934" integrity sha512-9jl4wtWanUFSy2sr2lCjErN/oC8KTAtaeaozJtrgot1JiQcEI4Rda9OLgQ7nLKaqb4Z/QUx/fR3XpDzm5Jy1JA== -"matrix-js-sdk@github:matrix-org/matrix-js-sdk#34ef7bc64aa52d1aa78f2e779150922892e287de": +"matrix-js-sdk@github:matrix-org/matrix-js-sdk#b97b862fb66bafee542e3c0baac35d6576b3a75d": version "17.2.0" - resolved "https://codeload.github.com/matrix-org/matrix-js-sdk/tar.gz/34ef7bc64aa52d1aa78f2e779150922892e287de" + resolved "https://codeload.github.com/matrix-org/matrix-js-sdk/tar.gz/b97b862fb66bafee542e3c0baac35d6576b3a75d" dependencies: "@babel/runtime" "^7.12.5" another-json "^0.2.0" From d2c820f080a02d3e0a2e61a628316b6bf67107e6 Mon Sep 17 00:00:00 2001 From: David Baker Date: Fri, 10 Jun 2022 21:03:52 +0100 Subject: [PATCH 12/12] Update js-sdk for chrome audio renderer hang fix Fixes https://github.com/vector-im/element-call/issues/267 --- package.json | 2 +- yarn.lock | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index e2331248..4f0309e5 100644 --- a/package.json +++ b/package.json @@ -37,7 +37,7 @@ "classnames": "^2.3.1", "color-hash": "^2.0.1", "events": "^3.3.0", - "matrix-js-sdk": "github:matrix-org/matrix-js-sdk#b97b862fb66bafee542e3c0baac35d6576b3a75d", + "matrix-js-sdk": "github:matrix-org/matrix-js-sdk#404f8e130e44a78b0159c55902df1b129b3816d1", "mermaid": "^8.13.8", "normalize.css": "^8.0.1", "pako": "^2.0.4", diff --git a/yarn.lock b/yarn.lock index 25be29f4..5d3ab8db 100644 --- a/yarn.lock +++ b/yarn.lock @@ -8597,9 +8597,9 @@ matrix-events-sdk@^0.0.1-beta.7: resolved "https://registry.yarnpkg.com/matrix-events-sdk/-/matrix-events-sdk-0.0.1-beta.7.tgz#5ffe45eba1f67cc8d7c2377736c728b322524934" integrity sha512-9jl4wtWanUFSy2sr2lCjErN/oC8KTAtaeaozJtrgot1JiQcEI4Rda9OLgQ7nLKaqb4Z/QUx/fR3XpDzm5Jy1JA== -"matrix-js-sdk@github:matrix-org/matrix-js-sdk#b97b862fb66bafee542e3c0baac35d6576b3a75d": +"matrix-js-sdk@github:matrix-org/matrix-js-sdk#404f8e130e44a78b0159c55902df1b129b3816d1": version "17.2.0" - resolved "https://codeload.github.com/matrix-org/matrix-js-sdk/tar.gz/b97b862fb66bafee542e3c0baac35d6576b3a75d" + resolved "https://codeload.github.com/matrix-org/matrix-js-sdk/tar.gz/404f8e130e44a78b0159c55902df1b129b3816d1" dependencies: "@babel/runtime" "^7.12.5" another-json "^0.2.0"