diff --git a/.github/workflows/triage-labelled.yml b/.github/workflows/triage-labelled.yml index a2de4f29fa4..d95cccc730e 100644 --- a/.github/workflows/triage-labelled.yml +++ b/.github/workflows/triage-labelled.yml @@ -1,4 +1,4 @@ -name: Move labelled issues to correct boards and columns +name: Move labelled issues to correct projects on: issues: @@ -11,12 +11,14 @@ jobs: if: > contains(github.event.issue.labels.*.name, 'A-Maths') || contains(github.event.issue.labels.*.name, 'A-Message-Pinning') || + contains(github.event.issue.labels.*.name, 'A-New-Search-Experience') || contains(github.event.issue.labels.*.name, 'A-Threads') || contains(github.event.issue.labels.*.name, 'A-Location-Sharing') || contains(github.event.issue.labels.*.name, 'Z-IA') || contains(github.event.issue.labels.*.name, 'A-Themes-Custom') || contains(github.event.issue.labels.*.name, 'A-E2EE-Dehydration') || - contains(github.event.issue.labels.*.name, 'A-Tags') + contains(github.event.issue.labels.*.name, 'A-Tags') || + contains(github.event.issue.labels.*.name, 'A-Video-Rooms') steps: - uses: actions/github-script@v5 with: @@ -98,6 +100,7 @@ jobs: name: Delight issues to project board runs-on: ubuntu-latest if: > + contains(github.event.issue.labels.*.name, 'A-New-Search-Experience') || contains(github.event.issue.labels.*.name, 'A-Spaces') || contains(github.event.issue.labels.*.name, 'A-Space-Settings') || contains(github.event.issue.labels.*.name, 'A-Subspaces') || diff --git a/.github/workflows/triage-unlabelled.yml b/.github/workflows/triage-unlabelled.yml index d6120a8b1a5..74ae5c22688 100644 --- a/.github/workflows/triage-unlabelled.yml +++ b/.github/workflows/triage-unlabelled.yml @@ -47,7 +47,8 @@ jobs: contains(github.event.issue.labels.*.name, 'Z-IA') || contains(github.event.issue.labels.*.name, 'A-Themes-Custom') || contains(github.event.issue.labels.*.name, 'A-E2EE-Dehydration') || - contains(github.event.issue.labels.*.name, 'A-Tags')) && + contains(github.event.issue.labels.*.name, 'A-Tags') || + contains(github.event.issue.labels.*.name, 'A-Video-Rooms')) && contains(github.event.issue.labels.*.name, 'Z-Labs') steps: - uses: actions/github-script@v5 diff --git a/CHANGELOG.md b/CHANGELOG.md index 057060976a0..02a0738acaa 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,121 @@ +Changes in [1.10.10](https://github.com/vector-im/element-web/releases/tag/v1.10.10) (2022-04-14) +================================================================================================= + +## 🐛 Bug Fixes + * Fixes around threads beta in degraded mode ([\#8319](https://github.com/matrix-org/matrix-react-sdk/pull/8319)). Fixes #21762. + +Changes in [1.10.9](https://github.com/vector-im/element-web/releases/tag/v1.10.9) (2022-04-12) +=============================================================================================== + +## ✨ Features + * Release threads as a beta feature ([\#8081](https://github.com/matrix-org/matrix-react-sdk/pull/8081)). Fixes #21351. + * More video rooms design updates ([\#8222](https://github.com/matrix-org/matrix-react-sdk/pull/8222)). + * Update video rooms to new design specs ([\#8207](https://github.com/matrix-org/matrix-react-sdk/pull/8207)). Fixes #21515, #21516 #21519 and #21526. + * Live Location Sharing - left panel warning with error ([\#8201](https://github.com/matrix-org/matrix-react-sdk/pull/8201)). + * Live location sharing - Stop publishing location to beacons with consecutive errors ([\#8194](https://github.com/matrix-org/matrix-react-sdk/pull/8194)). + * Live location sharing: allow retry when stop sharing fails ([\#8193](https://github.com/matrix-org/matrix-react-sdk/pull/8193)). + * Allow voice messages to be scrubbed in the timeline ([\#8079](https://github.com/matrix-org/matrix-react-sdk/pull/8079)). Fixes #18713. + * Live location sharing - stop sharing to beacons in rooms you left ([\#8187](https://github.com/matrix-org/matrix-react-sdk/pull/8187)). + * Allow sending and thumbnailing AVIF images ([\#8172](https://github.com/matrix-org/matrix-react-sdk/pull/8172)). + * Live location sharing - handle geolocation errors ([\#8179](https://github.com/matrix-org/matrix-react-sdk/pull/8179)). + * Show voice room participants when not connected ([\#8136](https://github.com/matrix-org/matrix-react-sdk/pull/8136)). Fixes #21513. + * Add margins between labs sections ([\#8169](https://github.com/matrix-org/matrix-react-sdk/pull/8169)). + * Live location sharing - send geolocation beacon events - happy path ([\#8127](https://github.com/matrix-org/matrix-react-sdk/pull/8127)). + * Add support for Animated (A)PNG ([\#8158](https://github.com/matrix-org/matrix-react-sdk/pull/8158)). Fixes #12967. + * Don't form continuations from thread roots ([\#8166](https://github.com/matrix-org/matrix-react-sdk/pull/8166)). Fixes #20908. + * Improve handling of animated GIF and WEBP images ([\#8153](https://github.com/matrix-org/matrix-react-sdk/pull/8153)). Fixes #16193 and #6684. + * Wire up file preview for video files ([\#8140](https://github.com/matrix-org/matrix-react-sdk/pull/8140)). Fixes #21539. + * When showing thread, always auto-focus its composer ([\#8115](https://github.com/matrix-org/matrix-react-sdk/pull/8115)). Fixes #21438. + * Live location sharing - refresh beacon expiry in room ([\#8116](https://github.com/matrix-org/matrix-react-sdk/pull/8116)). + * Use styled mxids in member list v2 ([\#8110](https://github.com/matrix-org/matrix-react-sdk/pull/8110)). Fixes #14825. Contributed by @SimonBrandner. + * Delete groups (legacy communities system) ([\#8027](https://github.com/matrix-org/matrix-react-sdk/pull/8027)). Fixes #17532. + * Add a prototype of voice rooms in labs ([\#8084](https://github.com/matrix-org/matrix-react-sdk/pull/8084)). Fixes #3546. + +## 🐛 Bug Fixes + * Avoid flashing the Jitsi prejoin screen at the user before skipping it ([\#21665](https://github.com/vector-im/element-web/pull/21665)). + * Fix editing `
    ` tags with a non-1 start attribute ([\#8211](https://github.com/matrix-org/matrix-react-sdk/pull/8211)). Fixes #21625. + * Fix URL previews being enabled when room first created ([\#8227](https://github.com/matrix-org/matrix-react-sdk/pull/8227)). Fixes #21659. + * Don't use m.call for Jitsi video rooms ([\#8223](https://github.com/matrix-org/matrix-react-sdk/pull/8223)). + * Scale emoji with size of surrounding text ([\#8224](https://github.com/matrix-org/matrix-react-sdk/pull/8224)). + * Make "Jump to date" translatable ([\#8218](https://github.com/matrix-org/matrix-react-sdk/pull/8218)). + * Normalize call buttons ([\#8129](https://github.com/matrix-org/matrix-react-sdk/pull/8129)). Fixes #21493. Contributed by @luixxiul. + * Show room preview bar with maximised widgets ([\#8180](https://github.com/matrix-org/matrix-react-sdk/pull/8180)). Fixes #21542. + * Update more strings to not wrongly mention room when it is/could be a space ([\#7722](https://github.com/matrix-org/matrix-react-sdk/pull/7722)). Fixes #20243 and #20910. + * Fix issue with redacting via edit composer flow causing stuck editStates ([\#8184](https://github.com/matrix-org/matrix-react-sdk/pull/8184)). + * Fix some image/video scroll jumps ([\#8182](https://github.com/matrix-org/matrix-react-sdk/pull/8182)). + * Fix "react error on share dialog" ([\#8170](https://github.com/matrix-org/matrix-react-sdk/pull/8170)). Contributed by @yaya-usman. + * Fix disambiguated profile in threads in bubble layout ([\#8168](https://github.com/matrix-org/matrix-react-sdk/pull/8168)). Fixes #21570. Contributed by @SimonBrandner. + * Responsive BetaCard on Labs ([\#8154](https://github.com/matrix-org/matrix-react-sdk/pull/8154)). Fixes #21554. Contributed by @luixxiul. + * Display button as inline in room directory dialog ([\#8164](https://github.com/matrix-org/matrix-react-sdk/pull/8164)). Fixes #21567. Contributed by @luixxiul. + * Null guard TimelinePanel unmount edge ([\#8171](https://github.com/matrix-org/matrix-react-sdk/pull/8171)). + * Fix beta pill label breaking ([\#8162](https://github.com/matrix-org/matrix-react-sdk/pull/8162)). Fixes #21566. Contributed by @luixxiul. + * Strip relations when forwarding ([\#7929](https://github.com/matrix-org/matrix-react-sdk/pull/7929)). Fixes #19769, #18067 #21015 and #10924. + * Don't try (and fail) to show replies for redacted events ([\#8141](https://github.com/matrix-org/matrix-react-sdk/pull/8141)). Fixes #21435. + * Fix 3pid member info for space member list ([\#8128](https://github.com/matrix-org/matrix-react-sdk/pull/8128)). Fixes #21534. + * Set max-width to user context menu ([\#8089](https://github.com/matrix-org/matrix-react-sdk/pull/8089)). Fixes #21486. Contributed by @luixxiul. + * Fix issue with falsey hrefs being sent in events ([\#8113](https://github.com/matrix-org/matrix-react-sdk/pull/8113)). Fixes #21417. + * Make video sizing consistent with images ([\#8102](https://github.com/matrix-org/matrix-react-sdk/pull/8102)). Fixes #20072. + +Changes in [1.10.9-rc.4](https://github.com/vector-im/element-web/releases/tag/v1.10.9-rc.4) (2022-04-11) +========================================================================================================= + +Changes in [1.10.9-rc.3](https://github.com/vector-im/element-web/releases/tag/v1.10.9-rc.3) (2022-04-08) +========================================================================================================= + +Changes in [1.10.9-rc.2](https://github.com/vector-im/element-web/releases/tag/v1.10.9-rc.2) (2022-04-06) +========================================================================================================= + +Changes in [1.10.9-rc.1](https://github.com/vector-im/element-web/releases/tag/v1.10.9-rc.1) (2022-04-05) +========================================================================================================= + +## ✨ Features + * Release threads as a beta feature ([\#8081](https://github.com/matrix-org/matrix-react-sdk/pull/8081)). Fixes #21351. + * More video rooms design updates ([\#8222](https://github.com/matrix-org/matrix-react-sdk/pull/8222)). + * Update video rooms to new design specs ([\#8207](https://github.com/matrix-org/matrix-react-sdk/pull/8207)). Fixes #21515, #21516 #21519 and #21526. + * Live Location Sharing - left panel warning with error ([\#8201](https://github.com/matrix-org/matrix-react-sdk/pull/8201)). + * Live location sharing - Stop publishing location to beacons with consecutive errors ([\#8194](https://github.com/matrix-org/matrix-react-sdk/pull/8194)). + * Live location sharing: allow retry when stop sharing fails ([\#8193](https://github.com/matrix-org/matrix-react-sdk/pull/8193)). + * Allow voice messages to be scrubbed in the timeline ([\#8079](https://github.com/matrix-org/matrix-react-sdk/pull/8079)). Fixes #18713. + * Live location sharing - stop sharing to beacons in rooms you left ([\#8187](https://github.com/matrix-org/matrix-react-sdk/pull/8187)). + * Allow sending and thumbnailing AVIF images ([\#8172](https://github.com/matrix-org/matrix-react-sdk/pull/8172)). + * Live location sharing - handle geolocation errors ([\#8179](https://github.com/matrix-org/matrix-react-sdk/pull/8179)). + * Show voice room participants when not connected ([\#8136](https://github.com/matrix-org/matrix-react-sdk/pull/8136)). Fixes #21513. + * Add margins between labs sections ([\#8169](https://github.com/matrix-org/matrix-react-sdk/pull/8169)). + * Live location sharing - send geolocation beacon events - happy path ([\#8127](https://github.com/matrix-org/matrix-react-sdk/pull/8127)). + * Add support for Animated (A)PNG ([\#8158](https://github.com/matrix-org/matrix-react-sdk/pull/8158)). Fixes #12967. + * Don't form continuations from thread roots ([\#8166](https://github.com/matrix-org/matrix-react-sdk/pull/8166)). Fixes #20908. + * Improve handling of animated GIF and WEBP images ([\#8153](https://github.com/matrix-org/matrix-react-sdk/pull/8153)). Fixes #16193 and #6684. + * Wire up file preview for video files ([\#8140](https://github.com/matrix-org/matrix-react-sdk/pull/8140)). Fixes #21539. + * When showing thread, always auto-focus its composer ([\#8115](https://github.com/matrix-org/matrix-react-sdk/pull/8115)). Fixes #21438. + * Live location sharing - refresh beacon expiry in room ([\#8116](https://github.com/matrix-org/matrix-react-sdk/pull/8116)). + * Use styled mxids in member list v2 ([\#8110](https://github.com/matrix-org/matrix-react-sdk/pull/8110)). Fixes #14825. Contributed by @SimonBrandner. + * Delete groups (legacy communities system) ([\#8027](https://github.com/matrix-org/matrix-react-sdk/pull/8027)). Fixes #17532. + * Add a prototype of voice rooms in labs ([\#8084](https://github.com/matrix-org/matrix-react-sdk/pull/8084)). Fixes #3546. + +## 🐛 Bug Fixes + * Fix URL previews being enabled when room first created ([\#8227](https://github.com/matrix-org/matrix-react-sdk/pull/8227)). Fixes #21659. + * Don't use m.call for Jitsi video rooms ([\#8223](https://github.com/matrix-org/matrix-react-sdk/pull/8223)). + * Scale emoji with size of surrounding text ([\#8224](https://github.com/matrix-org/matrix-react-sdk/pull/8224)). + * Make "Jump to date" translatable ([\#8218](https://github.com/matrix-org/matrix-react-sdk/pull/8218)). + * Normalize call buttons ([\#8129](https://github.com/matrix-org/matrix-react-sdk/pull/8129)). Fixes #21493. Contributed by @luixxiul. + * Fix editing
      tags with a non-1 start attribute ([\#8211](https://github.com/matrix-org/matrix-react-sdk/pull/8211)). Fixes #21625. + * Show room preview bar with maximised widgets ([\#8180](https://github.com/matrix-org/matrix-react-sdk/pull/8180)). Fixes #21542. + * Update more strings to not wrongly mention room when it is/could be a space ([\#7722](https://github.com/matrix-org/matrix-react-sdk/pull/7722)). Fixes #20243 and #20910. + * Fix issue with redacting via edit composer flow causing stuck editStates ([\#8184](https://github.com/matrix-org/matrix-react-sdk/pull/8184)). + * Fix some image/video scroll jumps ([\#8182](https://github.com/matrix-org/matrix-react-sdk/pull/8182)). + * Fix "react error on share dialog" ([\#8170](https://github.com/matrix-org/matrix-react-sdk/pull/8170)). Contributed by @yaya-usman. + * Fix disambiguated profile in threads in bubble layout ([\#8168](https://github.com/matrix-org/matrix-react-sdk/pull/8168)). Fixes #21570. Contributed by @SimonBrandner. + * Responsive BetaCard on Labs ([\#8154](https://github.com/matrix-org/matrix-react-sdk/pull/8154)). Fixes #21554. Contributed by @luixxiul. + * Display button as inline in room directory dialog ([\#8164](https://github.com/matrix-org/matrix-react-sdk/pull/8164)). Fixes #21567. Contributed by @luixxiul. + * Null guard TimelinePanel unmount edge ([\#8171](https://github.com/matrix-org/matrix-react-sdk/pull/8171)). + * Fix beta pill label breaking ([\#8162](https://github.com/matrix-org/matrix-react-sdk/pull/8162)). Fixes #21566. Contributed by @luixxiul. + * Strip relations when forwarding ([\#7929](https://github.com/matrix-org/matrix-react-sdk/pull/7929)). Fixes #19769, #18067 #21015 and #10924. + * Don't try (and fail) to show replies for redacted events ([\#8141](https://github.com/matrix-org/matrix-react-sdk/pull/8141)). Fixes #21435. + * Fix 3pid member info for space member list ([\#8128](https://github.com/matrix-org/matrix-react-sdk/pull/8128)). Fixes #21534. + * Set max-width to user context menu ([\#8089](https://github.com/matrix-org/matrix-react-sdk/pull/8089)). Fixes #21486. Contributed by @luixxiul. + * Fix issue with falsey hrefs being sent in events ([\#8113](https://github.com/matrix-org/matrix-react-sdk/pull/8113)). Fixes #21417. + * Make video sizing consistent with images ([\#8102](https://github.com/matrix-org/matrix-react-sdk/pull/8102)). Fixes #20072. + Changes in [1.10.8-rc.1](https://github.com/vector-im/element-web/releases/tag/v1.10.8-rc.1) (2022-03-22) ========================================================================================================= diff --git a/README.md b/README.md index e2a2c663474..e9fa8242340 100644 --- a/README.md +++ b/README.md @@ -47,8 +47,8 @@ released version of Element: 1. Untar the tarball on your web server 1. Move (or symlink) the `schildichat-x.x.x` directory to an appropriate name 1. Configure the correct caching headers in your webserver (see below) -1. If desired, copy `config.sample.json` to `config.json` and edit it - as desired. See the [configuration docs](docs/config.md) for details. +1. Configure the app by copying `config.sample.json` to `config.json` and + modifying it. See the [configuration docs](docs/config.md) for details. 1. Enter the URL into your browser and log into SchildiChat! Note that for the security of your chats will need to serve Element @@ -308,11 +308,19 @@ yarn install popd ``` -Finally, build and start Element itself: +Clone the repo and switch to the `element-web` directory: ```bash git clone https://github.com/vector-im/element-web.git cd element-web +``` + +Configure the app by copying `config.sample.json` to `config.json` and +modifying it. See the [configuration docs](docs/config.md) for details. + +Finally, build and start Element itself: + +```bash yarn link matrix-js-sdk yarn link matrix-react-sdk yarn install @@ -333,9 +341,6 @@ Wait a few seconds for the initial build to finish; you should see something lik and rebuilds source files when they change. This development server also disables caching, so do NOT use it in production. -Configure the app by copying `config.sample.json` to `config.json` and -modifying it. See the [configuration docs](docs/config.md) for details. - Open in your browser to see your newly built Element. **Note**: The build script uses inotify by default on Linux to monitor directories diff --git a/docs/config.md b/docs/config.md index d508a630afc..82955e3775a 100644 --- a/docs/config.md +++ b/docs/config.md @@ -61,7 +61,7 @@ To force a labs flag on or off, use the following: } ``` -If you'd like the user to be able to self-select which labs flags they can turn on, add `"show_labs_flags": true` to +If you'd like the user to be able to self-select which labs flags they can turn on, add `"show_labs_settings": true` to your config. This will turn on the tab in user settings. **Note**: Feature support varies release-by-release. Check the [labs flag documentation](./labs.md) frequently if enabling @@ -542,4 +542,4 @@ The following are undocumented or intended for developer use only. 1. `fallback_hs_url` 2. `sync_timeline_limit` 3. `dangerously_allow_unsafe_and_insecure_passwords` -4. `latex_maths_delims` +4. `latex_maths_delims`: An optional setting to override the default delimiters used for maths parsing. See https://github.com/matrix-org/matrix-react-sdk/pull/5939 for details. Only used when `feature_latex_maths` is enabled. diff --git a/docs/feature-flags.md b/docs/feature-flags.md index 1e7e5cce372..ddca7d40bd7 100644 --- a/docs/feature-flags.md +++ b/docs/feature-flags.md @@ -35,7 +35,7 @@ clients commit to doing the associated clean up work once a feature stabilises. When starting work on a feature, we should create a matching feature flag: 1. Add a new - [setting](https://github.com/matrix-org/matrix-react-sdk/blob/develop/src/settings/Settings.ts) + [setting](https://github.com/matrix-org/matrix-react-sdk/blob/develop/src/settings/Settings.tsx) of the form: ```js "feature_cats": { @@ -81,7 +81,7 @@ configs. **Note:** The above will only enable the feature for https://app.element.io and official Element Desktop builds. It will not be enabled for self-hosted installed, custom desktop builds, etc. To -cover these cases, change the setting's `default` in `Settings.ts` to `true`. +cover these cases, change the setting's `default` in `Settings.tsx` to `true`. ## Feature deployed successfully diff --git a/docs/labs.md b/docs/labs.md index 6e98a59d993..6ad052bb23f 100644 --- a/docs/labs.md +++ b/docs/labs.md @@ -43,13 +43,6 @@ Also adds the `/jumptodate 2022-01-31` slash command. An experimental approach for supporting custom status messages across DMs. To set a status, click on your avatar next to the message composer. -## Custom tags (`feature_custom_tags`) - -An experimental approach for dealing with custom tags. Custom tags will appear in the bottom portion -of the community filter panel. - -Setting custom tags is not supported by Element. - ## Render simple counters in room header (`feature_state_counters`) Allows rendering of labelled counters above the message list. @@ -122,13 +115,6 @@ For some sample themes, check out [aaronraimist/element-themes](https://github.c To enable message previews for reactions in all rooms, enable `feature_roomlist_preview_reactions_all`. To enable message previews for reactions in DMs, enable `feature_roomlist_preview_reactions_dms`, ignored when it is enabled for all rooms. -## Communities v2 prototyping (`feature_communities_v2_prototypes`) [In Development] - -**This is a highly experimental implementation for parts of the communities v2 experience.** It does not -represent what communities v2 will look/feel like and can/will change without notice. Due to the early -stages this feature is in and the requirement for a compatible homeserver, we will not be accepting issues -or feedback for this functionality at this time. - ## Dehydrated devices (`feature_dehydration`) Allows users to receive encrypted messages by creating a device that is stored @@ -200,3 +186,7 @@ Threading allows users to branch out a new conversation from the main timeline o Threads can be access by clicking their summary below the root event on the room timeline. Users can find a comprehensive list of threads by click the icon on the room header button. This feature might work in degraded mode if the homeserver a user is connected to does not advertise support for the unstable feature `org.matrix.msc3440` when calling the `/versions` API endpoint. + +## Voice & video rooms (`feature_video_rooms`) [In Development] + +Enables support for creating and joining video rooms, which are persistent video chats that users can jump in and out of. diff --git a/docs/translating.md b/docs/translating.md index a8d29a387d9..bfb97027513 100644 --- a/docs/translating.md +++ b/docs/translating.md @@ -62,4 +62,4 @@ You can use inside the translation field "Review needed" checkbox. It will be sh ### Further reading -The official Weblate doc provides some more in-deepth explanation on how to do translations and talks about do and don'ts. You can find it at: https://docs.weblate.org/en/latest/user/translating.html +The official Weblate doc provides some more in-depth explanation on how to do translations and talks about do and don'ts. You can find it at: https://docs.weblate.org/en/latest/user/translating.html \ No newline at end of file diff --git a/element.io/app/config.json b/element.io/app/config.json index f949c05d77e..2ce7918e6c8 100644 --- a/element.io/app/config.json +++ b/element.io/app/config.json @@ -48,7 +48,7 @@ }, "posthog": { "projectApiKey": "phc_Jzsm6DTm6V2705zeU5dcNvQDlonOR68XvX2sh1sEOHO", - "apiHost": "https://posthog.hss.element.io" + "apiHost": "https://posthog.element.io" }, "map_style_url": "https://api.maptiler.com/maps/streets/style.json?key=fU3vlMsMn4Jb6dnEIFsx" } diff --git a/element.io/develop/config.json b/element.io/develop/config.json index e945556c9d6..4be795fd3fd 100644 --- a/element.io/develop/config.json +++ b/element.io/develop/config.json @@ -56,7 +56,7 @@ }, "posthog": { "projectApiKey": "phc_Jzsm6DTm6V2705zeU5dcNvQDlonOR68XvX2sh1sEOHO", - "apiHost": "https://posthog.hss.element.io" + "apiHost": "https://posthog.element.io" }, "features": { "feature_spotlight": true diff --git a/package.json b/package.json index 171c4a55ba7..547b125d058 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "element-web", - "version": "1.10.8", + "version": "1.10.10", "description": "A feature-rich client for Matrix.org", "author": "New Vector Ltd.", "repository": { @@ -51,7 +51,7 @@ "lint:js": "eslint --max-warnings 0 src", "lint:js-fix": "eslint --fix src", "lint:types": "tsc --noEmit --jsx react", - "lint:style": "stylelint 'res/css/**/*.scss'", + "lint:style": "stylelint \"res/css/**/*.scss\"", "test": "jest" }, "dependencies": { @@ -60,8 +60,8 @@ "gfm.css": "^1.1.2", "jsrsasign": "^10.2.0", "katex": "^0.12.0", - "matrix-js-sdk": "16.0.1", - "matrix-react-sdk": "3.42.1", + "matrix-js-sdk": "17.0.0", + "matrix-react-sdk": "3.42.4", "matrix-widget-api": "^0.1.0-beta.18", "prop-types": "^15.7.2", "react": "17.0.2", @@ -87,7 +87,6 @@ "@babel/preset-typescript": "^7.12.7", "@babel/register": "^7.12.10", "@babel/runtime": "^7.12.5", - "@pmmmwh/react-refresh-webpack-plugin": "^0.4.3", "@principalstudio/html-webpack-inject-preload": "^1.2.7", "@sentry/webpack-plugin": "^1.18.1", "@svgr/webpack": "^5.5.0", @@ -130,7 +129,7 @@ "matrix-react-test-utils": "^0.2.3", "matrix-web-i18n": "^1.2.0", "mini-css-extract-plugin": "^0.12.0", - "minimist": "^1.2.5", + "minimist": "^1.2.6", "mkdirp": "^1.0.4", "modernizr": "^3.12.0", "node-fetch": "^2.6.7", @@ -146,7 +145,6 @@ "postcss-simple-vars": "^5.0.2", "postcss-strip-inline-comments": "^0.1.5", "raw-loader": "^4.0.2", - "react-refresh": "^0.10.0", "rimraf": "^3.0.2", "shell-escape": "^0.2.0", "simple-proxy-agent": "^1.1.0", diff --git a/src/i18n/strings/he.json b/src/i18n/strings/he.json index 3fc6e263d53..0d328e7ce32 100644 --- a/src/i18n/strings/he.json +++ b/src/i18n/strings/he.json @@ -11,7 +11,7 @@ "Open user settings": "פתח הגדרות משתמש", "Go to your browser to complete Sign In": "עבור לדפדפן להמשך ההתחברות", "Explore rooms": "גלה חדרים", - "Create Account": "יצירת חשבון", + "Create Account": "משתמש חדש", "Sign In": "התחברות", "Previous/next recently visited room or community": "הבא\\קודם חדרים וקהילות שביקרתם לאחרונה", "Open": "פתח", diff --git a/src/i18n/strings/hi.json b/src/i18n/strings/hi.json index 8aa012a8601..3a65e0e9a2c 100644 --- a/src/i18n/strings/hi.json +++ b/src/i18n/strings/hi.json @@ -7,5 +7,28 @@ "Decentralised, encrypted chat & collaboration powered by [matrix]": "[मैट्रिक्स] द्वारा संचालित विकेंद्रीकृत, एन्क्रिप्टेड चैट और सहयोगिता", "Sign In": "साइन करना", "Create Account": "खाता बनाएं", - "Explore rooms": "रूम का अन्वेषण करें" + "Explore rooms": "रूम का अन्वेषण करें", + "%(appName)s (%(browserName)s, %(osName)s)": "%(appName)s (%(browserName)s, %(osName)s)", + "%(brand)s Desktop (%(platformName)s)": "%(brand)s का डेस्कटॉप (%(platformName)s)", + "Invalid configuration: can only specify one of default_server_config, default_server_name, or default_hs_url.": "अमान्य कॉन्फ़िगरेशन: केवल default_server_config, default_server_name, या default_hs_url में से कोई एक निर्दिष्ट कर सकता है।", + "Failed to start": "प्रारंभ करने में विफल", + "Go to element.io": "element.io पर जाएं", + "I understand the risks and wish to continue": "मैं जोखिमों को समझता हूं और जारी रखना चाहता हूं", + "You can continue using your current browser, but some or all features may not work and the look and feel of the application may be incorrect.": "आप अपने वर्तमान ब्राउज़र का उपयोग जारी रख सकते हैं, लेकिन हो सकता है कि कुछ या सभी सुविधाएं काम न करें और एप्लिकेशन का रंगरूप गलत हो सकता है।", + "Please install Chrome, Firefox, or Safari for the best experience.": "सर्वोत्तम अनुभव के लिए कृपया Chrome, Firefox, या Safari इंस्टॉल करें।", + "%(brand)s uses advanced browser features which aren't supported by your current browser.": "%(brand)s उन्नत ब्राउज़र सुविधाओं का उपयोग करते हैं जो आपके वर्तमान ब्राउज़र द्वारा समर्थित नहीं हैं।", + "Your browser can't run %(brand)s": "आपका ब्राउज़र %(brand)s को नहीं चला सकता", + "Use %(brand)s on mobile": "मोबाइल पर %(brand)s का प्रयोग करें", + "Unsupported browser": "असमर्थित ब्राउज़र", + "Powered by Matrix": "मैट्रिक्स द्वारा संचालित", + "Go to your browser to complete Sign In": "साइन इन पूरा करने के लिए अपने ब्राउज़र पर जाएं", + "Open": "खुला", + "Download Completed": "डाउनलोड सम्पन्न हुआ", + "Unexpected error preparing the app. See console for details.": "ऐप्लिकेशन तैयार करने में अनपेक्षित गड़बड़ी हुई. विवरण के लिए कंसोल देखें।", + "Unable to load config file: please refresh the page to try again.": "कॉन्फ़िग फ़ाइल लोड करने में असमर्थ: कृपया पुन: प्रयास करने के लिए पृष्ठ को रीफ़्रेश करें।", + "Invalid JSON": "अमान्य JSON", + "The message from the parser is: %(message)s": "पार्सर का संदेश है: %(message)s", + "Your Element configuration contains invalid JSON. Please correct the problem and reload the page.": "आपके एलीमेंट कॉन्फ़िगरेशन में अमान्य JSON है. कृपया समस्या को ठीक करें और पृष्ठ को पुनः लोड करें।", + "Your Element is misconfigured": "आपका तत्व गलत कॉन्फ़िगर किया गया है", + "Invalid configuration: no default server specified.": "अमान्य कॉन्फ़िगरेशन: कोई डिफ़ॉल्ट सर्वर निर्दिष्ट नहीं है।" } diff --git a/src/i18n/strings/is.json b/src/i18n/strings/is.json index cd57d440a27..75bcf86fd46 100644 --- a/src/i18n/strings/is.json +++ b/src/i18n/strings/is.json @@ -7,22 +7,22 @@ "Decentralised, encrypted chat & collaboration powered by [matrix]": "Dulritað dreifvinnsluspjall og samvinnutól keyrt með [matrix]", "Open": "Opna", "Unsupported browser": "Óstuddur vafri", - "Your browser can't run %(brand)s": "Vafri þinn geta ekki keyrt upp %(brand)s", + "Your browser can't run %(brand)s": "Vafrinn þinn getur ekki keyrt %(brand)s", "Sign In": "Skrá inn", "Create Account": "Búa til notandaaðgang", "Explore rooms": "Kanna spjallrásir", "Missing indexeddb worker script!": "Að vanta indexeddb vinnumaður tölvuhandrit!", "The message from the parser is: %(message)s": "Skilaboðið frá þáttaranum er %(message)s", "Invalid JSON": "Ógilt JSON", - "Download Completed": "Niðurhali lokið.", + "Download Completed": "Niðurhali lokið", "%(appName)s (%(browserName)s, %(osName)s)": "%(appName)s (%(browserName)s, %(osName)s)", - "Please install Chrome, Firefox, or Safari for the best experience.": "vinsamlegast setja upp Chrome, Firefox, eða Safari fyrir besta reynsluna.", + "Please install Chrome, Firefox, or Safari for the best experience.": "Þú ættir að setja upp Chrome, Firefox, eða Safari til að fá sem besta útkomu.", "I understand the risks and wish to continue": "Ég skil áhættuna og óska að halda áfram", - "Go to element.io": "Farðu á element.io", + "Go to element.io": "Fara á element.io", "Unexpected error preparing the app. See console for details.": "Óvænt villa við undirbúning forritsins. Sjá nánar á stjórnskjá.", "Failed to start": "Mistókst að ræsa", - "You can continue using your current browser, but some or all features may not work and the look and feel of the application may be incorrect.": "Þú getur haldið áfram að nota núverandi vafra, en sumar eða allir eiginleikar virka ekki og útlit og tilfinning forritsins geta verið röng.", - "%(brand)s uses advanced browser features which aren't supported by your current browser.": "%(brand)s notar háþróaða vafraeiginleika sem eru ekki studdir af núverandi vafra þínum.", + "You can continue using your current browser, but some or all features may not work and the look and feel of the application may be incorrect.": "Þú getur haldið áfram að nota núverandi vafra, en sumir eða allir eiginleikar virka mögulega ekki rétt, auk þess sem útlit og hegðun forritsins geta verið röng.", + "%(brand)s uses advanced browser features which aren't supported by your current browser.": "%(brand)s notar háþróaða vafraeiginleika sem eru ekki studdir af vafranum þínum.", "Powered by Matrix": "Keyrt með Matrix", "Go to your browser to complete Sign In": "Farðu í vafrann þinn til að ljúka innskráningu", "%(brand)s Desktop (%(platformName)s)": "%(brand)s Desktop fyrir vinnutölvur (%(platformName)s)", diff --git a/src/vector/jitsi/index.scss b/src/vector/jitsi/index.scss index 992485eb342..b5037896172 100644 --- a/src/vector/jitsi/index.scss +++ b/src/vector/jitsi/index.scss @@ -58,6 +58,10 @@ body, html { position: absolute; height: 100%; width: 100%; + + // Hidden by default to avoid flashing the prejoin screen at the user when + // we're supposed to skip it anyways + visibility: hidden; } .joinConferenceFloating { diff --git a/src/vector/jitsi/index.ts b/src/vector/jitsi/index.ts index c6783d5a6ba..055d4aff4f8 100644 --- a/src/vector/jitsi/index.ts +++ b/src/vector/jitsi/index.ts @@ -51,11 +51,14 @@ let roomId: string; let openIdToken: IOpenIDCredentials; let roomName: string; let startAudioOnly: boolean; +let isVideoChannel: boolean; let widgetApi: WidgetApi; let meetApi: any; // JitsiMeetExternalAPI let skipOurWelcomeScreen = false; +const ack = (ev: CustomEvent) => widgetApi.transport.reply(ev.detail, {}); + (async function() { try { // Queue a config.json lookup asap, so we can use it later on. We want this to be concurrent with @@ -118,22 +121,20 @@ let skipOurWelcomeScreen = false; roomId = qsParam('roomId', true); roomName = qsParam('roomName', true); startAudioOnly = qsParam('isAudioOnly', true) === "true"; + isVideoChannel = qsParam('isVideoChannel', true) === "true"; // We've reached the point where we have to wait for the config, so do that then parse it. const instanceConfig = new SnakedObject((await configPromise) ?? {}); const jitsiConfig = instanceConfig.get("jitsi_widget") ?? {}; skipOurWelcomeScreen = (new SnakedObject(jitsiConfig)) - .get("skip_built_in_welcome_screen") || false; + .get("skip_built_in_welcome_screen") || isVideoChannel; - // If we're meant to skip our screen, skip to the part where we show Jitsi instead of us. + // Either reveal the prejoin screen, or skip straight to Jitsi depending on the config. // We don't set up the call yet though as this might lead to failure without the widget API. - if (skipOurWelcomeScreen) { - toggleConferenceVisibility(true); - } + toggleConferenceVisibility(skipOurWelcomeScreen); if (widgetApi) { await readyPromise; - await widgetApi.setAlwaysOnScreen(false); // start off as detachable from the screen // See https://github.com/matrix-org/prosody-mod-auth-matrix-user-verification if (jitsiAuth === JITSI_OPENIDTOKEN_JWT_AUTH) { @@ -142,12 +143,48 @@ let skipOurWelcomeScreen = false; logger.log("Got OpenID Connect token"); } - // TODO: register widgetApi listeners for PTT controls (https://github.com/vector-im/element-web/issues/12795) - + widgetApi.on(`action:${ElementWidgetActions.JoinCall}`, + (ev: CustomEvent) => { + joinConference(); + ack(ev); + }, + ); widgetApi.on(`action:${ElementWidgetActions.HangupCall}`, (ev: CustomEvent) => { - if (meetApi) meetApi.executeCommand('hangup'); - widgetApi.transport.reply(ev.detail, {}); // ack + meetApi?.executeCommand('hangup'); + ack(ev); + }, + ); + widgetApi.on(`action:${ElementWidgetActions.MuteAudio}`, + async (ev: CustomEvent) => { + ack(ev); + if (meetApi && !await meetApi.isAudioMuted()) { + meetApi.executeCommand('toggleAudio'); + } + }, + ); + widgetApi.on(`action:${ElementWidgetActions.UnmuteAudio}`, + async (ev: CustomEvent) => { + ack(ev); + if (meetApi && await meetApi.isAudioMuted()) { + meetApi.executeCommand('toggleAudio'); + } + }, + ); + widgetApi.on(`action:${ElementWidgetActions.MuteVideo}`, + async (ev: CustomEvent) => { + ack(ev); + if (meetApi && !await meetApi.isVideoMuted()) { + meetApi.executeCommand('toggleVideo'); + } + }, + ); + widgetApi.on(`action:${ElementWidgetActions.UnmuteVideo}`, + async (ev: CustomEvent) => { + ack(ev); + if (meetApi && await meetApi.isVideoMuted()) { + meetApi.executeCommand('toggleVideo'); + } }, ); widgetApi.on(`action:${ElementWidgetActions.StartLiveStream}`, @@ -160,7 +197,7 @@ let skipOurWelcomeScreen = false; //rtmpStreamKey: ev.detail.data.rtmpStreamKey, youtubeStreamKey: ev.detail.data.rtmpStreamKey, }); - widgetApi.transport.reply(ev.detail, {}); // ack + ack(ev); } else { widgetApi.transport.reply(ev.detail, { error: { message: "Conference not joined" } }); } @@ -263,6 +300,7 @@ function joinConference() { // event handler bound in HTML "they mention 'external_api' or 'jitsi' in the stack. They're just Jitsi Meet trying to parse " + "our fragment values and not recognizing the options.", ); + const options = { width: "100%", height: "100%", @@ -276,10 +314,23 @@ function joinConference() { // event handler bound in HTML }, configOverwrite: { startAudioOnly, - }, + } as any, jwt: jwt, }; + // Video channel widgets need some more tailored config options + if (isVideoChannel) { + // Ensure that we start on Jitsi Meet's native prejoin screen, for + // deployments that skip straight to the conference by default + options.configOverwrite.prejoinConfig = { enabled: true }; + // Use a simplified set of toolbar buttons + options.configOverwrite.toolbarButtons = [ + "microphone", "camera", "desktop", "tileview", "hangup", + ]; + // Hide all top bar elements + options.configOverwrite.conferenceInfo = { autoHide: [] }; + } + meetApi = new JitsiMeetExternalAPI(jitsiDomain, options); if (displayName) meetApi.executeCommand("displayName", displayName); if (avatarUrl) meetApi.executeCommand("avatarUrl", avatarUrl); @@ -293,16 +344,24 @@ function joinConference() { // event handler bound in HTML // ignored promise because we don't care if it works // noinspection JSIgnoredPromiseFromCall widgetApi.setAlwaysOnScreen(true); + widgetApi.transport.send(ElementWidgetActions.JoinCall, {}); } + + // Video rooms should start in tile mode + if (isVideoChannel) meetApi.executeCommand("setTileView", true); }); meetApi.on("readyToClose", () => { switchVisibleContainers(); if (widgetApi) { + // We send the hangup event before setAlwaysOnScreen, because the latter + // can cause the receiving side to instantly stop listening. // ignored promise because we don't care if it works // noinspection JSIgnoredPromiseFromCall - widgetApi.setAlwaysOnScreen(false); + widgetApi.transport.send(ElementWidgetActions.HangupCall, {}).finally(() => + widgetApi.setAlwaysOnScreen(false), + ); } document.getElementById("jitsiContainer").innerHTML = ""; @@ -312,4 +371,22 @@ function joinConference() { // event handler bound in HTML skipToJitsiSplashScreen(); } }); + + meetApi.on("audioMuteStatusChanged", ({ muted }) => { + const action = muted ? ElementWidgetActions.MuteAudio : ElementWidgetActions.UnmuteAudio; + widgetApi.transport.send(action, {}); + }); + + meetApi.on("videoMuteStatusChanged", ({ muted }) => { + const action = muted ? ElementWidgetActions.MuteVideo : ElementWidgetActions.UnmuteVideo; + widgetApi.transport.send(action, {}); + }); + + ["videoConferenceJoined", "participantJoined", "participantLeft"].forEach(event => { + meetApi.on(event, () => { + widgetApi?.transport.send(ElementWidgetActions.CallParticipants, { + participants: meetApi.getParticipantsInfo(), + }); + }); + }); } diff --git a/webpack.config.js b/webpack.config.js index 01a004bac7f..5bb7beb5a1a 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -8,7 +8,6 @@ const MiniCssExtractPlugin = require('mini-css-extract-plugin'); const TerserPlugin = require('terser-webpack-plugin'); const OptimizeCSSAssetsPlugin = require('optimize-css-assets-webpack-plugin'); const HtmlWebpackInjectPreload = require('@principalstudio/html-webpack-inject-preload'); -const ReactRefreshWebpackPlugin = require('@pmmmwh/react-refresh-webpack-plugin'); const SentryCliPlugin = require("@sentry/webpack-plugin"); dotenv.config(); @@ -64,7 +63,7 @@ module.exports = (env, argv) => { // // argv.mode is always set to "production" by yarn build // (called to build prod, nightly and develop.element.io) - // arg.mode is set to "delopment" by yarn start + // arg.mode is set to "development" by yarn start // (called by developers, runs the continuous reload script) // process.env.CI_PACKAGE is set when yarn build is called from scripts/ci_package.sh // (called to build nightly and develop.element.io) @@ -242,9 +241,6 @@ module.exports = (env, argv) => { loader: 'babel-loader', options: { cacheDirectory: true, - plugins: [ - useHMR && require.resolve('react-refresh/babel'), - ].filter(Boolean), }, }, { @@ -624,7 +620,6 @@ module.exports = (env, argv) => { new HtmlWebpackInjectPreload({ files: [{ match: /.*Inter.*\.woff2$/ }], }), - useHMR && new ReactRefreshWebpackPlugin(fullPageErrors ? undefined : { overlay: { entry: false } }), // upload to sentry if sentry env is present process.env.SENTRY_DSN && diff --git a/yarn.lock b/yarn.lock index 8c72f754324..c5171b70bb6 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1551,18 +1551,6 @@ dependencies: "@octokit/openapi-types" "^11.2.0" -"@pmmmwh/react-refresh-webpack-plugin@^0.4.3": - version "0.4.3" - resolved "https://registry.yarnpkg.com/@pmmmwh/react-refresh-webpack-plugin/-/react-refresh-webpack-plugin-0.4.3.tgz#1eec460596d200c0236bf195b078a5d1df89b766" - integrity sha512-br5Qwvh8D2OQqSXpd1g/xqXKnK0r+Jz6qVKBbWmpUcrbGOxUrf39V5oZ1876084CGn18uMdR5uvPqBv9UqtBjQ== - dependencies: - ansi-html "^0.0.7" - error-stack-parser "^2.0.6" - html-entities "^1.2.1" - native-url "^0.2.6" - schema-utils "^2.6.5" - source-map "^0.7.3" - "@principalstudio/html-webpack-inject-preload@^1.2.7": version "1.2.7" resolved "https://registry.yarnpkg.com/@principalstudio/html-webpack-inject-preload/-/html-webpack-inject-preload-1.2.7.tgz#0c1f0b32a34d814b36ce84111f89990441cc64e8" @@ -2453,11 +2441,6 @@ ansi-html-community@0.0.8: resolved "https://registry.yarnpkg.com/ansi-html-community/-/ansi-html-community-0.0.8.tgz#69fbc4d6ccbe383f9736934ae34c3f8290f1bf41" integrity sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw== -ansi-html@^0.0.7: - version "0.0.7" - resolved "https://registry.yarnpkg.com/ansi-html/-/ansi-html-0.0.7.tgz#813584021962a9e9e6fd039f940d12f56ca7859e" - integrity sha1-gTWEAhliqenm/QOflA0S9WynhZ4= - ansi-regex@^2.0.0: version "2.1.1" resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" @@ -4676,15 +4659,20 @@ emoji-regex@^8.0.0: resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== -emojibase-data@^6.2.0: - version "6.2.0" - resolved "https://registry.yarnpkg.com/emojibase-data/-/emojibase-data-6.2.0.tgz#db6c75c36905284fa623f4aa5f468d2be6ed364a" - integrity sha512-SWKaXD2QeQs06IE7qfJftsI5924Dqzp+V9xaa5RzZIEWhmlrG6Jt2iKwfgOPHu+5S8MEtOI7GdpKsXj46chXOw== +emojibase-data@7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/emojibase-data/-/emojibase-data-7.0.0.tgz#5e16ed265871d58b3ca7c3b2bc7d80853a55f34f" + integrity sha512-ka3p06egA+jqWnUUjNfOwYAw4j9/+KyUcCpFjSItM0NjbL8n5qZfe1mskmGUP4TkuE5SbiOvG++CC1iN+53jKg== -emojibase-regex@^5.1.3: - version "5.1.3" - resolved "https://registry.yarnpkg.com/emojibase-regex/-/emojibase-regex-5.1.3.tgz#f0ef621ed6ec624becd2326f999fd4ea01b94554" - integrity sha512-gT8T9LxLA8VJdI+8KQtyykB9qKzd7WuUL3M2yw6y9tplFeufOUANg3UKVaKUvkMcRNvZsSElWhxcJrx8WPE12g== +emojibase-regex@6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/emojibase-regex/-/emojibase-regex-6.0.0.tgz#2d236f6bd38e6aa69089707eb06fe1f6a3270198" + integrity sha512-vpo76XcjjFapY4Q1vZAp8fu07p9lNCZi0TMtpZ3XyHYRqnqYZTzHgSI7tMvpYmnD8xt9o4XC5oUaSJXT4Ky9Tw== + +emojibase@6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/emojibase/-/emojibase-6.0.2.tgz#1e76996b2bd9e6927e51f54c3995245b03eacb02" + integrity sha512-2h2eblOm86tj+lsJLgLYmEni13H74KNNu1NI1ZgMOX9ByWuvjFZLhETEUH1edpcd8srAlzhfJSD892UbpxfwsA== emojis-list@^3.0.0: version "3.0.0" @@ -4753,13 +4741,6 @@ error-ex@^1.3.1: dependencies: is-arrayish "^0.2.1" -error-stack-parser@^2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/error-stack-parser/-/error-stack-parser-2.0.6.tgz#5a99a707bd7a4c58a797902d48d82803ede6aad8" - integrity sha512-d51brTeqC+BHlwF0BhPtcYgF5nlzf9ZZ0ZIUQNZpc9ZB9qw5IJ2diTrBY9jlCJkTLITYPjmiX6OWCwH+fuyNgQ== - dependencies: - stackframe "^1.1.1" - es-abstract@^1.17.2, es-abstract@^1.18.5, es-abstract@^1.19.0, es-abstract@^1.19.1: version "1.19.1" resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.19.1.tgz#d4885796876916959de78edaa0df456627115ec3" @@ -6262,7 +6243,7 @@ html-encoding-sniffer@^2.0.1: dependencies: whatwg-encoding "^1.0.5" -html-entities@^1.2.1, html-entities@^1.3.1, html-entities@^1.4.0: +html-entities@^1.3.1, html-entities@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-1.4.0.tgz#cfbd1b01d2afaf9adca1b10ae7dffab98c71d2dc" integrity sha512-8nxjcBcd8wovbeKx7h3wTji4e6+rhaVuPNpMqwWgnHh+N9ToqsCs6XztWRBPQ+UtzsoMAdKZtUENoVzU/EMtZA== @@ -8220,10 +8201,10 @@ 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@16.0.1: - version "16.0.1" - resolved "https://registry.yarnpkg.com/matrix-js-sdk/-/matrix-js-sdk-16.0.1.tgz#9b389ef16677ba648efad2929a7802af6f1dc81f" - integrity sha512-GRYZY7JZRqsVFa2nKO2qJbU4gQail2+1PgX2QDcibWizTL5Gh8YS384twprpIKqzdLHJ3d7H7A0L+uqc562ZsQ== +matrix-js-sdk@17.0.0: + version "17.0.0" + resolved "https://registry.yarnpkg.com/matrix-js-sdk/-/matrix-js-sdk-17.0.0.tgz#6edf2f8d05da003e98a6cf5269a4717adfe4e406" + integrity sha512-8nv+a1e6n4x4DYKiBFRS6/CIpsE22+31K+9/4Y5MB8m3iraSVBtdZ5y/9ktQnjQuo9I85TvyqHL2obRWF7UD5Q== dependencies: "@babel/runtime" "^7.12.5" another-json "^0.2.0" @@ -8245,10 +8226,10 @@ matrix-mock-request@^1.2.3: bluebird "^3.5.0" expect "^1.20.2" -matrix-react-sdk@3.42.1: - version "3.42.1" - resolved "https://registry.yarnpkg.com/matrix-react-sdk/-/matrix-react-sdk-3.42.1.tgz#15aec8c01f54cf8badf4423d7b1b8c3dc31d643e" - integrity sha512-XLNgoBkPc5qhJPX9o6kb1azua0Tgg7+NJ9pVyTM3J1lHXsP37oR9aeVLK7fGugnZEDN+fn0Hy9ROguAWNXruAA== +matrix-react-sdk@3.42.4: + version "3.42.4" + resolved "https://registry.yarnpkg.com/matrix-react-sdk/-/matrix-react-sdk-3.42.4.tgz#2d3e830435e1c84b34a06cdaaa11854afae0d7ea" + integrity sha512-6z37RfDzUVwuxdWD59xpK8IvBJfJkEGN07hWD9dcJmUPrEVa1azWGvOLH2FRq1Q525DkLAn5Ci4fNQdUiyzynA== dependencies: "@babel/runtime" "^7.12.5" "@sentry/browser" "^6.11.0" @@ -8264,8 +8245,9 @@ matrix-react-sdk@3.42.1: counterpart "^0.18.6" diff-dom "^4.2.2" diff-match-patch "^1.0.5" - emojibase-data "^6.2.0" - emojibase-regex "^5.1.3" + emojibase "6.0.2" + emojibase-data "7.0.0" + emojibase-regex "6.0.0" escape-html "^1.0.3" file-saver "^2.0.5" filesize "6.1.0" @@ -8285,7 +8267,7 @@ matrix-react-sdk@3.42.1: maplibre-gl "^1.15.2" matrix-analytics-events "github:matrix-org/matrix-analytics-events.git#daad3faed54f0b1f1e026a7498b4653e4d01cd90" matrix-events-sdk "^0.0.1-beta.7" - matrix-js-sdk "16.0.1" + matrix-js-sdk "17.0.0" matrix-widget-api "^0.1.0-beta.18" minimist "^1.2.5" opus-recorder "^8.0.3" @@ -8591,10 +8573,10 @@ minimist-options@4.1.0: is-plain-obj "^1.1.0" kind-of "^6.0.3" -minimist@>=1.2.2, minimist@^1.1.0, minimist@^1.1.1, minimist@^1.2.0, minimist@^1.2.5: - version "1.2.5" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" - integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== +minimist@>=1.2.2, minimist@^1.1.0, minimist@^1.1.1, minimist@^1.2.0, minimist@^1.2.5, minimist@^1.2.6: + version "1.2.6" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.6.tgz#8637a5b759ea0d6e98702cfb3a9283323c93af44" + integrity sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q== minipass-collect@^1.0.2: version "1.0.2" @@ -8745,13 +8727,6 @@ nanomatch@^1.2.9: snapdragon "^0.8.1" to-regex "^3.0.1" -native-url@^0.2.6: - version "0.2.6" - resolved "https://registry.yarnpkg.com/native-url/-/native-url-0.2.6.tgz#ca1258f5ace169c716ff44eccbddb674e10399ae" - integrity sha512-k4bDC87WtgrdD362gZz6zoiXQrl40kYlBmpfmSjwRO1VU0V5ccwJTlxuE72F6m3V0vc1xOf6n3UCP9QyerRqmA== - dependencies: - querystring "^0.2.0" - natural-compare@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" @@ -10555,11 +10530,6 @@ querystring@0.2.0: resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" integrity sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA= -querystring@^0.2.0: - version "0.2.1" - resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.1.tgz#40d77615bb09d16902a85c3e38aa8b5ed761c2dd" - integrity sha512-wkvS7mL/JMugcup3/rMitHmd9ecIGd2lhFhK9N3UUQ450h66d1r3Y9nvXzQAW1Lq+wyx61k/1pfKS5KuKiyEbg== - querystringify@^2.1.1: version "2.2.0" resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.2.0.tgz#3345941b4153cb9d082d8eee4cda2016a9aef7f6" @@ -10707,11 +10677,6 @@ react-redux@^7.2.0: prop-types "^15.7.2" react-is "^17.0.2" -react-refresh@^0.10.0: - version "0.10.0" - resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.10.0.tgz#2f536c9660c0b9b1d500684d9e52a65e7404f7e3" - integrity sha512-PgidR3wST3dDYKr6b4pJoqQFpPGNKDSCDx4cZoshjXipw3LzO7mG1My2pwEzz2JVkF+inx3xRpDeQLFQGH/hsQ== - react-transition-group@^4.4.1: version "4.4.2" resolved "https://registry.yarnpkg.com/react-transition-group/-/react-transition-group-4.4.2.tgz#8b59a56f09ced7b55cbd53c36768b922890d5470" @@ -11752,11 +11717,6 @@ stack-utils@^2.0.2: dependencies: escape-string-regexp "^2.0.0" -stackframe@^1.1.1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/stackframe/-/stackframe-1.2.0.tgz#52429492d63c62eb989804c11552e3d22e779303" - integrity sha512-GrdeshiRmS1YLMYgzF16olf2jJ/IzxXY9lhKOskuVziubpTYcYqyOwYeJKzQkwy7uN0fYSsbsC4RQaXf9LCrYA== - static-extend@^0.1.1: version "0.1.2" resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6"