diff --git a/.env b/.env index 1f0fc11..2f62d61 100644 --- a/.env +++ b/.env @@ -22,6 +22,7 @@ # VITE_THEME_PRIMARY_CONTENT=#ffffff # VITE_THEME_SECONDARY_CONTENT=#a9b2bc # VITE_THEME_TERTIARY_CONTENT=#8e99a4 +# VITE_THEME_TERTIARY_CONTENT_20=#8e99a433 # VITE_THEME_QUATERNARY_CONTENT=#6f7882 # VITE_THEME_QUINARY_CONTENT=#394049 # VITE_THEME_SYSTEM=#21262c diff --git a/.github/ISSUE_TEMPLATE/bug.yml b/.github/ISSUE_TEMPLATE/bug.yml new file mode 100644 index 0000000..490f356 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug.yml @@ -0,0 +1,67 @@ +name: Bug report +description: Create a report to help us improve +labels: [T-Defect] +body: + - type: markdown + attributes: + value: | + Thanks for taking the time to fill out this bug report! + + Please report security issues by email to security@matrix.org + - type: textarea + id: reproduction-steps + attributes: + label: Steps to reproduce + description: Please attach screenshots, videos or logs if you can. + placeholder: Tell us what you see! + value: | + 1. Where are you starting? What can you see? + 2. What do you click? + 3. More steps… + validations: + required: true + - type: textarea + id: result + attributes: + label: Outcome + placeholder: Tell us what went wrong + value: | + #### What did you expect? + + #### What happened instead? + validations: + required: true + - type: input + id: os + attributes: + label: Operating system + placeholder: Windows, macOS, Ubuntu, Android… + validations: + required: false + - type: input + id: browser + attributes: + label: Browser information + description: Which browser are you using? Which version? + placeholder: e.g. Chromium Version 92.0.4515.131 + validations: + required: false + - type: input + id: webapp-url + attributes: + label: URL for webapp + description: Which URL are you using to access the webapp? If a private server, tell us what version of Element Call you are using. + placeholder: e.g. call.element.io + validations: + required: false + - type: dropdown + id: rageshake + attributes: + label: Will you send logs? + description: | + To send them, press the 'Submit Feedback' button and check 'Include Debug Logs'. Please link to this issue in the description field. + options: + - 'Yes' + - 'No' + validations: + required: true diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml new file mode 100644 index 0000000..de366eb --- /dev/null +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -0,0 +1,5 @@ +blank_issues_enabled: false +contact_links: + - name: Questions & support + url: https://matrix.to/#/#webrtc:matrix.org + about: Please ask and answer questions here. diff --git a/.github/ISSUE_TEMPLATE/enhancement.yml b/.github/ISSUE_TEMPLATE/enhancement.yml new file mode 100644 index 0000000..5d9cfb3 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/enhancement.yml @@ -0,0 +1,36 @@ +name: Enhancement request +description: Do you have a suggestion or feature request? +labels: [T-Enhancement] +body: + - type: markdown + attributes: + value: | + Thank you for taking the time to propose a new feature or make a suggestion. + - type: textarea + id: usecase + attributes: + label: Your use case + description: What would you like to be able to do? Please feel welcome to include screenshots or mock ups. + placeholder: Tell us what you would like to do! + value: | + #### What would you like to do? + + #### Why would you like to do it? + + #### How would you like to achieve it? + validations: + required: true + - type: textarea + id: alternative + attributes: + label: Have you considered any alternatives? + placeholder: A clear and concise description of any alternative solutions or features you've considered. + validations: + required: false + - type: textarea + id: additional-context + attributes: + label: Additional context + placeholder: Is there anything else you'd like to add? + validations: + required: false diff --git a/package.json b/package.json index 4f0309e..ce62815 100644 --- a/package.json +++ b/package.json @@ -33,11 +33,12 @@ "@sentry/react": "^6.13.3", "@sentry/tracing": "^6.13.3", "@types/grecaptcha": "^3.0.4", + "@types/sdp-transform": "^2.4.5", "@use-gesture/react": "^10.2.11", "classnames": "^2.3.1", "color-hash": "^2.0.1", "events": "^3.3.0", - "matrix-js-sdk": "github:matrix-org/matrix-js-sdk#404f8e130e44a78b0159c55902df1b129b3816d1", + "matrix-js-sdk": "github:matrix-org/matrix-js-sdk#f9672cf3076bf5e1868c92ee94c780040b0c6fb1", "mermaid": "^8.13.8", "normalize.css": "^8.0.1", "pako": "^2.0.4", @@ -50,6 +51,7 @@ "react-router-dom": "^5.2.0", "react-use-clipboard": "^1.0.7", "react-use-measure": "^2.1.1", + "sdp-transform": "^2.14.1", "unique-names-generator": "^4.6.0" }, "devDependencies": { diff --git a/src/@types/global.d.ts b/src/@types/global.d.ts index 35b93a7..7b5995f 100644 --- a/src/@types/global.d.ts +++ b/src/@types/global.d.ts @@ -21,4 +21,10 @@ declare global { // TODO: https://gitlab.matrix.org/matrix-org/olm/-/issues/10 OLM_OPTIONS: Record; } + + // TypeScript doesn't know about the experimental setSinkId method, so we + // declare it ourselves + interface MediaElement extends HTMLMediaElement { + setSinkId: (id: string) => void; + } } diff --git a/src/Header.jsx b/src/Header.jsx index d4f83e5..c1cf771 100644 --- a/src/Header.jsx +++ b/src/Header.jsx @@ -77,9 +77,23 @@ export function RoomHeaderInfo({ roomName, avatarUrl }) { ); } -export function RoomSetupHeaderInfo({ roomName, avatarUrl, ...rest }) { +export function RoomSetupHeaderInfo({ + roomName, + avatarUrl, + isEmbedded, + ...rest +}) { const ref = useRef(); const { buttonProps } = useButton(rest, ref); + + if (isEmbedded) { + return ( +
+ +
+ ); + } + return (