Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package element-web for openSUSE:Factory 
checked in at 2023-04-14 16:11:57
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/element-web (Old)
 and      /work/SRC/openSUSE:Factory/.element-web.new.19717 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "element-web"

Fri Apr 14 16:11:57 2023 rev:33 rq:1079442 version:1.11.29

Changes:
--------
--- /work/SRC/openSUSE:Factory/element-web/element-web.changes  2023-03-29 
23:27:20.867504386 +0200
+++ /work/SRC/openSUSE:Factory/.element-web.new.19717/element-web.changes       
2023-04-14 16:11:58.357925526 +0200
@@ -1,0 +2,82 @@
+Fri Apr 14 11:52:56 UTC 2023 - Dominik Heidler <dheid...@suse.de>
+
+- Version 1.11.29
+## ✨ Features
+ * Allow desktop app to expose recent rooms in UI integrations 
([\#16940](https://github.com/vector-im/element-web/pull/16940)).
+ * Add API params to mute audio and/or video in Jitsi calls by default 
([\#24820](https://github.com/vector-im/element-web/pull/24820)). Contributed 
by @dhenneke.
+ * Style mentions as pills in rich text editor 
([\#10448](https://github.com/matrix-org/matrix-react-sdk/pull/10448)). 
Contributed by @alunturner.
+ * Show room create icon if "UIComponent.roomCreation" is enabled 
([\#10364](https://github.com/matrix-org/matrix-react-sdk/pull/10364)). 
Contributed by @maheichyk.
+ * Mentions as links rte 
([\#10463](https://github.com/matrix-org/matrix-react-sdk/pull/10463)). 
Contributed by @alunturner.
+ * Better error handling in jump to date 
([\#10405](https://github.com/matrix-org/matrix-react-sdk/pull/10405)). 
Contributed by @MadLittleMods.
+ * Show "Invite" menu option if "UIComponent.sendInvites" is enabled. 
([\#10363](https://github.com/matrix-org/matrix-react-sdk/pull/10363)). 
Contributed by @maheichyk.
+ * Added `UserProfilesStore`, `LruCache` and user permalink profile caching 
([\#10425](https://github.com/matrix-org/matrix-react-sdk/pull/10425)). Fixes 
#10559.
+ * Mentions as links rte 
([\#10422](https://github.com/matrix-org/matrix-react-sdk/pull/10422)). 
Contributed by @alunturner.
+ * Implement MSC3952: intentional mentions 
([\#9983](https://github.com/matrix-org/matrix-react-sdk/pull/9983)).
+ * Implement MSC3973: Search users in the user directory with the Widget API 
([\#10269](https://github.com/matrix-org/matrix-react-sdk/pull/10269)). 
Contributed by @dhenneke.
+ * Permalinks to message are now displayed as pills 
([\#10392](https://github.com/matrix-org/matrix-react-sdk/pull/10392)). Fixes 
#24751 and #24706.
+ * Show search,dial,explore in filterContainer if 
"UIComponent.filterContainer" is enabled 
([\#10381](https://github.com/matrix-org/matrix-react-sdk/pull/10381)). 
Contributed by @maheichyk.
+ * Increase space panel collapse clickable area 
([\#6084](https://github.com/matrix-org/matrix-react-sdk/pull/6084)). Fixes 
#17379. Contributed by @jaiwanth-v.
+ * Add fallback for replies to Polls 
([\#10380](https://github.com/matrix-org/matrix-react-sdk/pull/10380)). Fixes 
#24197. Contributed by @kerryarchibald.
+ * Permalinks to rooms and users are now pillified 
([\#10388](https://github.com/matrix-org/matrix-react-sdk/pull/10388)). Fixes 
#24825.
+ * Poll history -  access poll history from room settings 
([\#10356](https://github.com/matrix-org/matrix-react-sdk/pull/10356)). 
Contributed by @kerryarchibald.
+ * Add API params to mute audio and/or video in Jitsi calls by default 
([\#10376](https://github.com/matrix-org/matrix-react-sdk/pull/10376)). 
Contributed by @dhenneke.
+ * Notifications: inline error message on notifications saving error 
([\#10288](https://github.com/matrix-org/matrix-react-sdk/pull/10288)). 
Contributed by @kerryarchibald.
+ * Support dynamic room predecessor in SpaceProvider 
([\#10348](https://github.com/matrix-org/matrix-react-sdk/pull/10348)). 
Contributed by @andybalaam.
+ * Support dynamic room predecessors for RoomProvider 
([\#10346](https://github.com/matrix-org/matrix-react-sdk/pull/10346)). 
Contributed by @andybalaam.
+ * Support dynamic room predecessors in OwnBeaconStore 
([\#10339](https://github.com/matrix-org/matrix-react-sdk/pull/10339)). 
Contributed by @andybalaam.
+ * Support dynamic room predecessors in ForwardDialog 
([\#10344](https://github.com/matrix-org/matrix-react-sdk/pull/10344)). 
Contributed by @andybalaam.
+ * Support dynamic room predecessors in SpaceHierarchy 
([\#10341](https://github.com/matrix-org/matrix-react-sdk/pull/10341)). 
Contributed by @andybalaam.
+ * Support dynamic room predecessors in AddExistingToSpaceDialog 
([\#10342](https://github.com/matrix-org/matrix-react-sdk/pull/10342)). 
Contributed by @andybalaam.
+ * Support dynamic room predecessors in leave-behaviour 
([\#10340](https://github.com/matrix-org/matrix-react-sdk/pull/10340)). 
Contributed by @andybalaam.
+ * Support dynamic room predecessors in StopGapWidgetDriver 
([\#10338](https://github.com/matrix-org/matrix-react-sdk/pull/10338)). 
Contributed by @andybalaam.
+ * Support dynamic room predecessors in WidgetLayoutStore 
([\#10326](https://github.com/matrix-org/matrix-react-sdk/pull/10326)). 
Contributed by @andybalaam.
+ * Support dynamic room predecessors in SpaceStore 
([\#10332](https://github.com/matrix-org/matrix-react-sdk/pull/10332)). 
Contributed by @andybalaam.
+ * Sync polls push rules on changes to account_data 
([\#10287](https://github.com/matrix-org/matrix-react-sdk/pull/10287)). 
Contributed by @kerryarchibald.
+ * Support dynamic room predecessors in BreadcrumbsStore 
([\#10295](https://github.com/matrix-org/matrix-react-sdk/pull/10295)). 
Contributed by @andybalaam.
+ * Improved a11y for Field feedback and Secure Phrase input 
([\#10320](https://github.com/matrix-org/matrix-react-sdk/pull/10320)). 
Contributed by @Sebbones.
+ * Support dynamic room predecessors in RoomNotificationStateStore 
([\#10297](https://github.com/matrix-org/matrix-react-sdk/pull/10297)). 
Contributed by @andybalaam.
+
+## 🐛 Bug Fixes
+ * Use a newly generated access_token while joining Jitsi 
([\#24646](https://github.com/vector-im/element-web/pull/24646)). Fixes #24687. 
Contributed by @emrahcom.
+ * Fix cloudflare action pointing at commit hash instead of tag 
([\#24777](https://github.com/vector-im/element-web/pull/24777)). Contributed 
by @justjanne.
+ * Allow editing with RTE to overflow for autocomplete visibility 
([\#10499](https://github.com/matrix-org/matrix-react-sdk/pull/10499)). 
Contributed by @alunturner.
+ * Added auto focus to Github URL on opening of debug logs modal 
([\#10479](https://github.com/matrix-org/matrix-react-sdk/pull/10479)). 
Contributed by @ShivamSpm.
+ * Fix detection of encryption for all users in a room 
([\#10487](https://github.com/matrix-org/matrix-react-sdk/pull/10487)). Fixes 
#24995.
+ * Properly generate mentions when editing a reply with MSC3952 
([\#10486](https://github.com/matrix-org/matrix-react-sdk/pull/10486)). Fixes 
#24924. Contributed by @kerryarchibald.
+ * Improve performance of rendering a room with many hidden events 
([\#10131](https://github.com/matrix-org/matrix-react-sdk/pull/10131)). 
Contributed by @andybalaam.
+ * Prevent future date selection in jump to date 
([\#10419](https://github.com/matrix-org/matrix-react-sdk/pull/10419)). Fixes 
#20800. Contributed by @MadLittleMods.
+ * Add aria labels to message search bar to improve accessibility 
([\#10476](https://github.com/matrix-org/matrix-react-sdk/pull/10476)). Fixes 
#24921.
+ * Fix decryption failure bar covering the timeline 
([\#10360](https://github.com/matrix-org/matrix-react-sdk/pull/10360)). Fixes 
#24780 #24074 and #24183. Contributed by @luixxiul.
+ * Improve profile picture settings accessibility 
([\#10470](https://github.com/matrix-org/matrix-react-sdk/pull/10470)). Fixes 
#24919.
+ * Handle group call redaction 
([\#10465](https://github.com/matrix-org/matrix-react-sdk/pull/10465)).
+ * Display relative timestamp for threads on the same calendar day 
([\#10399](https://github.com/matrix-org/matrix-react-sdk/pull/10399)). Fixes 
#24841. Contributed by @kerryarchibald.
+ * Fix timeline list and paragraph display issues 
([\#10424](https://github.com/matrix-org/matrix-react-sdk/pull/10424)). Fixes 
#24602. Contributed by @alunturner.
+ * Use unique keys for voice broadcast pips 
([\#10457](https://github.com/matrix-org/matrix-react-sdk/pull/10457)). Fixes 
#24959.
+ * Fix "show read receipts sent by other users" not applying to threads 
([\#10445](https://github.com/matrix-org/matrix-react-sdk/pull/10445)). Fixes 
#24910.
+ * Fix joining public rooms without aliases in search dialog 
([\#10437](https://github.com/matrix-org/matrix-react-sdk/pull/10437)). Fixes 
#23937.
+ * Add input validation for `m.direct` in `DMRoomMap` 
([\#10436](https://github.com/matrix-org/matrix-react-sdk/pull/10436)). Fixes 
#24909.
+ * Reduce height reserved for "collapse" button's line on IRC layout 
([\#10211](https://github.com/matrix-org/matrix-react-sdk/pull/10211)). Fixes 
#24605. Contributed by @luixxiul.
+ * Fix `creatorUserId is required` error when opening sticker picker 
([\#10423](https://github.com/matrix-org/matrix-react-sdk/pull/10423)).
+ * Fix block/inline Element descendants error noise in `NewRoomIntro.tsx` 
([\#10412](https://github.com/matrix-org/matrix-react-sdk/pull/10412)). 
Contributed by @MadLittleMods.
+ * Fix profile resizer to make first character of a line selectable in IRC 
layout ([\#10396](https://github.com/matrix-org/matrix-react-sdk/pull/10396)). 
Fixes #14764. Contributed by @luixxiul.
+ * Ensure space between wrapped lines of room name on IRC layout 
([\#10188](https://github.com/matrix-org/matrix-react-sdk/pull/10188)). Fixes 
#24742. Contributed by @luixxiul.
+ * Remove unreadable alt attribute from the room status bar warning icon 
(nonsense to screenreaders) 
([\#10402](https://github.com/matrix-org/matrix-react-sdk/pull/10402)). 
Contributed by @MadLittleMods.
+ * Fix big date separators when jump to date is enabled 
([\#10404](https://github.com/matrix-org/matrix-react-sdk/pull/10404)). Fixes 
#22969. Contributed by @MadLittleMods.
+ * Fixes user authentication when registering via the module API 
([\#10257](https://github.com/matrix-org/matrix-react-sdk/pull/10257)). 
Contributed by @maheichyk.
+ * Handle more edge cases in Space Hierarchy 
([\#10280](https://github.com/matrix-org/matrix-react-sdk/pull/10280)). 
Contributed by @justjanne.
+ * Further improve performance with lots of hidden events 
([\#10353](https://github.com/matrix-org/matrix-react-sdk/pull/10353)). Fixes 
#24480. Contributed by @andybalaam.
+ * Respect user cancelling upload flow by dismissing spinner 
([\#10373](https://github.com/matrix-org/matrix-react-sdk/pull/10373)). Fixes 
#24667.
+ * When starting a DM, the end-to-end encryption status icon does now only 
appear if the DM can be encrypted 
([\#10394](https://github.com/matrix-org/matrix-react-sdk/pull/10394)). Fixes 
#24397.
+ * Fix `[object Object]` in feedback metadata 
([\#10390](https://github.com/matrix-org/matrix-react-sdk/pull/10390)).
+ * Fix pinned messages card saying nothing pinned while loading 
([\#10385](https://github.com/matrix-org/matrix-react-sdk/pull/10385)). Fixes 
#24615.
+ * Fix import e2e key dialog staying disabled after paste 
([\#10375](https://github.com/matrix-org/matrix-react-sdk/pull/10375)). Fixes 
#24818.
+ * Show all labs even if incompatible, with appropriate tooltip explaining 
requirements 
([\#10369](https://github.com/matrix-org/matrix-react-sdk/pull/10369)). Fixes 
#24813.
+ * Fix UIFeature.Registration not applying to all paths 
([\#10371](https://github.com/matrix-org/matrix-react-sdk/pull/10371)). Fixes 
#24814.
+ * Clicking on a user pill does now only open the profile in the right panel 
and no longer navigates to the home view. 
([\#10359](https://github.com/matrix-org/matrix-react-sdk/pull/10359)). Fixes 
#24797.
+ * Fix start DM with pending third party invite 
([\#10347](https://github.com/matrix-org/matrix-react-sdk/pull/10347)). Fixes 
#24781.
+ * Fix long display name overflowing reply tile on IRC layout 
([\#10343](https://github.com/matrix-org/matrix-react-sdk/pull/10343)). Fixes 
#24738. Contributed by @luixxiul.
+ * Display redacted body on ThreadView in the same way as normal messages 
([\#9016](https://github.com/matrix-org/matrix-react-sdk/pull/9016)). Fixes 
#24729. Contributed by @luixxiul.
+ * Handle more edge cases in ACL updates 
([\#10279](https://github.com/matrix-org/matrix-react-sdk/pull/10279)). 
Contributed by @justjanne.
+ * Allow parsing png files to fail if thumbnailing is successful 
([\#10308](https://github.com/matrix-org/matrix-react-sdk/pull/10308)).
+
+-------------------------------------------------------------------

Old:
----
  element-web-1.11.26.tar.gz

New:
----
  element-web-1.11.29.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ element-web.spec ++++++
--- /var/tmp/diff_new_pack.R3s3b9/_old  2023-04-14 16:12:01.037941166 +0200
+++ /var/tmp/diff_new_pack.R3s3b9/_new  2023-04-14 16:12:01.041941189 +0200
@@ -17,7 +17,7 @@
 
 
 Name:           element-web
-Version:        1.11.26
+Version:        1.11.29
 Release:        0
 Summary:        A glossy Matrix collaboration client - web files
 Group:          Productivity/Networking/Talk/Clients

++++++ element-web-1.11.26.tar.gz -> element-web-1.11.29.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/element-web-1.11.26/.github/ISSUE_TEMPLATE/config.yml 
new/element-web-1.11.29/.github/ISSUE_TEMPLATE/config.yml
--- old/element-web-1.11.26/.github/ISSUE_TEMPLATE/config.yml   2023-03-28 
15:40:55.000000000 +0200
+++ new/element-web-1.11.29/.github/ISSUE_TEMPLATE/config.yml   2023-04-11 
15:13:24.000000000 +0200
@@ -1,4 +1,3 @@
-blank_issues_enabled: false
 contact_links:
     - name: Questions & support
       url: https://matrix.to/#/#element-web:matrix.org
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/element-web-1.11.26/.github/workflows/backport.yml 
new/element-web-1.11.29/.github/workflows/backport.yml
--- old/element-web-1.11.26/.github/workflows/backport.yml      2023-03-28 
15:40:55.000000000 +0200
+++ new/element-web-1.11.29/.github/workflows/backport.yml      2023-04-11 
15:13:24.000000000 +0200
@@ -23,7 +23,7 @@
               )
             )
         steps:
-            - uses: tibdex/backport@v2
+            - uses: tibdex/backport@2e217641d82d02ba0603f46b1aeedefb258890ac # 
v2
               with:
                   labels_template: "<%= JSON.stringify([...labels, 
'X-Release-Blocker']) %>"
                   # We can't use GITHUB_TOKEN here or CI won't run on the new 
PR
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/element-web-1.11.26/.github/workflows/build_develop.yml 
new/element-web-1.11.29/.github/workflows/build_develop.yml
--- old/element-web-1.11.26/.github/workflows/build_develop.yml 2023-03-28 
15:40:55.000000000 +0200
+++ new/element-web-1.11.29/.github/workflows/build_develop.yml 2023-04-11 
15:13:24.000000000 +0200
@@ -81,7 +81,7 @@
                   AWS_SECRET_ACCESS_KEY: ${{ secrets.CF_R2_TOKEN }}
 
             - name: Wait for other steps to succeed
-              uses: lewagon/wait-on-check-action@v1.3.1
+              uses: 
t3chguy/wait-on-check-action@05861d3a448898eb33dfce34153bd1ecb9422fb9 # fork
               with:
                   ref: ${{ github.sha }}
                   running-workflow-name: "Build & Deploy develop.element.io"
@@ -102,7 +102,7 @@
 
             - name: Deploy to Cloudflare Pages
               id: cfp
-              uses: cloudflare/pages-action@1
+              uses: 
cloudflare/pages-action@61eafe73baad0195ab582cb447b2c6e15a0df9ce # v1
               with:
                   apiToken: ${{ secrets.CF_PAGES_TOKEN }}
                   accountId: ${{ secrets.CF_PAGES_ACCOUNT_ID }}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/element-web-1.11.26/.github/workflows/dockerhub.yaml 
new/element-web-1.11.29/.github/workflows/dockerhub.yaml
--- old/element-web-1.11.26/.github/workflows/dockerhub.yaml    2023-03-28 
15:40:55.000000000 +0200
+++ new/element-web-1.11.29/.github/workflows/dockerhub.yaml    2023-04-11 
15:13:24.000000000 +0200
@@ -6,7 +6,7 @@
     schedule:
         # This job can take a while, and we have usage limits, so just publish 
develop only twice a day
         - cron: "0 7/12 * * *"
-concurrency: ${{ github.ref_name }}
+concurrency: ${{ github.workflow }}-${{ github.ref_name }}
 jobs:
     buildx:
         name: Docker Buildx
@@ -18,22 +18,22 @@
                   fetch-depth: 0 # needed for docker-package to be able to 
calculate the version
 
             - name: Set up QEMU
-              uses: docker/setup-qemu-action@v2
+              uses: 
docker/setup-qemu-action@e81a89b1732b9c48d79cd809d8d81d79c4647a18 # v2
 
             - name: Set up Docker Buildx
-              uses: docker/setup-buildx-action@v2
+              uses: 
docker/setup-buildx-action@4b4e9c3e2d4531116a6f8ba8e71fc6e2cb6e6c8c # v2
               with:
                   install: true
 
             - name: Login to Docker Hub
-              uses: docker/login-action@v2
+              uses: 
docker/login-action@f4ef78c080cd8ba55a85445d5b36e214a81df20a # v2
               with:
                   username: ${{ secrets.DOCKERHUB_USERNAME }}
                   password: ${{ secrets.DOCKERHUB_TOKEN }}
 
             - name: Docker meta
               id: meta
-              uses: docker/metadata-action@v4
+              uses: 
docker/metadata-action@507c2f2dc502c992ad446e3d7a5dfbe311567a96 # v4
               with:
                   images: |
                       vectorim/element-web
@@ -44,7 +44,7 @@
                       latest=${{ contains(github.ref_name, '-rc.') && 'false' 
|| 'auto' }}
 
             - name: Build and push
-              uses: docker/build-push-action@v4
+              uses: 
docker/build-push-action@3b5e8027fcad23fda98b2e3ac259d8d67585f671 # v4
               with:
                   context: .
                   push: true
@@ -53,7 +53,7 @@
                   labels: ${{ steps.meta.outputs.labels }}
 
             - name: Update repo description
-              uses: peter-evans/dockerhub-description@v3
+              uses: 
peter-evans/dockerhub-description@202973a37c8a723405c0c5f0a71b6d99db470dae # v3
               continue-on-error: true
               with:
                   username: ${{ secrets.DOCKERHUB_USERNAME }}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/element-web-1.11.26/.github/workflows/static_analysis.yaml 
new/element-web-1.11.29/.github/workflows/static_analysis.yaml
--- old/element-web-1.11.26/.github/workflows/static_analysis.yaml      
2023-03-28 15:40:55.000000000 +0200
+++ new/element-web-1.11.29/.github/workflows/static_analysis.yaml      
2023-04-11 15:13:24.000000000 +0200
@@ -41,13 +41,13 @@
 
             - name: Get diff lines
               id: diff
-              uses: Equip-Collaboration/diff-line-numbers@v1.0.0
+              uses: 
Equip-Collaboration/diff-line-numbers@df70b4b83e05105c15f20dc6cc61f1463411b2a6 
# v1.0.0
               with:
                   include: '["\\.tsx?$"]'
 
             - name: Detecting files changed
               id: files
-              uses: futuratrepadeira/changed-files@v4.0.0
+              uses: 
futuratrepadeira/changed-files@96d5fd702a6479d573287ef07381ad59acc390ed # v4.0.0
               with:
                   repo-token: ${{ secrets.GITHUB_TOKEN }}
                   pattern: '^.*\.tsx?$'
@@ -80,7 +80,7 @@
 
             # Does not need branch matching as only analyses this layer
             - name: Install Deps
-              run: "yarn install --pure-lockfile"
+              run: "yarn install --frozen-lockfile"
 
             - name: Run Linter
               run: "yarn run lint:js"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/element-web-1.11.26/.github/workflows/tests.yaml 
new/element-web-1.11.29/.github/workflows/tests.yaml
--- old/element-web-1.11.26/.github/workflows/tests.yaml        2023-03-28 
15:40:55.000000000 +0200
+++ new/element-web-1.11.29/.github/workflows/tests.yaml        2023-04-11 
15:13:24.000000000 +0200
@@ -27,7 +27,7 @@
 
             - name: Get number of CPU cores
               id: cpu-cores
-              uses: SimenB/github-actions-cpu-cores@v1
+              uses: 
SimenB/github-actions-cpu-cores@410541432439795d30db6501fb1d8178eb41e502 # v1
 
             - name: Run tests with coverage
               run: "yarn coverage --ci --reporters github-actions 
--max-workers ${{ steps.cpu-cores.outputs.count }}"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/element-web-1.11.26/.stylelintrc.js 
new/element-web-1.11.29/.stylelintrc.js
--- old/element-web-1.11.26/.stylelintrc.js     2023-03-28 15:40:55.000000000 
+0200
+++ new/element-web-1.11.29/.stylelintrc.js     2023-04-11 15:13:24.000000000 
+0200
@@ -1,4 +1,4 @@
 module.exports = {
     ...require("matrix-react-sdk/.stylelintrc.js"),
-    extends: ["stylelint-config-standard", "stylelint-config-prettier"],
+    extends: ["stylelint-config-standard"],
 };
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/element-web-1.11.26/CHANGELOG.md 
new/element-web-1.11.29/CHANGELOG.md
--- old/element-web-1.11.26/CHANGELOG.md        2023-03-28 15:40:55.000000000 
+0200
+++ new/element-web-1.11.29/CHANGELOG.md        2023-04-11 15:13:24.000000000 
+0200
@@ -1,9 +1,102 @@
-Changes in 
[1.11.26](https://github.com/vector-im/element-web/releases/tag/v1.11.26) 
(2023-03-28)
+Changes in 
[1.11.29](https://github.com/vector-im/element-web/releases/tag/v1.11.29) 
(2023-04-11)
+=================================================================================================
+
+## ✨ Features
+ * Allow desktop app to expose recent rooms in UI integrations 
([\#16940](https://github.com/vector-im/element-web/pull/16940)).
+ * Add API params to mute audio and/or video in Jitsi calls by default 
([\#24820](https://github.com/vector-im/element-web/pull/24820)). Contributed 
by @dhenneke.
+ * Style mentions as pills in rich text editor 
([\#10448](https://github.com/matrix-org/matrix-react-sdk/pull/10448)). 
Contributed by @alunturner.
+ * Show room create icon if "UIComponent.roomCreation" is enabled 
([\#10364](https://github.com/matrix-org/matrix-react-sdk/pull/10364)). 
Contributed by @maheichyk.
+ * Mentions as links rte 
([\#10463](https://github.com/matrix-org/matrix-react-sdk/pull/10463)). 
Contributed by @alunturner.
+ * Better error handling in jump to date 
([\#10405](https://github.com/matrix-org/matrix-react-sdk/pull/10405)). 
Contributed by @MadLittleMods.
+ * Show "Invite" menu option if "UIComponent.sendInvites" is enabled. 
([\#10363](https://github.com/matrix-org/matrix-react-sdk/pull/10363)). 
Contributed by @maheichyk.
+ * Added `UserProfilesStore`, `LruCache` and user permalink profile caching 
([\#10425](https://github.com/matrix-org/matrix-react-sdk/pull/10425)). Fixes 
#10559.
+ * Mentions as links rte 
([\#10422](https://github.com/matrix-org/matrix-react-sdk/pull/10422)). 
Contributed by @alunturner.
+ * Implement MSC3952: intentional mentions 
([\#9983](https://github.com/matrix-org/matrix-react-sdk/pull/9983)).
+ * Implement MSC3973: Search users in the user directory with the Widget API 
([\#10269](https://github.com/matrix-org/matrix-react-sdk/pull/10269)). 
Contributed by @dhenneke.
+ * Permalinks to message are now displayed as pills 
([\#10392](https://github.com/matrix-org/matrix-react-sdk/pull/10392)). Fixes 
#24751 and #24706.
+ * Show search,dial,explore in filterContainer if 
"UIComponent.filterContainer" is enabled 
([\#10381](https://github.com/matrix-org/matrix-react-sdk/pull/10381)). 
Contributed by @maheichyk.
+ * Increase space panel collapse clickable area 
([\#6084](https://github.com/matrix-org/matrix-react-sdk/pull/6084)). Fixes 
#17379. Contributed by @jaiwanth-v.
+ * Add fallback for replies to Polls 
([\#10380](https://github.com/matrix-org/matrix-react-sdk/pull/10380)). Fixes 
#24197. Contributed by @kerryarchibald.
+ * Permalinks to rooms and users are now pillified 
([\#10388](https://github.com/matrix-org/matrix-react-sdk/pull/10388)). Fixes 
#24825.
+ * Poll history -  access poll history from room settings 
([\#10356](https://github.com/matrix-org/matrix-react-sdk/pull/10356)). 
Contributed by @kerryarchibald.
+ * Add API params to mute audio and/or video in Jitsi calls by default 
([\#10376](https://github.com/matrix-org/matrix-react-sdk/pull/10376)). 
Contributed by @dhenneke.
+ * Notifications: inline error message on notifications saving error 
([\#10288](https://github.com/matrix-org/matrix-react-sdk/pull/10288)). 
Contributed by @kerryarchibald.
+ * Support dynamic room predecessor in SpaceProvider 
([\#10348](https://github.com/matrix-org/matrix-react-sdk/pull/10348)). 
Contributed by @andybalaam.
+ * Support dynamic room predecessors for RoomProvider 
([\#10346](https://github.com/matrix-org/matrix-react-sdk/pull/10346)). 
Contributed by @andybalaam.
+ * Support dynamic room predecessors in OwnBeaconStore 
([\#10339](https://github.com/matrix-org/matrix-react-sdk/pull/10339)). 
Contributed by @andybalaam.
+ * Support dynamic room predecessors in ForwardDialog 
([\#10344](https://github.com/matrix-org/matrix-react-sdk/pull/10344)). 
Contributed by @andybalaam.
+ * Support dynamic room predecessors in SpaceHierarchy 
([\#10341](https://github.com/matrix-org/matrix-react-sdk/pull/10341)). 
Contributed by @andybalaam.
+ * Support dynamic room predecessors in AddExistingToSpaceDialog 
([\#10342](https://github.com/matrix-org/matrix-react-sdk/pull/10342)). 
Contributed by @andybalaam.
+ * Support dynamic room predecessors in leave-behaviour 
([\#10340](https://github.com/matrix-org/matrix-react-sdk/pull/10340)). 
Contributed by @andybalaam.
+ * Support dynamic room predecessors in StopGapWidgetDriver 
([\#10338](https://github.com/matrix-org/matrix-react-sdk/pull/10338)). 
Contributed by @andybalaam.
+ * Support dynamic room predecessors in WidgetLayoutStore 
([\#10326](https://github.com/matrix-org/matrix-react-sdk/pull/10326)). 
Contributed by @andybalaam.
+ * Support dynamic room predecessors in SpaceStore 
([\#10332](https://github.com/matrix-org/matrix-react-sdk/pull/10332)). 
Contributed by @andybalaam.
+ * Sync polls push rules on changes to account_data 
([\#10287](https://github.com/matrix-org/matrix-react-sdk/pull/10287)). 
Contributed by @kerryarchibald.
+ * Support dynamic room predecessors in BreadcrumbsStore 
([\#10295](https://github.com/matrix-org/matrix-react-sdk/pull/10295)). 
Contributed by @andybalaam.
+ * Improved a11y for Field feedback and Secure Phrase input 
([\#10320](https://github.com/matrix-org/matrix-react-sdk/pull/10320)). 
Contributed by @Sebbones.
+ * Support dynamic room predecessors in RoomNotificationStateStore 
([\#10297](https://github.com/matrix-org/matrix-react-sdk/pull/10297)). 
Contributed by @andybalaam.
+
+## 🐛 Bug Fixes
+ * Use a newly generated access_token while joining Jitsi 
([\#24646](https://github.com/vector-im/element-web/pull/24646)). Fixes #24687. 
Contributed by @emrahcom.
+ * Fix cloudflare action pointing at commit hash instead of tag 
([\#24777](https://github.com/vector-im/element-web/pull/24777)). Contributed 
by @justjanne.
+ * Allow editing with RTE to overflow for autocomplete visibility 
([\#10499](https://github.com/matrix-org/matrix-react-sdk/pull/10499)). 
Contributed by @alunturner.
+ * Added auto focus to Github URL on opening of debug logs modal 
([\#10479](https://github.com/matrix-org/matrix-react-sdk/pull/10479)). 
Contributed by @ShivamSpm.
+ * Fix detection of encryption for all users in a room 
([\#10487](https://github.com/matrix-org/matrix-react-sdk/pull/10487)). Fixes 
#24995.
+ * Properly generate mentions when editing a reply with MSC3952 
([\#10486](https://github.com/matrix-org/matrix-react-sdk/pull/10486)). Fixes 
#24924. Contributed by @kerryarchibald.
+ * Improve performance of rendering a room with many hidden events 
([\#10131](https://github.com/matrix-org/matrix-react-sdk/pull/10131)). 
Contributed by @andybalaam.
+ * Prevent future date selection in jump to date 
([\#10419](https://github.com/matrix-org/matrix-react-sdk/pull/10419)). Fixes 
#20800. Contributed by @MadLittleMods.
+ * Add aria labels to message search bar to improve accessibility 
([\#10476](https://github.com/matrix-org/matrix-react-sdk/pull/10476)). Fixes 
#24921.
+ * Fix decryption failure bar covering the timeline 
([\#10360](https://github.com/matrix-org/matrix-react-sdk/pull/10360)). Fixes 
#24780 #24074 and #24183. Contributed by @luixxiul.
+ * Improve profile picture settings accessibility 
([\#10470](https://github.com/matrix-org/matrix-react-sdk/pull/10470)). Fixes 
#24919.
+ * Handle group call redaction 
([\#10465](https://github.com/matrix-org/matrix-react-sdk/pull/10465)).
+ * Display relative timestamp for threads on the same calendar day 
([\#10399](https://github.com/matrix-org/matrix-react-sdk/pull/10399)). Fixes 
#24841. Contributed by @kerryarchibald.
+ * Fix timeline list and paragraph display issues 
([\#10424](https://github.com/matrix-org/matrix-react-sdk/pull/10424)). Fixes 
#24602. Contributed by @alunturner.
+ * Use unique keys for voice broadcast pips 
([\#10457](https://github.com/matrix-org/matrix-react-sdk/pull/10457)). Fixes 
#24959.
+ * Fix "show read receipts sent by other users" not applying to threads 
([\#10445](https://github.com/matrix-org/matrix-react-sdk/pull/10445)). Fixes 
#24910.
+ * Fix joining public rooms without aliases in search dialog 
([\#10437](https://github.com/matrix-org/matrix-react-sdk/pull/10437)). Fixes 
#23937.
+ * Add input validation for `m.direct` in `DMRoomMap` 
([\#10436](https://github.com/matrix-org/matrix-react-sdk/pull/10436)). Fixes 
#24909.
+ * Reduce height reserved for "collapse" button's line on IRC layout 
([\#10211](https://github.com/matrix-org/matrix-react-sdk/pull/10211)). Fixes 
#24605. Contributed by @luixxiul.
+ * Fix `creatorUserId is required` error when opening sticker picker 
([\#10423](https://github.com/matrix-org/matrix-react-sdk/pull/10423)).
+ * Fix block/inline Element descendants error noise in `NewRoomIntro.tsx` 
([\#10412](https://github.com/matrix-org/matrix-react-sdk/pull/10412)). 
Contributed by @MadLittleMods.
+ * Fix profile resizer to make first character of a line selectable in IRC 
layout ([\#10396](https://github.com/matrix-org/matrix-react-sdk/pull/10396)). 
Fixes #14764. Contributed by @luixxiul.
+ * Ensure space between wrapped lines of room name on IRC layout 
([\#10188](https://github.com/matrix-org/matrix-react-sdk/pull/10188)). Fixes 
#24742. Contributed by @luixxiul.
+ * Remove unreadable alt attribute from the room status bar warning icon 
(nonsense to screenreaders) 
([\#10402](https://github.com/matrix-org/matrix-react-sdk/pull/10402)). 
Contributed by @MadLittleMods.
+ * Fix big date separators when jump to date is enabled 
([\#10404](https://github.com/matrix-org/matrix-react-sdk/pull/10404)). Fixes 
#22969. Contributed by @MadLittleMods.
+ * Fixes user authentication when registering via the module API 
([\#10257](https://github.com/matrix-org/matrix-react-sdk/pull/10257)). 
Contributed by @maheichyk.
+ * Handle more edge cases in Space Hierarchy 
([\#10280](https://github.com/matrix-org/matrix-react-sdk/pull/10280)). 
Contributed by @justjanne.
+ * Further improve performance with lots of hidden events 
([\#10353](https://github.com/matrix-org/matrix-react-sdk/pull/10353)). Fixes 
#24480. Contributed by @andybalaam.
+ * Respect user cancelling upload flow by dismissing spinner 
([\#10373](https://github.com/matrix-org/matrix-react-sdk/pull/10373)). Fixes 
#24667.
+ * When starting a DM, the end-to-end encryption status icon does now only 
appear if the DM can be encrypted 
([\#10394](https://github.com/matrix-org/matrix-react-sdk/pull/10394)). Fixes 
#24397.
+ * Fix `[object Object]` in feedback metadata 
([\#10390](https://github.com/matrix-org/matrix-react-sdk/pull/10390)).
+ * Fix pinned messages card saying nothing pinned while loading 
([\#10385](https://github.com/matrix-org/matrix-react-sdk/pull/10385)). Fixes 
#24615.
+ * Fix import e2e key dialog staying disabled after paste 
([\#10375](https://github.com/matrix-org/matrix-react-sdk/pull/10375)). Fixes 
#24818.
+ * Show all labs even if incompatible, with appropriate tooltip explaining 
requirements 
([\#10369](https://github.com/matrix-org/matrix-react-sdk/pull/10369)). Fixes 
#24813.
+ * Fix UIFeature.Registration not applying to all paths 
([\#10371](https://github.com/matrix-org/matrix-react-sdk/pull/10371)). Fixes 
#24814.
+ * Clicking on a user pill does now only open the profile in the right panel 
and no longer navigates to the home view. 
([\#10359](https://github.com/matrix-org/matrix-react-sdk/pull/10359)). Fixes 
#24797.
+ * Fix start DM with pending third party invite 
([\#10347](https://github.com/matrix-org/matrix-react-sdk/pull/10347)). Fixes 
#24781.
+ * Fix long display name overflowing reply tile on IRC layout 
([\#10343](https://github.com/matrix-org/matrix-react-sdk/pull/10343)). Fixes 
#24738. Contributed by @luixxiul.
+ * Display redacted body on ThreadView in the same way as normal messages 
([\#9016](https://github.com/matrix-org/matrix-react-sdk/pull/9016)). Fixes 
#24729. Contributed by @luixxiul.
+ * Handle more edge cases in ACL updates 
([\#10279](https://github.com/matrix-org/matrix-react-sdk/pull/10279)). 
Contributed by @justjanne.
+ * Allow parsing png files to fail if thumbnailing is successful 
([\#10308](https://github.com/matrix-org/matrix-react-sdk/pull/10308)).
+
+Changes in 
[1.11.28](https://github.com/vector-im/element-web/releases/tag/v1.11.28) 
(2023-03-31)
+=================================================================================================
+
+## 🐛 Bug Fixes
+ * (No changes, version bumped to sync with element-desktop.)
+
+Changes in 
[1.11.27](https://github.com/vector-im/element-web/releases/tag/v1.11.27) 
(2023-03-31)
 
=================================================================================================
 
 ## 🐛 Bug Fixes
- * Changes for matrix-js-sdk v24.0.0
- * Changes for matrix-react-sdk v3.69.0
+ * Fix detection of encryption for all users in a room 
([\#10487](https://github.com/matrix-org/matrix-react-sdk/pull/10487)). Fixes 
#24995.
+
+Changes in 
[1.11.26](https://github.com/vector-im/element-web/releases/tag/v1.11.26) 
(2023-03-28)
+=================================================================================================
+
+## 🔒 Security
+ * Fixes for 
[CVE-2023-28427](https://cve.mitre.org/cgi-bin/cvekey.cgi?keyword=CVE-2023-28427)
 / GHSA-mwq8-fjpf-c2gr
+ * Fixes for 
[CVE-2023-28103](https://cve.mitre.org/cgi-bin/cvekey.cgi?keyword=CVE-2023-28103)
 / GHSA-6g43-88cp-w5gv
 
 Changes in 
[1.11.25](https://github.com/vector-im/element-web/releases/tag/v1.11.25) 
(2023-03-15)
 
=================================================================================================
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/element-web-1.11.26/Dockerfile 
new/element-web-1.11.29/Dockerfile
--- old/element-web-1.11.26/Dockerfile  2023-03-28 15:40:55.000000000 +0200
+++ new/element-web-1.11.29/Dockerfile  2023-04-11 15:13:24.000000000 +0200
@@ -1,5 +1,5 @@
 # Builder
-FROM --platform=$BUILDPLATFORM node:16-buster as builder
+FROM --platform=$BUILDPLATFORM node:16-bullseye as builder
 
 # Support custom branches of the react-sdk and js-sdk. This also helps us build
 # images of element-web develop.
@@ -23,7 +23,7 @@
 RUN cp /src/config.sample.json /src/webapp/config.json
 
 # App
-FROM nginx:alpine
+FROM nginx:alpine-slim
 
 COPY --from=builder /src/webapp /app
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/element-web-1.11.26/README.md 
new/element-web-1.11.29/README.md
--- old/element-web-1.11.26/README.md   2023-03-28 15:40:55.000000000 +0200
+++ new/element-web-1.11.29/README.md   2023-04-11 15:13:24.000000000 +0200
@@ -18,7 +18,8 @@
 
 -   Supported
     -   Definition: Issues **actively triaged**, regressions **block** the 
release
-    -   Last 2 major versions of Chrome, Firefox, Safari, and Edge on desktop 
OSes
+    -   Last 2 major versions of Chrome, Firefox, and Edge on desktop OSes
+    -   Last 2 versions of Safari
     -   Latest release of official Element Desktop app on desktop OSes
     -   Desktop OSes means macOS, Windows, and Linux versions for desktop 
devices
         that are actively supported by the OS vendor and receive security 
updates
@@ -85,7 +86,7 @@
 
 -   The `X-Frame-Options: SAMEORIGIN` header, to prevent Element Web from being
     framed and protect from [clickjacking][owasp-clickjacking].
--   The `frame-ancestors 'none'` directive to your `Content-Security-Policy`
+-   The `frame-ancestors 'self'` directive to your `Content-Security-Policy`
     header, as the modern replacement for `X-Frame-Options` (though both 
should be
     included since not all browsers support it yet, see
     [this][owasp-clickjacking-csp]).
@@ -113,7 +114,7 @@
 Header set X-Frame-Options SAMEORIGIN
 Header set X-Content-Type-Options nosniff
 Header set X-XSS-Protection "1; mode=block"
-Header set Content-Security-Policy "frame-ancestors 'none'"
+Header set Content-Security-Policy "frame-ancestors 'self'"
 ```
 
 Note: In case you are already setting a `Content-Security-Policy` header
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/element-web-1.11.26/code_style.md 
new/element-web-1.11.29/code_style.md
--- old/element-web-1.11.26/code_style.md       2023-03-28 15:40:55.000000000 
+0200
+++ new/element-web-1.11.29/code_style.md       2023-04-11 15:13:24.000000000 
+0200
@@ -59,20 +59,21 @@
 6. Lines are trimmed of all excess whitespace, including blank lines.
 7. Long lines are broken up for readability.
 
-## TypeScript / JavaScript {#typescript-javascript}
+## TypeScript / JavaScript
 
 1. Write TypeScript. Turn JavaScript into TypeScript when working in the area.
-2. Use named exports.
-3. Use semicolons for block/line termination.
+2. Use [TSDoc](https://tsdoc.org/) to document your code. See 
[Comments](#comments) below.
+3. Use named exports.
+4. Use semicolons for block/line termination.
     1. Except when defining interfaces, classes, and non-arrow functions 
specifically.
-4. When a statement's body is a single line, it must be written without curly 
braces, so long as the body is placed on
+5. When a statement's body is a single line, it must be written without curly 
braces, so long as the body is placed on
    the same line as the statement.
 
     ```typescript
     if (x) doThing();
     ```
 
-5. Blocks for `if`, `for`, `switch` and so on must have a space surrounding 
the condition, but not
+6. Blocks for `if`, `for`, `switch` and so on must have a space surrounding 
the condition, but not
    within the condition.
 
     ```typescript
@@ -81,17 +82,17 @@
     }
     ```
 
-6. lowerCamelCase is used for function and variable naming.
-7. UpperCamelCase is used for general naming.
-8. Interface names should not be marked with an uppercase `I`.
-9. One variable declaration per line.
-10. If a variable is not receiving a value on declaration, its type must be 
defined.
+7. lowerCamelCase is used for function and variable naming.
+8. UpperCamelCase is used for general naming.
+9. Interface names should not be marked with an uppercase `I`.
+10. One variable declaration per line.
+11. If a variable is not receiving a value on declaration, its type must be 
defined.
 
     ```typescript
     let errorMessage: Optional<string>;
     ```
 
-11. Objects can use shorthand declarations, including mixing of types.
+12. Objects can use shorthand declarations, including mixing of types.
 
     ```typescript
     {
@@ -102,7 +103,7 @@
     { room, prop: this.prop }
     ```
 
-12. Object keys should always be non-strings when possible.
+13. Object keys should always be non-strings when possible.
 
     ```typescript
     {
@@ -112,23 +113,28 @@
     }
     ```
 
-13. Explicitly cast to a boolean.
+14. Explicitly cast to a boolean, rather than relying on implicit truthiness 
of non-boolean values:
 
     ```typescript
-    !!stringVar || Boolean(stringVar);
+    const isRealUser = !!userId && ...;
+    // ... or ...
+    const isRealUser = Boolean(userId) && ...;
+
+    // but *not*:
+    const isRealUser = userId && ...;   // invalid implicit cast
     ```
 
-14. Use `switch` statements when checking against more than a few enum-like 
values.
-15. Use `const` for constants, `let` for mutability.
-16. Describe types exhaustively (ensure noImplictAny would pass).
+15. Use `switch` statements when checking against more than a few enum-like 
values.
+16. Use `const` for constants, `let` for mutability.
+17. Describe types exhaustively (ensure noImplictAny would pass).
     1. Notable exceptions are arrow functions used as parameters, when a void 
return type is
        obvious, and when declaring and assigning a variable in the same line.
-17. Declare member visibility (public/private/protected).
-18. Private members are private and not prefixed unless required for naming 
conflicts.
+18. Declare member visibility (public/private/protected).
+19. Private members are private and not prefixed unless required for naming 
conflicts.
     1. Convention is to use an underscore or the word "internal" to denote 
conflicted member names.
     2. "Conflicted" typically refers to a getter which wants the same name as 
the underlying variable.
-19. Prefer readonly members over getters backed by a variable, unless an 
internal setter is required.
-20. Prefer Interfaces for object definitions, and types for 
parameter-value-only declarations.
+20. Prefer readonly members over getters backed by a variable, unless an 
internal setter is required.
+21. Prefer Interfaces for object definitions, and types for 
parameter-value-only declarations.
 
     1. Note that an explicit type is optional if not expected to be used 
outside of the function call,
        unlike in this example:
@@ -145,9 +151,9 @@
         }
         ```
 
-21. Variables/properties which are `public static` should also be `readonly` 
when possible.
-22. Interface and type properties are terminated with semicolons, not commas.
-23. Prefer arrow formatting when declaring functions for interfaces/types:
+22. Variables/properties which are `public static` should also be `readonly` 
when possible.
+23. Interface and type properties are terminated with semicolons, not commas.
+24. Prefer arrow formatting when declaring functions for interfaces/types:
 
     ```typescript
     interface Test {
@@ -155,13 +161,13 @@
     }
     ```
 
-24. Prefer a type definition over an inline type. For example, define an 
interface.
-25. Always prefer to add types or declare a type over the use of `any`. Prefer 
inferred types
+25. Prefer a type definition over an inline type. For example, define an 
interface.
+26. Always prefer to add types or declare a type over the use of `any`. Prefer 
inferred types
     when they are not `any`.
     1. When using `any`, a comment explaining why must be present.
-26. `import` should be used instead of `require`, as `require` does not have 
types.
-27. Export only what can be reused.
-28. Prefer a type like `Optional<X>` (`type Optional<T> = T | null | 
undefined`) instead
+27. `import` should be used instead of `require`, as `require` does not have 
types.
+28. Export only what can be reused.
+29. Prefer a type like `Optional<X>` (`type Optional<T> = T | null | 
undefined`) instead
     of truly optional parameters.
 
     1. A notable exception is when the likelihood of a bug is minimal, such as 
when a function
@@ -179,12 +185,12 @@
         }
         ```
 
-29. There should be approximately one interface, class, or enum per file 
unless the file is named
+30. There should be approximately one interface, class, or enum per file 
unless the file is named
     "types.ts", "global.d.ts", or ends with "-types.ts".
     1. The file name should match the interface, class, or enum name.
-30. Bulk functions can be declared in a single file, though named as 
"foo-utils.ts" or "utils/foo.ts".
-31. Imports are grouped by external module imports first, then by internal 
imports.
-32. File ordering is not strict, but should generally follow this sequence:
+31. Bulk functions can be declared in a single file, though named as 
"foo-utils.ts" or "utils/foo.ts".
+32. Imports are grouped by external module imports first, then by internal 
imports.
+33. File ordering is not strict, but should generally follow this sequence:
     1. Licence header
     2. Imports
     3. Constants
@@ -199,16 +205,16 @@
         5. Protected and abstract functions
         6. Public/private functions
         7. Public/protected/private static functions
-33. Variable names should be noticeably unique from their types. For example, 
"str: string" instead
+34. Variable names should be noticeably unique from their types. For example, 
"str: string" instead
     of "string: string".
-34. Use double quotes to enclose strings. You may use single quotes if the 
string contains double quotes.
+35. Use double quotes to enclose strings. You may use single quotes if the 
string contains double quotes.
 
     ```typescript
     const example1 = "simple string";
     const example2 = 'string containing "double quotes"';
     ```
 
-35. Prefer async-await to promise-chaining
+36. Prefer async-await to promise-chaining
 
     ```typescript
     async function () {
@@ -255,7 +261,7 @@
     if at all possible.
 11. A component should only use CSS class names in line with the component 
name.
 
-    1. When knowingly using a class name from another component, document it.
+    1. When knowingly using a class name from another component, document it 
with a [comment](#comments).
 
 12. Curly braces within JSX should be padded with a space, however properties 
on those components should not.
     See above code example.
@@ -304,7 +310,7 @@
 
 7. Non-shared variables should use $lowerCamelCase. Shared variables use 
$dashed-naming.
 8. Overrides to Z indexes, adjustments of dimensions/padding with pixels, and 
so on should all be
-   documented for what the values mean:
+   [documented](#comments) for what the values mean:
 
     ```scss
     .mx_MyFoo {
@@ -314,7 +320,7 @@
     }
     ```
 
-9. Avoid the use of `!important`. If necessary, add a comment.
+9. Avoid the use of `!important`. If `!important` is necessary, add a 
[comment](#comments) explaining why.
 
 ## Tests
 
@@ -358,3 +364,38 @@
         });
     });
     ```
+
+## Comments
+
+1. As a general principle: be liberal with comments. This applies to all 
files: stylesheets as well as
+   JavaScript/TypeScript.
+
+    Good comments not only help future readers understand and maintain the 
code; they can also encourage good design
+    by clearly setting out how different parts of the codebase interact where 
that would otherwise be implicit and
+    subject to interpretation.
+
+2. Aim to document all types, methods, class properties, functions, etc, with 
[TSDoc](https://tsdoc.org/) doc comments.
+   This is _especially_ important for public interfaces in `matrix-js-sdk`, 
but is good practice in general.
+
+    Even very simple interfaces can often benefit from a doc-comment, both as 
a matter of consistency, and because simple
+    interfaces have a habit of becoming more complex over time.
+
+3. React components should be documented in the same way as other classes or 
functions. The documentation should give
+   a brief description of how the component should be used, and, especially 
for more complex components, each of its
+   properties should be clearly documented.
+
+4. Inside a function, there is no need to comment every line, but consider:
+
+    - before a particular multiline section of code within the function, give 
an overview of what it does,
+      to make it easier for a reader to follow the flow through the function 
as a whole.
+    - if it is anything less than obvious, explain _why_ we are doing a 
particular operation, with particular emphasis
+      on how this function interacts with other parts of the codebase.
+
+5. When making changes to existing code, authors are expected to read existing 
comments and make any necessary changes
+   to ensure they remain accurate.
+
+6. Reviewers are encouraged to consider whether more comments would be useful, 
and to ask the author to add them.
+
+    It is natural for an author to feel that the code they have just written 
is "obvious" and that comments would be
+    redundant, whereas in reality it would take some time for reader 
unfamiliar with the code to understand it. A
+    reviewer is well-placed to make a more objective judgement.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/element-web-1.11.26/package.json 
new/element-web-1.11.29/package.json
--- old/element-web-1.11.26/package.json        2023-03-28 15:40:55.000000000 
+0200
+++ new/element-web-1.11.29/package.json        2023-04-11 15:13:24.000000000 
+0200
@@ -1,6 +1,6 @@
 {
     "name": "element-web",
-    "version": "1.11.26",
+    "version": "1.11.29",
     "description": "A feature-rich client for Matrix.org",
     "author": "New Vector Ltd.",
     "repository": {
@@ -26,6 +26,9 @@
         "contribute.json"
     ],
     "style": "bundle.css",
+    "matrix_i18n_extra_translation_funcs": [
+        "UserFriendlyError"
+    ],
     "scripts": {
         "i18n": "matrix-gen-i18n",
         "prunei18n": "matrix-prune-i18n",
@@ -70,9 +73,9 @@
         "gfm.css": "^1.1.2",
         "jsrsasign": "^10.5.25",
         "katex": "^0.16.0",
-        "matrix-js-sdk": "24.0.0",
-        "matrix-react-sdk": "3.69.0",
-        "matrix-widget-api": "^1.1.1",
+        "matrix-js-sdk": "24.1.0",
+        "matrix-react-sdk": "3.70.0",
+        "matrix-widget-api": "^1.3.1",
         "react": "17.0.2",
         "react-dom": "17.0.2",
         "sanitize-html": "^2.3.2",
@@ -100,7 +103,6 @@
         "@sentry/webpack-plugin": "^1.18.1",
         "@svgr/webpack": "^5.5.0",
         "@testing-library/react": "^12.1.5",
-        "@types/flux": "^3.1.9",
         "@types/jest": "^29.0.0",
         "@types/jsrsasign": "^10.5.4",
         "@types/modernizr": "^3.5.3",
@@ -127,7 +129,7 @@
         "eslint-plugin-matrix-org": "^1.0.0",
         "eslint-plugin-react": "^7.28.0",
         "eslint-plugin-react-hooks": "^4.3.0",
-        "eslint-plugin-unicorn": "^45.0.0",
+        "eslint-plugin-unicorn": "^46.0.0",
         "extract-text-webpack-plugin": "^4.0.0-beta.0",
         "fake-indexeddb": "^4.0.0",
         "fetch-mock-jest": "^1.5.1",
@@ -142,7 +144,7 @@
         "json-loader": "^0.5.7",
         "loader-utils": "^3.0.0",
         "matrix-mock-request": "^2.5.0",
-        "matrix-web-i18n": "^1.3.0",
+        "matrix-web-i18n": "^1.4.0",
         "mini-css-extract-plugin": "^1",
         "minimist": "^1.2.6",
         "mkdirp": "^2.0.0",
@@ -167,7 +169,6 @@
         "string-replace-loader": "3",
         "style-loader": "2",
         "stylelint": "^15.0.0",
-        "stylelint-config-prettier": "^9.0.4",
         "stylelint-config-standard": "^30.0.0",
         "stylelint-scss": "^4.2.0",
         "terser-webpack-plugin": "^4.0.0",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/element-web-1.11.26/res/apple-app-site-association 
new/element-web-1.11.29/res/apple-app-site-association
--- old/element-web-1.11.26/res/apple-app-site-association      2023-03-28 
15:40:55.000000000 +0200
+++ new/element-web-1.11.29/res/apple-app-site-association      2023-04-11 
15:13:24.000000000 +0200
@@ -3,7 +3,12 @@
         "apps": [],
         "details": [
             {
-                "appID": "7J4U792NQT.im.vector.app",
+                "appIDs":[
+                    "7J4U792NQT.im.vector.app",
+                    "7J4U792NQT.io.element.elementx",
+                    "7J4U792NQT.io.element.elementx.nightly",
+                    "7J4U792NQT.io.element.elementx.pr"
+                ],
                 "paths": [
                     "*"
                 ]
@@ -12,7 +17,10 @@
     },
     "webcredentials": {
         "apps": [
-            "7J4U792NQT.im.vector.app"
+            "7J4U792NQT.im.vector.app",
+            "7J4U792NQT.io.element.elementx",
+            "7J4U792NQT.io.element.elementx.nightly",
+            "7J4U792NQT.io.element.elementx.pr"
         ]
     }
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/element-web-1.11.26/scripts/fetch-develop.deps.sh 
new/element-web-1.11.29/scripts/fetch-develop.deps.sh
--- old/element-web-1.11.26/scripts/fetch-develop.deps.sh       2023-03-28 
15:40:55.000000000 +0200
+++ new/element-web-1.11.29/scripts/fetch-develop.deps.sh       2023-04-11 
15:13:24.000000000 +0200
@@ -77,7 +77,7 @@
 
 pushd matrix-js-sdk
 yarn link
-yarn install --pure-lockfile
+yarn install --frozen-lockfile
 popd
 
 yarn link matrix-js-sdk
@@ -91,7 +91,7 @@
 pushd matrix-react-sdk
 yarn link
 yarn link matrix-js-sdk
-yarn install --pure-lockfile
+yarn install --frozen-lockfile
 popd
 
 yarn link matrix-react-sdk
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/element-web-1.11.26/scripts/layered.sh 
new/element-web-1.11.29/scripts/layered.sh
--- old/element-web-1.11.26/scripts/layered.sh  2023-03-28 15:40:55.000000000 
+0200
+++ new/element-web-1.11.29/scripts/layered.sh  2023-04-11 15:13:24.000000000 
+0200
@@ -14,7 +14,7 @@
 # for the primary repo (element-web in this case).
 
 # Install dependencies, as we'll be using fetchdep.sh from matrix-react-sdk
-yarn install --pure-lockfile
+yarn install --frozen-lockfile
 
 # Pass appropriate repo to fetchdep.sh
 export PR_ORG=vector-im
@@ -24,7 +24,7 @@
 node_modules/matrix-react-sdk/scripts/fetchdep.sh matrix-org matrix-js-sdk
 pushd matrix-js-sdk
 yarn link
-yarn install --pure-lockfile
+yarn install --frozen-lockfile
 popd
 
 # Also set up matrix-analytics-events so we get the latest from
@@ -32,7 +32,7 @@
 node_modules/matrix-react-sdk/scripts/fetchdep.sh matrix-org 
matrix-analytics-events main
 pushd matrix-analytics-events
 yarn link
-yarn install --pure-lockfile
+yarn install --frozen-lockfile
 yarn build:ts
 popd
 
@@ -42,7 +42,7 @@
 yarn link
 yarn link matrix-js-sdk
 yarn link @matrix-org/analytics-events
-yarn install --pure-lockfile
+yarn install --frozen-lockfile
 popd
 
 # Link the layers into element-web
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/element-web-1.11.26/src/i18n/strings/pl.json 
new/element-web-1.11.29/src/i18n/strings/pl.json
--- old/element-web-1.11.26/src/i18n/strings/pl.json    2023-03-28 
15:40:55.000000000 +0200
+++ new/element-web-1.11.29/src/i18n/strings/pl.json    2023-04-11 
15:13:24.000000000 +0200
@@ -26,5 +26,7 @@
     "Your Element is misconfigured": "Twój Element jest nieprawidłowo 
skonfigurowany",
     "Powered by Matrix": "Zasilane przez Matrix",
     "Use %(brand)s on mobile": "Użyj %(brand)s w telefonie",
-    "Decentralised, encrypted chat &amp; collaboration powered by 
$matrixLogo": "Zdecentralizowany, szyfrowany czat i współpraca oparte na 
$matrixLogo"
+    "Decentralised, encrypted chat &amp; collaboration powered by 
$matrixLogo": "Zdecentralizowany, szyfrowany czat i współpraca oparte na 
$matrixLogo",
+    "%(appName)s: %(browserName)s on %(osName)s": "%(appName)s: 
%(browserName)s na %(osName)s",
+    "%(brand)s Desktop: %(platformName)s": "Komputer %(brand)s: 
%(platformName)s"
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/element-web-1.11.26/src/i18n/strings/zh_Hant.json 
new/element-web-1.11.29/src/i18n/strings/zh_Hant.json
--- old/element-web-1.11.26/src/i18n/strings/zh_Hant.json       2023-03-28 
15:40:55.000000000 +0200
+++ new/element-web-1.11.29/src/i18n/strings/zh_Hant.json       2023-04-11 
15:13:24.000000000 +0200
@@ -1,7 +1,7 @@
 {
     "Dismiss": "關閉",
     "Unknown device": "未知裝置",
-    "Welcome to Element": "歡迎來到 Element",
+    "Welcome to Element": "歡迎使用 Element",
     "Sign In": "登入",
     "Create Account": "建立帳號",
     "Explore rooms": "探索聊天室",
@@ -20,13 +20,13 @@
     "Failed to start": "啟動失敗",
     "Download Completed": "下載完成",
     "Open": "開啟",
-    "Your Element is misconfigured": "您的 Element 配置錯誤",
-    "Your Element configuration contains invalid JSON. Please correct the 
problem and reload the page.": "您的 Element 的配置中包含無效 
JSON,請更正錯誤並重新加載網頁。",
+    "Your Element is misconfigured": "您的 Element 設定錯誤",
+    "Your Element configuration contains invalid JSON. Please correct the 
problem and reload the page.": "您的 Element 設定中包含無效 
JSON,請修正後重新載入網頁。",
     "Your browser can't run %(brand)s": "您的瀏覽器無法執行 
%(brand)s",
     "%(brand)s uses advanced browser features which aren't supported by your 
current browser.": "%(brand)s 
使用了您目前瀏覽器不支援的進階功能。",
-    "Powered by Matrix": "由 Matrix 驅動",
+    "Powered by Matrix": "Powered by Matrix",
     "Use %(brand)s on mobile": "在行動裝置上使用 %(brand)s",
-    "Decentralised, encrypted chat &amp; collaboration powered by 
$matrixLogo": "去中心化、加密的聊天與協作,由 $matrixLogo 驅
動",
-    "%(appName)s: %(browserName)s on %(osName)s": 
"%(appName)s:%(browserName)s 位於 %(osName)s",
-    "%(brand)s Desktop: %(platformName)s": "%(brand)s 
桌面:%(platformName)s"
+    "Decentralised, encrypted chat &amp; collaboration powered by 
$matrixLogo": "由 $matrixLogo 驅動的去中心化、加
密的聊天與協作工具",
+    "%(appName)s: %(browserName)s on %(osName)s": "%(appName)s:%(osName)s 
的 %(browserName)s",
+    "%(brand)s Desktop: %(platformName)s": "%(brand)s 
桌面版:%(platformName)s"
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/element-web-1.11.26/src/vector/app.tsx 
new/element-web-1.11.29/src/vector/app.tsx
--- old/element-web-1.11.26/src/vector/app.tsx  2023-03-28 15:40:55.000000000 
+0200
+++ new/element-web-1.11.29/src/vector/app.tsx  2023-04-11 15:13:24.000000000 
+0200
@@ -23,7 +23,7 @@
 
 import React, { ReactElement } from "react";
 import PlatformPeg from "matrix-react-sdk/src/PlatformPeg";
-import { _td, newTranslatableError } from 
"matrix-react-sdk/src/languageHandler";
+import { UserFriendlyError } from "matrix-react-sdk/src/languageHandler";
 import AutoDiscoveryUtils from "matrix-react-sdk/src/utils/AutoDiscoveryUtils";
 import { AutoDiscovery } from "matrix-js-sdk/src/autodiscovery";
 import * as Lifecycle from "matrix-react-sdk/src/Lifecycle";
@@ -168,16 +168,14 @@
         const incompatibleOptions = [wkConfig, serverName, hsUrl].filter((i) 
=> !!i);
         if (incompatibleOptions.length > 1) {
             // noinspection ExceptionCaughtLocallyJS
-            throw newTranslatableError(
-                _td(
-                    "Invalid configuration: can only specify one of 
default_server_config, default_server_name, " +
-                        "or default_hs_url.",
-                ),
+            throw new UserFriendlyError(
+                "Invalid configuration: can only specify one of 
default_server_config, default_server_name, " +
+                    "or default_hs_url.",
             );
         }
         if (incompatibleOptions.length < 1) {
             // noinspection ExceptionCaughtLocallyJS
-            throw newTranslatableError(_td("Invalid configuration: no default 
server specified."));
+            throw new UserFriendlyError("Invalid configuration: no default 
server specified.");
         }
 
         if (hsUrl) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/element-web-1.11.26/src/vector/jitsi/index.ts 
new/element-web-1.11.29/src/vector/jitsi/index.ts
--- old/element-web-1.11.26/src/vector/jitsi/index.ts   2023-03-28 
15:40:55.000000000 +0200
+++ new/element-web-1.11.29/src/vector/jitsi/index.ts   2023-04-11 
15:13:24.000000000 +0200
@@ -52,9 +52,10 @@
 let userId: string;
 let jitsiAuth: string;
 let roomId: string;
-let openIdToken: IOpenIDCredentials;
 let roomName: string;
 let startAudioOnly: boolean;
+let startWithAudioMuted: boolean | undefined;
+let startWithVideoMuted: boolean | undefined;
 let isVideoChannel: boolean;
 let supportsScreensharing: boolean;
 let language: string;
@@ -80,6 +81,13 @@
             }
             return vals[0];
         };
+        const parseBooleanOrUndefined = (value: string | undefined): boolean | 
undefined => {
+            if (value === undefined) {
+                return undefined;
+            }
+
+            return value === "true";
+        };
 
         // If we have these params, expect a widget API to be available (ie. 
to be in an iframe
         // inside a matrix client). Otherwise, assume we're on our own, eg. 
have been popped
@@ -197,6 +205,8 @@
         roomId = qsParam("roomId", true);
         roomName = qsParam("roomName", true);
         startAudioOnly = qsParam("isAudioOnly", true) === "true";
+        startWithAudioMuted = 
parseBooleanOrUndefined(qsParam("startWithAudioMuted", true));
+        startWithVideoMuted = 
parseBooleanOrUndefined(qsParam("startWithVideoMuted", true));
         isVideoChannel = qsParam("isVideoChannel", true) === "true";
         supportsScreensharing = qsParam("supportsScreensharing", true) === 
"true";
 
@@ -212,13 +222,6 @@
 
         if (widgetApi) {
             await widgetApiReady;
-
-            // See 
https://github.com/matrix-org/prosody-mod-auth-matrix-user-verification
-            if (jitsiAuth === JITSI_OPENIDTOKEN_JWT_AUTH) {
-                // Request credentials, give callback to continue when received
-                openIdToken = await widgetApi.requestOpenIDConnectToken();
-                logger.log("Got OpenID Connect token");
-            }
         }
 
         // Now that everything should be set up, skip to the Jitsi splash 
screen if needed
@@ -234,7 +237,7 @@
 })();
 
 function enableJoinButton(): void {
-    document.getElementById("joinButton").onclick = (): void => 
joinConference();
+    document.getElementById("joinButton").onclick = (): Promise<void> => 
joinConference();
 }
 
 function switchVisibleContainers(): void {
@@ -260,11 +263,11 @@
 }
 
 /**
- * Create a JWT token fot jitsi openidtoken-jwt auth
+ * Create a JWT token for jitsi openidtoken-jwt auth
  *
  * See https://github.com/matrix-org/prosody-mod-auth-matrix-user-verification
  */
-function createJWTToken(): string {
+function createJWTToken(openIdToken: IOpenIDCredentials): string {
     // Header
     const header = { alg: "HS256", typ: "JWT" };
     // Payload
@@ -345,17 +348,21 @@
 // audio input it can find, while an input of null instructs it to start muted,
 // and a non-nullish input specifies the label of a specific device to use.
 // Same for video inputs.
-function joinConference(audioInput?: string | null, videoInput?: string | 
null): void {
+async function joinConference(audioInput?: string | null, videoInput?: string 
| null): Promise<void> {
     let jwt;
     if (jitsiAuth === JITSI_OPENIDTOKEN_JWT_AUTH) {
-        if (!openIdToken?.access_token) {
+        // See 
https://github.com/matrix-org/prosody-mod-auth-matrix-user-verification
+        const openIdToken: IOpenIDCredentials = await 
widgetApi.requestOpenIDConnectToken();
+        logger.log("Got OpenID Connect token");
+
+        if (!openIdToken.access_token) {
             // eslint-disable-line camelcase
             // We've failing to get a token, don't try to init conference
             logger.warn("Expected to have an OpenID credential, cannot 
initialize widget.");
             document.getElementById("widgetActionContainer").innerText = 
"Failed to load Jitsi widget";
             return;
         }
-        jwt = createJWTToken();
+        jwt = createJWTToken(openIdToken);
     }
 
     switchVisibleContainers();
@@ -388,8 +395,8 @@
         configOverwrite: {
             subject: roomName,
             startAudioOnly,
-            startWithAudioMuted: audioInput === null,
-            startWithVideoMuted: videoInput === null,
+            startWithAudioMuted: audioInput === null ? true : 
startWithAudioMuted,
+            startWithVideoMuted: videoInput === null ? true : 
startWithVideoMuted,
             // Request some log levels for inclusion in rageshakes
             // Ideally we would capture all possible log levels, but this can
             // cause Jitsi Meet to try to post various circular data structures
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/element-web-1.11.26/src/vector/platform/ElectronPlatform.tsx 
new/element-web-1.11.29/src/vector/platform/ElectronPlatform.tsx
--- old/element-web-1.11.26/src/vector/platform/ElectronPlatform.tsx    
2023-03-28 15:40:55.000000000 +0200
+++ new/element-web-1.11.29/src/vector/platform/ElectronPlatform.tsx    
2023-04-11 15:13:24.000000000 +0200
@@ -40,11 +40,21 @@
 import GenericExpiringToast from 
"matrix-react-sdk/src/components/views/toasts/GenericExpiringToast";
 import { logger } from "matrix-js-sdk/src/logger";
 import { MatrixEvent } from "matrix-js-sdk/src/models/event";
+import { BreadcrumbsStore } from 
"matrix-react-sdk/src/stores/BreadcrumbsStore";
+import { UPDATE_EVENT } from "matrix-react-sdk/src/stores/AsyncStore";
+import { avatarUrlForRoom, getInitialLetter } from 
"matrix-react-sdk/src/Avatar";
 
 import VectorBasePlatform from "./VectorBasePlatform";
 import { SeshatIndexManager } from "./SeshatIndexManager";
 import { IPCManager } from "./IPCManager";
 
+interface SquirrelUpdate {
+    releaseNotes: string;
+    releaseName: string;
+    releaseDate: Date;
+    updateURL: string;
+}
+
 const isMac = navigator.platform.toUpperCase().includes("MAC");
 
 function platformFriendlyName(): string {
@@ -150,13 +160,29 @@
         });
 
         this.ipc.call("startSSOFlow", this.ssoID);
+
+        BreadcrumbsStore.instance.on(UPDATE_EVENT, this.onBreadcrumbsUpdate);
     }
 
     public async getConfig(): Promise<IConfigOptions> {
         return this.ipc.call("getConfig");
     }
 
-    private onUpdateDownloaded = async (ev, { releaseNotes, releaseName }): 
Promise<void> => {
+    private onBreadcrumbsUpdate = (): void => {
+        const rooms = BreadcrumbsStore.instance.rooms.slice(0, 7).map((r) => ({
+            roomId: r.roomId,
+            avatarUrl: avatarUrlForRoom(
+                r,
+                Math.floor(60 * window.devicePixelRatio),
+                Math.floor(60 * window.devicePixelRatio),
+                "crop",
+            ),
+            initial: getInitialLetter(r.name),
+        }));
+        this.ipc.call("breadcrumbs", rooms);
+    };
+
+    private onUpdateDownloaded = async (ev: Event, { releaseNotes, releaseName 
}: SquirrelUpdate): Promise<void> => {
         dis.dispatch<CheckUpdatesPayload>({
             action: Action.CheckUpdates,
             status: UpdateCheckStatus.Ready,
@@ -389,4 +415,11 @@
             await this.ipc.call("destroyPickleKey", userId, deviceId);
         } catch (e) {}
     }
+
+    public async clearStorage(): Promise<void> {
+        try {
+            await super.clearStorage();
+            await this.ipc.call("clearStorage");
+        } catch (e) {}
+    }
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/element-web-1.11.26/test/app-tests/loading-test.tsx 
new/element-web-1.11.29/test/app-tests/loading-test.tsx
--- old/element-web-1.11.26/test/app-tests/loading-test.tsx     2023-03-28 
15:40:55.000000000 +0200
+++ new/element-web-1.11.29/test/app-tests/loading-test.tsx     2023-04-11 
15:13:24.000000000 +0200
@@ -25,7 +25,6 @@
 import MatrixChat from "matrix-react-sdk/src/components/structures/MatrixChat";
 import dis from "matrix-react-sdk/src/dispatcher/dispatcher";
 import MockHttpBackend from "matrix-mock-request";
-import { makeType } from "matrix-react-sdk/src/utils/TypeUtils";
 import { ValidatedServerConfig } from 
"matrix-react-sdk/src/utils/ValidatedServerConfig";
 import { IndexedDBCryptoStore } from 
"matrix-js-sdk/src/crypto/store/indexeddb-crypto-store";
 import { QueryDict, sleep } from "matrix-js-sdk/src/utils";
@@ -117,12 +116,12 @@
             {
                 default_hs_url: DEFAULT_HS_URL,
                 default_is_url: DEFAULT_IS_URL,
-                validated_server_config: makeType(ValidatedServerConfig, {
+                validated_server_config: {
                     hsUrl: DEFAULT_HS_URL,
                     hsName: "TEST_ENVIRONMENT",
                     hsNameIsDifferent: false, // yes, we lie
                     isUrl: DEFAULT_IS_URL,
-                }),
+                } as ValidatedServerConfig,
                 embeddedPages: {
                     homeUrl: 
"data:text/html;charset=utf-8;base64,PGh0bWw+PC9odG1sPg==",
                 },
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/element-web-1.11.26/test/unit-tests/vector/platform/ElectronPlatform-test.ts
 
new/element-web-1.11.29/test/unit-tests/vector/platform/ElectronPlatform-test.ts
--- 
old/element-web-1.11.26/test/unit-tests/vector/platform/ElectronPlatform-test.ts
    2023-03-28 15:40:55.000000000 +0200
+++ 
new/element-web-1.11.29/test/unit-tests/vector/platform/ElectronPlatform-test.ts
    2023-04-11 15:13:24.000000000 +0200
@@ -20,6 +20,7 @@
 import { Action } from "matrix-react-sdk/src/dispatcher/actions";
 import dispatcher from "matrix-react-sdk/src/dispatcher/dispatcher";
 import * as rageshake from "matrix-react-sdk/src/rageshake/rageshake";
+import { BreadcrumbsStore } from 
"matrix-react-sdk/src/stores/BreadcrumbsStore";
 
 import ElectronPlatform from 
"../../../../src/vector/platform/ElectronPlatform";
 
@@ -43,7 +44,6 @@
     const userId = "@alice:server.org";
     const deviceId = "device-id";
 
-    window.electron = mockElectron;
     beforeEach(() => {
         window.electron = mockElectron;
         jest.clearAllMocks();
@@ -260,4 +260,20 @@
             expect(mockElectron.send).toHaveBeenCalledWith("install_update");
         });
     });
+
+    describe("breacrumbs", () => {
+        it("should send breadcrumb updates over the IPC", () => {
+            const spy = jest.spyOn(BreadcrumbsStore.instance, "on");
+            new ElectronPlatform();
+            const cb = spy.mock.calls[0][1];
+            cb();
+
+            expect(mockElectron.send).toHaveBeenCalledWith(
+                "ipcCall",
+                expect.objectContaining({
+                    name: "breadcrumbs",
+                }),
+            );
+        });
+    });
 });
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/element-web-1.11.26/tsconfig.json 
new/element-web-1.11.29/tsconfig.json
--- old/element-web-1.11.26/tsconfig.json       2023-03-28 15:40:55.000000000 
+0200
+++ new/element-web-1.11.29/tsconfig.json       2023-04-11 15:13:24.000000000 
+0200
@@ -13,7 +13,10 @@
         "outDir": "./lib",
         "declaration": true,
         "jsx": "react",
-        "lib": ["es2019", "dom", "dom.iterable"]
+        "lib": ["es2019", "dom", "dom.iterable"],
+        "alwaysStrict": true,
+        "strictBindCallApply": true,
+        "noImplicitThis": true
     },
     "include": ["./src/**/*.ts", "./src/**/*.tsx", "./test/**/*.ts", 
"./test/**/*.tsx"]
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/element-web-1.11.26/yarn.lock 
new/element-web-1.11.29/yarn.lock
--- old/element-web-1.11.26/yarn.lock   2023-03-28 15:40:55.000000000 +0200
+++ new/element-web-1.11.29/yarn.lock   2023-04-11 15:13:24.000000000 +0200
@@ -1133,6 +1133,18 @@
   dependencies:
     eslint-visitor-keys "^3.3.0"
 
+"@eslint-community/eslint-utils@^4.2.0":
+  version "4.3.0"
+  resolved 
"https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.3.0.tgz#a556790523a351b4e47e9d385f47265eaaf9780a";
+  integrity 
sha512-v3oplH6FYCULtFuCeqyuTd9D2WKO937Dxdq+GmHOLL72TTRriLxz2VLlNfkZRsvj6PKnOPAtuT6dwrs/pA5DvA==
+  dependencies:
+    eslint-visitor-keys "^3.3.0"
+
+"@eslint-community/regexpp@^4.4.0":
+  version "4.4.0"
+  resolved 
"https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.4.0.tgz#3e61c564fcd6b921cb789838631c5ee44df09403";
+  integrity 
sha512-A9983Q0LnDGdLPjxyXQ00sbV+K+O+ko2Dr+CZigbHWtX9pNfxlaBkMR8X1CztI73zuEyEBXTVjx7CE+/VSwDiQ==
+
 "@eslint/eslintrc@^2.0.0":
   version "2.0.0"
   resolved 
"https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-2.0.0.tgz#943309d8697c52fc82c076e90c1c74fbbe69dbff";
@@ -1509,15 +1521,15 @@
   resolved 
"https://registry.yarnpkg.com/@matrix-org/analytics-events/-/analytics-events-0.5.0.tgz#38b69c4e29d243944c5712cca7b674a3432056e6";
   integrity 
sha512-uL5kf7MqC+GxsGJtimPVbFliyaFinohTHSzohz31JTysktHsjRR2SC+vV7sy2/dstTWVdG9EGOnohyPsB+oi3A==
 
-"@matrix-org/matrix-sdk-crypto-js@^0.1.0-alpha.3":
-  version "0.1.0-alpha.4"
-  resolved 
"https://registry.yarnpkg.com/@matrix-org/matrix-sdk-crypto-js/-/matrix-sdk-crypto-js-0.1.0-alpha.4.tgz#1b20294e0354c3dcc9c7dc810d883198a4042f04";
-  integrity 
sha512-mdaDKrw3P5ZVCpq0ioW0pV6ihviDEbS8ZH36kpt9stLKHwwDSopPogE6CkQhi0B1jn1yBUtOYi32mBV/zcOR7g==
+"@matrix-org/matrix-sdk-crypto-js@^0.1.0-alpha.5":
+  version "0.1.0-alpha.5"
+  resolved 
"https://registry.yarnpkg.com/@matrix-org/matrix-sdk-crypto-js/-/matrix-sdk-crypto-js-0.1.0-alpha.5.tgz#60ede2c43b9d808ba8cf46085a3b347b290d9658";
+  integrity 
sha512-2KjAgWNGfuGLNjJwsrs6gGX157vmcTfNrA4u249utgnMPbJl7QwuUqh1bGxQ0PpK06yvZjgPlkna0lTbuwtuQw==
 
-"@matrix-org/matrix-wysiwyg@^1.1.1":
-  version "1.1.1"
-  resolved 
"https://registry.yarnpkg.com/@matrix-org/matrix-wysiwyg/-/matrix-wysiwyg-1.1.1.tgz#a07b13097e72a9bae220a647527d6418c5423827";
-  integrity 
sha512-pp7poyd3vfC/P34ZRj6u2oyLJuex77egeSsIA1MPowBqtrIAmHkji9xviBdXPcDss2zEI4EZuX77JWXtAfaz7Q==
+"@matrix-org/matrix-wysiwyg@^1.4.1":
+  version "1.4.1"
+  resolved 
"https://registry.yarnpkg.com/@matrix-org/matrix-wysiwyg/-/matrix-wysiwyg-1.4.1.tgz#80c392f036dc4d6ef08a91c4964a68682e977079";
+  integrity 
sha512-B8sxY3pE2XyRyQ1g7cx0YjGaDZ1A0Uh5XxS/lNdxQ/0ctRJj6IBy7KtiUjxDRdA15ioZnf6aoJBRkBSr02qhaw==
 
 
"@matrix-org/olm@https://gitlab.matrix.org/api/v4/projects/27/packages/npm/@matrix-org/olm/-/@matrix-org/olm-3.2.12.tgz":
   version "3.2.12"
@@ -1986,19 +1998,6 @@
   resolved 
"https://registry.yarnpkg.com/@types/events/-/events-3.0.0.tgz#2862f3f58a9a7f7c3e78d79f130dd4d71c25c2a7";
   integrity 
sha512-EaObqwIvayI5a8dCzhFrjKzVwKLxjoG9T6Ppd5CEo07LRKfQ8Yokw54r5+Wq7FaBQ+yXRvQAYPrHwya1/UFt9g==
 
-"@types/fbemitter@*":
-  version "2.0.32"
-  resolved 
"https://registry.yarnpkg.com/@types/fbemitter/-/fbemitter-2.0.32.tgz#8ed204da0f54e9c8eaec31b1eec91e25132d082c";
-  integrity 
sha512-Hwq28bBlbmfCgLnNJvjl5ssTrbZCTSblI4vqPpqZrbbEL8vn5l2UivxhlMYfUY7a4SR8UB6RKoLjOZfljqAa6g==
-
-"@types/flux@^3.1.9":
-  version "3.1.11"
-  resolved 
"https://registry.yarnpkg.com/@types/flux/-/flux-3.1.11.tgz#e030d61e6c7fd6187dfa0e7e3dfcc8036c511581";
-  integrity 
sha512-Aq4UB1ZqAKcPbhB0GpgMw2sntvOh71he9tjz53TLKrI7rw3Y3LxCW5pTYY9IV455hQapm4pmxFjpqlWOs308Yg==
-  dependencies:
-    "@types/fbemitter" "*"
-    "@types/react" "*"
-
 "@types/geojson@*", "@types/geojson@^7946.0.10":
   version "7946.0.10"
   resolved 
"https://registry.yarnpkg.com/@types/geojson/-/geojson-7946.0.10.tgz#6dfbf5ea17142f7f9a043809f1cd4c448cb68249";
@@ -2118,9 +2117,9 @@
   integrity 
sha512-1uEQxww3DaghA0RxqHx0O0ppVlo43pJhepY51OxuQIKHpjbnYLA7vcdwioNPzIqmC2u3I/dmylcqjlh0e7AyUA==
 
 "@types/node@^16":
-  version "16.18.13"
-  resolved 
"https://registry.yarnpkg.com/@types/node/-/node-16.18.13.tgz#c572f8837094c6e3b73918a68674c784f6877fc0";
-  integrity 
sha512-l0/3XZ153UTlNOnZK8xSNoJlQda9/WnYgiTdcKKPJSZjdjI9MU+A9oMXOesAWLSnqAaaJhj3qfQsU07Dr8OUwg==
+  version "16.18.14"
+  resolved 
"https://registry.yarnpkg.com/@types/node/-/node-16.18.14.tgz#5465ce598486a703caddbefe8603f8a2cffa3461";
+  integrity 
sha512-wvzClDGQXOCVNU4APPopC2KtMYukaF1MN/W3xAmslx22Z4/IF1/izDMekuyoUlwfnDHYCIZGaj7jMwnJKBTxKw==
 
 "@types/normalize-package-data@^2.4.0":
   version "2.4.1"
@@ -2184,9 +2183,9 @@
   integrity 
sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==
 
 "@types/sanitize-html@^2.3.1":
-  version "2.8.0"
-  resolved 
"https://registry.yarnpkg.com/@types/sanitize-html/-/sanitize-html-2.8.0.tgz#c53d3114d832734fc299568a3458a49f9edc1eef";
-  integrity 
sha512-Uih6caOm3DsBYnVGOYn0A9NoTNe1c4aPStmHC/YA2JrpP9kx//jzaRcIklFvSpvVQEcpl/ZCr4DgISSf/YxTvg==
+  version "2.8.1"
+  resolved 
"https://registry.yarnpkg.com/@types/sanitize-html/-/sanitize-html-2.8.1.tgz#0ed8022777b571e9221557ceb187482641675627";
+  integrity 
sha512-Q6kMAbBBaXA5IagoipeSr4Y/zuGyh4BZ5lewgb3cYe3OYqy0k/d67iMsC4O895eks676bVAe9G+0y1i0k2ZlnA==
   dependencies:
     htmlparser2 "^8.0.0"
 
@@ -2266,87 +2265,87 @@
     "@types/yargs-parser" "*"
 
 "@typescript-eslint/eslint-plugin@^5.45.0":
-  version "5.54.0"
-  resolved 
"https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.54.0.tgz#2c821ad81b2c786d142279a8292090f77d1881f4";
-  integrity 
sha512-+hSN9BdSr629RF02d7mMtXhAJvDTyCbprNYJKrXETlul/Aml6YZwd90XioVbjejQeHbb3R8Dg0CkRgoJDxo8aw==
-  dependencies:
-    "@typescript-eslint/scope-manager" "5.54.0"
-    "@typescript-eslint/type-utils" "5.54.0"
-    "@typescript-eslint/utils" "5.54.0"
+  version "5.55.0"
+  resolved 
"https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.55.0.tgz#bc2400c3a23305e8c9a9c04aa40933868aaaeb47";
+  integrity 
sha512-IZGc50rtbjk+xp5YQoJvmMPmJEYoC53SiKPXyqWfv15XoD2Y5Kju6zN0DwlmaGJp1Iw33JsWJcQ7nw0lGCGjVg==
+  dependencies:
+    "@eslint-community/regexpp" "^4.4.0"
+    "@typescript-eslint/scope-manager" "5.55.0"
+    "@typescript-eslint/type-utils" "5.55.0"
+    "@typescript-eslint/utils" "5.55.0"
     debug "^4.3.4"
     grapheme-splitter "^1.0.4"
     ignore "^5.2.0"
     natural-compare-lite "^1.4.0"
-    regexpp "^3.2.0"
     semver "^7.3.7"
     tsutils "^3.21.0"
 
 "@typescript-eslint/parser@^5.45.0":
-  version "5.54.0"
-  resolved 
"https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.54.0.tgz#def186eb1b1dbd0439df0dacc44fb6d8d5c417fe";
-  integrity 
sha512-aAVL3Mu2qTi+h/r04WI/5PfNWvO6pdhpeMRWk9R7rEV4mwJNzoWf5CCU5vDKBsPIFQFjEq1xg7XBI2rjiMXQbQ==
-  dependencies:
-    "@typescript-eslint/scope-manager" "5.54.0"
-    "@typescript-eslint/types" "5.54.0"
-    "@typescript-eslint/typescript-estree" "5.54.0"
+  version "5.55.0"
+  resolved 
"https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.55.0.tgz#8c96a0b6529708ace1dcfa60f5e6aec0f5ed2262";
+  integrity 
sha512-ppvmeF7hvdhUUZWSd2EEWfzcFkjJzgNQzVST22nzg958CR+sphy8A6K7LXQZd6V75m1VKjp+J4g/PCEfSCmzhw==
+  dependencies:
+    "@typescript-eslint/scope-manager" "5.55.0"
+    "@typescript-eslint/types" "5.55.0"
+    "@typescript-eslint/typescript-estree" "5.55.0"
     debug "^4.3.4"
 
-"@typescript-eslint/scope-manager@5.54.0":
-  version "5.54.0"
-  resolved 
"https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.54.0.tgz#74b28ac9a3fc8166f04e806c957adb8c1fd00536";
-  integrity 
sha512-VTPYNZ7vaWtYna9M4oD42zENOBrb+ZYyCNdFs949GcN8Miwn37b8b7eMj+EZaq7VK9fx0Jd+JhmkhjFhvnovhg==
-  dependencies:
-    "@typescript-eslint/types" "5.54.0"
-    "@typescript-eslint/visitor-keys" "5.54.0"
-
-"@typescript-eslint/type-utils@5.54.0":
-  version "5.54.0"
-  resolved 
"https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.54.0.tgz#390717216eb61393a0cad2995da154b613ba7b26";
-  integrity 
sha512-WI+WMJ8+oS+LyflqsD4nlXMsVdzTMYTxl16myXPaCXnSgc7LWwMsjxQFZCK/rVmTZ3FN71Ct78ehO9bRC7erYQ==
+"@typescript-eslint/scope-manager@5.55.0":
+  version "5.55.0"
+  resolved 
"https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.55.0.tgz#e863bab4d4183ddce79967fe10ceb6c829791210";
+  integrity 
sha512-OK+cIO1ZGhJYNCL//a3ROpsd83psf4dUJ4j7pdNVzd5DmIk+ffkuUIX2vcZQbEW/IR41DYsfJTB19tpCboxQuw==
+  dependencies:
+    "@typescript-eslint/types" "5.55.0"
+    "@typescript-eslint/visitor-keys" "5.55.0"
+
+"@typescript-eslint/type-utils@5.55.0":
+  version "5.55.0"
+  resolved 
"https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.55.0.tgz#74bf0233523f874738677bb73cb58094210e01e9";
+  integrity 
sha512-ObqxBgHIXj8rBNm0yh8oORFrICcJuZPZTqtAFh0oZQyr5DnAHZWfyw54RwpEEH+fD8suZaI0YxvWu5tYE/WswA==
   dependencies:
-    "@typescript-eslint/typescript-estree" "5.54.0"
-    "@typescript-eslint/utils" "5.54.0"
+    "@typescript-eslint/typescript-estree" "5.55.0"
+    "@typescript-eslint/utils" "5.55.0"
     debug "^4.3.4"
     tsutils "^3.21.0"
 
-"@typescript-eslint/types@5.54.0":
-  version "5.54.0"
-  resolved 
"https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.54.0.tgz#7d519df01f50739254d89378e0dcac504cab2740";
-  integrity 
sha512-nExy+fDCBEgqblasfeE3aQ3NuafBUxZxgxXcYfzYRZFHdVvk5q60KhCSkG0noHgHRo/xQ/BOzURLZAafFpTkmQ==
-
-"@typescript-eslint/typescript-estree@5.54.0":
-  version "5.54.0"
-  resolved 
"https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.54.0.tgz#f6f3440cabee8a43a0b25fa498213ebb61fdfe99";
-  integrity 
sha512-X2rJG97Wj/VRo5YxJ8Qx26Zqf0RRKsVHd4sav8NElhbZzhpBI8jU54i6hfo9eheumj4oO4dcRN1B/zIVEqR/MQ==
+"@typescript-eslint/types@5.55.0":
+  version "5.55.0"
+  resolved 
"https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.55.0.tgz#9830f8d3bcbecf59d12f821e5bc6960baaed41fd";
+  integrity 
sha512-M4iRh4AG1ChrOL6Y+mETEKGeDnT7Sparn6fhZ5LtVJF1909D5O4uqK+C5NPbLmpfZ0XIIxCdwzKiijpZUOvOug==
+
+"@typescript-eslint/typescript-estree@5.55.0":
+  version "5.55.0"
+  resolved 
"https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.55.0.tgz#8db7c8e47ecc03d49b05362b8db6f1345ee7b575";
+  integrity 
sha512-I7X4A9ovA8gdpWMpr7b1BN9eEbvlEtWhQvpxp/yogt48fy9Lj3iE3ild/1H3jKBBIYj5YYJmS2+9ystVhC7eaQ==
   dependencies:
-    "@typescript-eslint/types" "5.54.0"
-    "@typescript-eslint/visitor-keys" "5.54.0"
+    "@typescript-eslint/types" "5.55.0"
+    "@typescript-eslint/visitor-keys" "5.55.0"
     debug "^4.3.4"
     globby "^11.1.0"
     is-glob "^4.0.3"
     semver "^7.3.7"
     tsutils "^3.21.0"
 
-"@typescript-eslint/utils@5.54.0":
-  version "5.54.0"
-  resolved 
"https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.54.0.tgz#3db758aae078be7b54b8ea8ea4537ff6cd3fbc21";
-  integrity 
sha512-cuwm8D/Z/7AuyAeJ+T0r4WZmlnlxQ8wt7C7fLpFlKMR+dY6QO79Cq1WpJhvZbMA4ZeZGHiRWnht7ZJ8qkdAunw==
+"@typescript-eslint/utils@5.55.0":
+  version "5.55.0"
+  resolved 
"https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.55.0.tgz#34e97322e7ae5b901e7a870aabb01dad90023341";
+  integrity 
sha512-FkW+i2pQKcpDC3AY6DU54yl8Lfl14FVGYDgBTyGKB75cCwV3KpkpTMFi9d9j2WAJ4271LR2HeC5SEWF/CZmmfw==
   dependencies:
+    "@eslint-community/eslint-utils" "^4.2.0"
     "@types/json-schema" "^7.0.9"
     "@types/semver" "^7.3.12"
-    "@typescript-eslint/scope-manager" "5.54.0"
-    "@typescript-eslint/types" "5.54.0"
-    "@typescript-eslint/typescript-estree" "5.54.0"
+    "@typescript-eslint/scope-manager" "5.55.0"
+    "@typescript-eslint/types" "5.55.0"
+    "@typescript-eslint/typescript-estree" "5.55.0"
     eslint-scope "^5.1.1"
-    eslint-utils "^3.0.0"
     semver "^7.3.7"
 
-"@typescript-eslint/visitor-keys@5.54.0":
-  version "5.54.0"
-  resolved 
"https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.54.0.tgz#846878afbf0cd67c19cfa8d75947383d4490db8f";
-  integrity 
sha512-xu4wT7aRCakGINTLGeyGqDn+78BwFlggwBjnHa1ar/KaGagnmwLYmlrXIrgAaQ3AE1Vd6nLfKASm7LrFHNbKGA==
+"@typescript-eslint/visitor-keys@5.55.0":
+  version "5.55.0"
+  resolved 
"https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.55.0.tgz#01ad414fca8367706d76cdb94adf788dc5b664a2";
+  integrity 
sha512-q2dlHHwWgirKh1D3acnuApXG+VNXpEY5/AwRxDVuEQpxWaB0jCDe0jFMVMALJ3ebSfuOVE8/rMS+9ZOYGg1GWw==
   dependencies:
-    "@typescript-eslint/types" "5.54.0"
+    "@typescript-eslint/types" "5.55.0"
     eslint-visitor-keys "^3.3.0"
 
 "@webassemblyjs/ast@1.9.0":
@@ -2825,11 +2824,6 @@
   resolved 
"https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d";
   integrity 
sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==
 
-asap@~2.0.3:
-  version "2.0.6"
-  resolved 
"https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46";
-  integrity 
sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==
-
 asn1.js@^5.2.0:
   version "5.4.1"
   resolved 
"https://registry.yarnpkg.com/asn1.js/-/asn1.js-5.4.1.tgz#11a980b84ebb91781ce35b0fdc2ee294e3783f07";
@@ -4008,13 +4002,6 @@
     safe-buffer "^5.0.1"
     sha.js "^2.4.8"
 
-cross-fetch@^3.1.5:
-  version "3.1.5"
-  resolved 
"https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-3.1.5.tgz#e1389f44d9e7ba767907f7af8454787952ab534f";
-  integrity 
sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw==
-  dependencies:
-    node-fetch "2.6.7"
-
 cross-spawn@^6.0.0, cross-spawn@^6.0.5:
   version "6.0.5"
   resolved 
"https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4";
@@ -5025,9 +5012,9 @@
   integrity 
sha512-WsbX4WbjuMvTdeVL6+J3rK1RGhCTqjsFjX7UMSMgZiyxxaNLkoJENbrGExzERFeoTpGw3F3FypTiWAP9ZXzkEw==
 
 eslint-config-prettier@^8.5.0:
-  version "8.6.0"
-  resolved 
"https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-8.6.0.tgz#dec1d29ab728f4fa63061774e1672ac4e363d207";
-  integrity 
sha512-bAF0eLpLVqP5oEVUFKpMA+NnRFICwn9X8B5jrR9FcqnYBuPbqWEjTEspPWMj5ye6czoSLDweCzSo3Ko7gGrZaA==
+  version "8.7.0"
+  resolved 
"https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-8.7.0.tgz#f1cc58a8afebc50980bd53475451df146c13182d";
+  integrity 
sha512-HHVXLSlVUhMSmyW4ZzEuvjpwqamgmlfkutD53cYXLikh4pt/modINRcCIApJ84czDxM4GZInwUrromsDdTImTA==
 
 eslint-import-resolver-node@^0.3.7:
   version "0.3.7"
@@ -5102,10 +5089,10 @@
     semver "^6.3.0"
     string.prototype.matchall "^4.0.8"
 
-eslint-plugin-unicorn@^45.0.0:
-  version "45.0.2"
-  resolved 
"https://registry.yarnpkg.com/eslint-plugin-unicorn/-/eslint-plugin-unicorn-45.0.2.tgz#d6ba704793a6909fe5dfe013900d2b05b715284c";
-  integrity 
sha512-Y0WUDXRyGDMcKLiwgL3zSMpHrXI00xmdyixEGIg90gHnj0PcHY4moNv3Ppje/kDivdAy5vUeUr7z211ImPv2gw==
+eslint-plugin-unicorn@^46.0.0:
+  version "46.0.0"
+  resolved 
"https://registry.yarnpkg.com/eslint-plugin-unicorn/-/eslint-plugin-unicorn-46.0.0.tgz#b5cdcc9465fd6e46ab7968b87dd4a43adc8d6031";
+  integrity 
sha512-j07WkC+PFZwk8J33LYp6JMoHa1lXc1u6R45pbSAipjpfpb7KIGr17VE2D685zCxR5VL4cjrl65kTJflziQWMDA==
   dependencies:
     "@babel/helper-validator-identifier" "^7.19.1"
     "@eslint-community/eslint-utils" "^4.1.2"
@@ -5564,31 +5551,6 @@
   dependencies:
     bser "2.1.1"
 
-fbemitter@^3.0.0:
-  version "3.0.0"
-  resolved 
"https://registry.yarnpkg.com/fbemitter/-/fbemitter-3.0.0.tgz#00b2a1af5411254aab416cd75f9e6289bee4bff3";
-  integrity 
sha512-KWKaceCwKQU0+HPoop6gn4eOHk50bBv/VxjJtGMfwmJt3D29JpN4H4eisCtIPA+a8GVBam+ldMMpMjJUvpDyHw==
-  dependencies:
-    fbjs "^3.0.0"
-
-fbjs-css-vars@^1.0.0:
-  version "1.0.2"
-  resolved 
"https://registry.yarnpkg.com/fbjs-css-vars/-/fbjs-css-vars-1.0.2.tgz#216551136ae02fe255932c3ec8775f18e2c078b8";
-  integrity 
sha512-b2XGFAFdWZWg0phtAWLHCk836A1Xann+I+Dgd3Gk64MHKZO44FfoD1KxyvbSh0qZsIoXQGGlVztIY+oitJPpRQ==
-
-fbjs@^3.0.0, fbjs@^3.0.1:
-  version "3.0.4"
-  resolved 
"https://registry.yarnpkg.com/fbjs/-/fbjs-3.0.4.tgz#e1871c6bd3083bac71ff2da868ad5067d37716c6";
-  integrity 
sha512-ucV0tDODnGV3JCnnkmoszb5lf4bNpzjv80K41wd4k798Etq+UYD0y0TIfalLjZoKgjive6/adkRnszwapiDgBQ==
-  dependencies:
-    cross-fetch "^3.1.5"
-    fbjs-css-vars "^1.0.0"
-    loose-envify "^1.0.0"
-    object-assign "^4.1.0"
-    promise "^7.1.1"
-    setimmediate "^1.0.5"
-    ua-parser-js "^0.7.30"
-
 fetch-mock-jest@^1.5.1:
   version "1.5.1"
   resolved 
"https://registry.yarnpkg.com/fetch-mock-jest/-/fetch-mock-jest-1.5.1.tgz#0e13df990d286d9239e284f12b279ed509bf53cd";
@@ -5785,14 +5747,6 @@
     inherits "^2.0.3"
     readable-stream "^2.3.6"
 
-flux@4.0.3:
-  version "4.0.3"
-  resolved 
"https://registry.yarnpkg.com/flux/-/flux-4.0.3.tgz#573b504a24982c4768fdfb59d8d2ea5637d72ee7";
-  integrity 
sha512-yKAbrp7JhZhj6uiT1FTuVMlIAT1J4jqEyBpFApi1kxpGZCvacMVc/t1pMQyotqHhAgvoE3bNvAykhCo2CLjnYw==
-  dependencies:
-    fbemitter "^3.0.0"
-    fbjs "^3.0.1"
-
 focus-lock@^0.11.6:
   version "0.11.6"
   resolved 
"https://registry.yarnpkg.com/focus-lock/-/focus-lock-0.11.6.tgz#e8821e21d218f03e100f7dc27b733f9c4f61e683";
@@ -7978,7 +7932,7 @@
   resolved 
"https://registry.yarnpkg.com/loglevel/-/loglevel-1.8.1.tgz#5c621f83d5b48c54ae93b6156353f555963377b4";
   integrity 
sha512-tCRIJM51SHjAayKwC+QAg8hT8vg6z7GSgLJKGvzuPb1Wc+hLzqtuVLxp6/HzSPOozuK+8ErAhy7U/sVzw8Dgfg==
 
-loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.4.0:
+loose-envify@^1.1.0, loose-envify@^1.4.0:
   version "1.4.0"
   resolved 
"https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf";
   integrity 
sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==
@@ -8123,19 +8077,19 @@
   resolved 
"https://registry.yarnpkg.com/matrix-events-sdk/-/matrix-events-sdk-0.0.1.tgz#c8c38911e2cb29023b0bbac8d6f32e0de2c957dd";
   integrity 
sha512-1QEOsXO+bhyCroIe2/A5OwaxHvBm7EsSQ46DEDn8RBIfQwN5HWBpFvyWWR4QY0KHPPnnJdI99wgRiAl7Ad5qaA==
 
-matrix-js-sdk@24.0.0:
-  version "24.0.0"
-  resolved 
"https://registry.yarnpkg.com/matrix-js-sdk/-/matrix-js-sdk-24.0.0.tgz#cc08c55e6a88dcc177341705a8ff7cdfe93e0c27";
-  integrity 
sha512-AOhO036ziDf6lwYoauj5DES/RJ6RDTq+vrK2yO/GW/8n+bAXhkjWc9AA/WcTK/9SkNHS46ZanmolkhS1n8WniQ==
+matrix-js-sdk@24.1.0:
+  version "24.1.0"
+  resolved 
"https://registry.yarnpkg.com/matrix-js-sdk/-/matrix-js-sdk-24.1.0.tgz#6e5ecbadc44cf725c02d32db07f74dcb67b88d11";
+  integrity 
sha512-xEx2ZoNsS56dwgqLJ3rIv2SUpFxdQLrLKmJCpMatMUKCAg+NGuZfpQ3QXblIbGaqFNQZCH7fC7S48AeTMZp1Jw==
   dependencies:
     "@babel/runtime" "^7.12.5"
-    "@matrix-org/matrix-sdk-crypto-js" "^0.1.0-alpha.3"
+    "@matrix-org/matrix-sdk-crypto-js" "^0.1.0-alpha.5"
     another-json "^0.2.0"
     bs58 "^5.0.0"
     content-type "^1.0.4"
     loglevel "^1.7.1"
     matrix-events-sdk "0.0.1"
-    matrix-widget-api "^1.0.0"
+    matrix-widget-api "^1.3.1"
     p-retry "4"
     sdp-transform "^2.14.1"
     unhomoglyph "^1.0.6"
@@ -8148,14 +8102,14 @@
   dependencies:
     expect "^28.1.0"
 
-matrix-react-sdk@3.69.0:
-  version "3.69.0"
-  resolved 
"https://registry.yarnpkg.com/matrix-react-sdk/-/matrix-react-sdk-3.69.0.tgz#63bc203531b45c37f9aa928b389c89b205f940d1";
-  integrity 
sha512-QmMAk+k/W2eb+KMHcOWcDtQzg2OQ5KV38lUY6UGOnvlM2n823YzKaio2a0OhMPxhf6GQ0yIKPGiGBftV+SdDQw==
+matrix-react-sdk@3.70.0:
+  version "3.70.0"
+  resolved 
"https://registry.yarnpkg.com/matrix-react-sdk/-/matrix-react-sdk-3.70.0.tgz#0937895b4f69ec13f728535c532c89de78bdfd18";
+  integrity 
sha512-t0mfemzanPW1fSxBoUrq/+zzO3DyClOeLfG/w///JFZBHqA6DV7Y2zQOkWMZkKnWL2eSizkqy4KpNnaU1Zbhqg==
   dependencies:
     "@babel/runtime" "^7.12.5"
     "@matrix-org/analytics-events" "^0.5.0"
-    "@matrix-org/matrix-wysiwyg" "^1.1.1"
+    "@matrix-org/matrix-wysiwyg" "^1.4.1"
     "@matrix-org/react-sdk-module-api" "^0.0.4"
     "@sentry/browser" "^7.0.0"
     "@sentry/tracing" "^7.0.0"
@@ -8174,7 +8128,6 @@
     escape-html "^1.0.3"
     file-saver "^2.0.5"
     filesize "10.0.6"
-    flux "4.0.3"
     focus-visible "^5.2.0"
     gfm.css "^1.1.2"
     glob-to-regexp "^0.4.1"
@@ -8191,14 +8144,14 @@
     maplibre-gl "^2.0.0"
     matrix-encrypt-attachment "^1.0.3"
     matrix-events-sdk "0.0.1"
-    matrix-js-sdk "24.0.0"
-    matrix-widget-api "^1.1.1"
+    matrix-js-sdk "24.1.0"
+    matrix-widget-api "^1.3.1"
     minimist "^1.2.5"
     opus-recorder "^8.0.3"
     pako "^2.0.3"
     parse5 "^6.0.1"
     png-chunks-extract "^1.0.0"
-    posthog-js "1.50.3"
+    posthog-js "1.51.2"
     qrcode "1.5.1"
     re-resizable "^6.9.0"
     react "17.0.2"
@@ -8216,19 +8169,19 @@
     what-input "^5.2.10"
     zxcvbn "^4.4.2"
 
-matrix-web-i18n@^1.3.0:
-  version "1.3.0"
-  resolved 
"https://registry.yarnpkg.com/matrix-web-i18n/-/matrix-web-i18n-1.3.0.tgz#d85052635215173541f56ea1af0cbefd6e09ecb3";
-  integrity 
sha512-4QumouFjd4//piyRCtkfr24kjMPHkzNQNz09B1oEX4W3d4gdd5F+lwErqcQrys7Yl09U0S0iKCD8xPBRV178qg==
+matrix-web-i18n@^1.4.0:
+  version "1.4.0"
+  resolved 
"https://registry.yarnpkg.com/matrix-web-i18n/-/matrix-web-i18n-1.4.0.tgz#f383a3ebc29d3fd6eb137d38cc4c3198771cc073";
+  integrity 
sha512-+NP2h4zdft+2H/6oFQ0i2PBm00Ei6HpUHke8rklgpe/yCABBG5Q7gIQdZoxazi0DXWWtcvvIfgamPZmkg6oRwA==
   dependencies:
     "@babel/parser" "^7.18.5"
     "@babel/traverse" "^7.18.5"
     walk "^2.3.15"
 
-matrix-widget-api@^1.0.0, matrix-widget-api@^1.1.1:
-  version "1.1.1"
-  resolved 
"https://registry.yarnpkg.com/matrix-widget-api/-/matrix-widget-api-1.1.1.tgz#d3fec45033d0cbc14387a38ba92dac4dbb1be962";
-  integrity 
sha512-gNSgmgSwvOsOcWK9k2+tOhEMYBiIMwX95vMZu0JqY7apkM02xrOzUBuPRProzN8CnbIALH7e3GAhatF6QCNvtA==
+matrix-widget-api@^1.3.1:
+  version "1.3.1"
+  resolved 
"https://registry.yarnpkg.com/matrix-widget-api/-/matrix-widget-api-1.3.1.tgz#e38f404c76bb15c113909505c1c1a5b4d781c2f5";
+  integrity 
sha512-+rN6vGvnXm+fn0uq9r2KWSL/aPtehD6ObC50jYmUcEfgo8CUpf9eUurmjbRlwZkWq3XHXFuKQBUCI9UzqWg37Q==
   dependencies:
     "@types/events" "^3.0.0"
     events "^3.2.0"
@@ -8551,9 +8504,9 @@
     minimist "^1.2.6"
 
 mkdirp@^2.0.0:
-  version "2.1.3"
-  resolved 
"https://registry.yarnpkg.com/mkdirp/-/mkdirp-2.1.3.tgz#b083ff37be046fd3d6552468c1f0ff44c1545d1f";
-  integrity 
sha512-sjAkg21peAG9HS+Dkx7hlG9Ztx7HLeKnvB3NQRcu/mltCVmvkF0pisbiTSfDVYTT86XEfZrTUosLdZLStquZUw==
+  version "2.1.5"
+  resolved 
"https://registry.yarnpkg.com/mkdirp/-/mkdirp-2.1.5.tgz#78d7eaf15e069ba7b6b47d76dd94cfadf7a4062f";
+  integrity 
sha512-jbjfql+shJtAPrFoKxHOXip4xS+kul9W3OzfzzrqueWK2QMGon2bFH2opl6W9EagBThjEz+iysyi/swOoVfB/w==
 
 modernizr@^3.12.0:
   version "3.12.0"
@@ -8685,13 +8638,6 @@
     lower-case "^2.0.2"
     tslib "^2.0.3"
 
-node-fetch@2.6.7:
-  version "2.6.7"
-  resolved 
"https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.7.tgz#24de9fba827e3b4ae44dc8b20256a379160052ad";
-  integrity 
sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==
-  dependencies:
-    whatwg-url "^5.0.0"
-
 node-fetch@^2.6.7:
   version "2.6.9"
   resolved 
"https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.9.tgz#7c7f744b5cc6eb5fd404e0c7a9fec630a55657e6";
@@ -8823,7 +8769,7 @@
   resolved 
"https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.2.tgz#e5418863e7905df67d51ec95938d67bf801f0bb0";
   integrity 
sha512-90yv+6538zuvUMnN+zCr8LuV6bPFdq50304114vJYJ8RDyK8D5O9Phpbd6SZWgI7PwzmmfN1upeOJlvybDSgCw==
 
-object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1:
+object-assign@^4.0.1, object-assign@^4.1.1:
   version "4.1.1"
   resolved 
"https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863";
   integrity 
sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==
@@ -10041,10 +9987,10 @@
     picocolors "^1.0.0"
     source-map-js "^1.0.2"
 
-posthog-js@1.50.3:
-  version "1.50.3"
-  resolved 
"https://registry.yarnpkg.com/posthog-js/-/posthog-js-1.50.3.tgz#b89e0a41ba6e34d804490664c0854f3e37f3acbf";
-  integrity 
sha512-QWEQ1bvKKsHUBLYGGIgwC2t9Lsivoi5gkQ/QgzAQrK9bMHQgexAx5CCTgdQ2ael9o88i9eIExWQId6+/RpALsw==
+posthog-js@1.51.2:
+  version "1.51.2"
+  resolved 
"https://registry.yarnpkg.com/posthog-js/-/posthog-js-1.51.2.tgz#59f37198aa513960b4c28b635908a9f4bbe1a2dd";
+  integrity 
sha512-9A6msQFeerVgwE7kgBTAeIo1FAYzmR3IESDE6s5rhVhspu5b4h7fNppDMaq4Kic9zSlEiaVSmKyahIAEqaLxtw==
   dependencies:
     fflate "^0.4.1"
     rrweb-snapshot "^1.1.14"
@@ -10130,13 +10076,6 @@
   resolved 
"https://registry.yarnpkg.com/promise-inflight/-/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3";
   integrity 
sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==
 
-promise@^7.1.1:
-  version "7.3.1"
-  resolved 
"https://registry.yarnpkg.com/promise/-/promise-7.3.1.tgz#064b72602b18f90f29192b8b1bc418ffd1ebd3bf";
-  integrity 
sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==
-  dependencies:
-    asap "~2.0.3"
-
 prompts@^2.0.1:
   version "2.4.2"
   resolved 
"https://registry.yarnpkg.com/prompts/-/prompts-2.4.2.tgz#7b57e73b3a48029ad10ebd44f74b01722a4cb069";
@@ -11571,11 +11510,6 @@
     browserslist "^4.21.4"
     postcss-selector-parser "^6.0.4"
 
-stylelint-config-prettier@^9.0.4:
-  version "9.0.5"
-  resolved 
"https://registry.yarnpkg.com/stylelint-config-prettier/-/stylelint-config-prettier-9.0.5.tgz#9f78bbf31c7307ca2df2dd60f42c7014ee9da56e";
-  integrity 
sha512-U44lELgLZhbAD/xy/vncZ2Pq8sh2TnpiPvo38Ifg9+zeioR+LAkHu0i6YORIOxFafZoVg0xqQwex6e6F25S5XA==
-
 stylelint-config-recommended@^10.0.1:
   version "10.0.1"
   resolved 
"https://registry.yarnpkg.com/stylelint-config-recommended/-/stylelint-config-recommended-10.0.1.tgz#25a8828acf6cde87dac6db2950c8c4ed82a69ae1";
@@ -12152,15 +12086,10 @@
   resolved 
"https://registry.yarnpkg.com/typeson/-/typeson-6.1.0.tgz#5b2a53705a5f58ff4d6f82f965917cabd0d7448b";
   integrity 
sha512-6FTtyGr8ldU0pfbvW/eOZrEtEkczHRUtduBnA90Jh9kMPCiFNnXIon3vF41N0S4tV1HHQt4Hk1j4srpESziCaA==
 
-ua-parser-js@^0.7.30:
-  version "0.7.33"
-  resolved 
"https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.33.tgz#1d04acb4ccef9293df6f70f2c3d22f3030d8b532";
-  integrity 
sha512-s8ax/CeZdK9R/56Sui0WM6y9OFREJarMRHqLB2EwkovemBxNQ+Bqu8GAsUnVcXKgphb++ghr/B2BZx4mahujPw==
-
 ua-parser-js@^1.0.0, ua-parser-js@^1.0.2:
-  version "1.0.33"
-  resolved 
"https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-1.0.33.tgz#f21f01233e90e7ed0f059ceab46eb190ff17f8f4";
-  integrity 
sha512-RqshF7TPTE0XLYAqmjlu5cLLuGdKrNu9O1KLA/qp39QtbZwuzwv1dT46DZSopoUMsYgXpB3Cv8a03FI8b74oFQ==
+  version "1.0.34"
+  resolved 
"https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-1.0.34.tgz#b33f41c415325839f354005d25a2f588be296976";
+  integrity 
sha512-K9mwJm/DaB6mRLZfw6q8IMXipcrmuT6yfhYmwhAkuh+81sChuYstYA+znlgaflUPaYUa3odxKPKGw6Vw/lANew==
 
 uc.micro@^1.0.1, uc.micro@^1.0.5:
   version "1.0.6"

++++++ npm-packages-offline-cache.tar.gz ++++++
/work/SRC/openSUSE:Factory/element-web/npm-packages-offline-cache.tar.gz 
/work/SRC/openSUSE:Factory/.element-web.new.19717/npm-packages-offline-cache.tar.gz
 differ: char 13, line 1

Reply via email to