Skip to content

Commit 1ad4250

Browse files
committed
Merge tag 'v3.45.0' into sc
* Go to space landing page when clicking on a selected space ([\matrix-org#6442](matrix-org#6442)). Fixes element-hq/element-web#20296. * Fall back to untranslated string rather than showing missing translation error ([\matrix-org#8609](matrix-org#8609)). * Show file name and size on images on hover ([\matrix-org#6511](matrix-org#6511)). Fixes element-hq/element-web#18197. * Iterate on search results for message bubbles ([\matrix-org#7047](matrix-org#7047)). Fixes element-hq/element-web#20315. * registration: redesign email verification page ([\matrix-org#8554](matrix-org#8554)). Fixes element-hq/element-web#21984. * Show full thread message in hover title on thread summary ([\matrix-org#8568](matrix-org#8568)). Fixes element-hq/element-web#22037. * Tweak video rooms copy ([\matrix-org#8582](matrix-org#8582)). Fixes element-hq/element-web#22176. * Live location share - beacon tooltip in maximised view ([\matrix-org#8572](matrix-org#8572)). * Add dialog to navigate long room topics ([\matrix-org#8517](matrix-org#8517)). Fixes element-hq/element-web#9623. * Change spaceroomfacepile tooltip if memberlist is shown ([\matrix-org#8571](matrix-org#8571)). Fixes element-hq/element-web#17406. * Improve message editing UI ([\matrix-org#8483](matrix-org#8483)). Fixes element-hq/element-web#9752 and element-hq/element-web#22108. * Make date changes more obvious ([\matrix-org#6410](matrix-org#6410)). Fixes element-hq/element-web#16221. * Enable forwarding static locations ([\matrix-org#8553](matrix-org#8553)). * Log `TimelinePanel` debugging info when opening the bug report modal ([\matrix-org#8502](matrix-org#8502)). * Improve welcome screen, add opt-out analytics ([\matrix-org#8474](matrix-org#8474)). Fixes element-hq/element-web#21946. * Converting selected text to MD link when pasting a URL ([\matrix-org#8242](matrix-org#8242)). Fixes element-hq/element-web#21634. Contributed by @Sinharitik589. * Support Inter on custom themes ([\matrix-org#8399](matrix-org#8399)). Fixes element-hq/element-web#16293. * Add a `Copy link` button to the right-click message context-menu labs feature ([\matrix-org#8527](matrix-org#8527)). * Move widget screenshots labs flag to devtools ([\matrix-org#8522](matrix-org#8522)). * Remove some labs features which don't get used or create maintenance burden: custom status, multiple integration managers, and do not disturb ([\matrix-org#8521](matrix-org#8521)). * Add a way to toggle `ScrollPanel` and `TimelinePanel` debug logs ([\matrix-org#8513](matrix-org#8513)). * Spaces: remove blue beta dot ([\matrix-org#8511](matrix-org#8511)). Fixes element-hq/element-web#22061. * Order new search dialog results by recency ([\matrix-org#8444](matrix-org#8444)). * Improve pills ([\matrix-org#6398](matrix-org#6398)). Fixes element-hq/element-web#16948 and element-hq/element-web#21281. * Add a way to maximize/pin widget from the PiP view ([\matrix-org#7672](matrix-org#7672)). Fixes element-hq/element-web#20723. * Iterate video room designs in labs ([\matrix-org#8499](matrix-org#8499)). * Improve UI/UX in calls ([\matrix-org#7791](matrix-org#7791)). Fixes element-hq/element-web#19937. * Add ability to change audio and video devices during a call ([\matrix-org#7173](matrix-org#7173)). Fixes element-hq/element-web#15595. * Fix click behavior of notification badges on spaces ([\matrix-org#8627](matrix-org#8627)). Fixes element-hq/element-web#22241. * Add missing return values in Read Receipt animation code ([\matrix-org#8625](matrix-org#8625)). Fixes element-hq/element-web#22175. * Fix 'continue' button not working after accepting identity server terms of service ([\matrix-org#8619](matrix-org#8619)). Fixes element-hq/element-web#20003. * Proactively fix stuck devices in video rooms ([\matrix-org#8587](matrix-org#8587)). Fixes element-hq/element-web#22131. * Fix position of the message action bar on left side bubbles ([\matrix-org#8398](matrix-org#8398)). Fixes element-hq/element-web#21879. Contributed by @luixxiul. * Fix edge case thread summaries around events without a msgtype ([\matrix-org#8576](matrix-org#8576)). * Fix favourites metaspace not updating ([\matrix-org#8594](matrix-org#8594)). Fixes element-hq/element-web#22156. * Stop spaces from displaying as rooms in new breadcrumbs ([\matrix-org#8595](matrix-org#8595)). Fixes element-hq/element-web#22165. * Fix avatar position of hidden event on ThreadView ([\matrix-org#8592](matrix-org#8592)). Fixes element-hq/element-web#22199. Contributed by @luixxiul. * Fix MessageTimestamp position next to redacted messages on IRC/modern layout ([\matrix-org#8591](matrix-org#8591)). Fixes element-hq/element-web#22181. Contributed by @luixxiul. * Fix padding of messages in threads ([\matrix-org#8574](matrix-org#8574)). Contributed by @luixxiul. * Enable overflow of hidden events content ([\matrix-org#8585](matrix-org#8585)). Fixes element-hq/element-web#22187. Contributed by @luixxiul. * Increase composer line height to avoid cutting off emoji ([\matrix-org#8583](matrix-org#8583)). Fixes element-hq/element-web#22170. * Don't consider threads for breaking continuation until actually created ([\matrix-org#8581](matrix-org#8581)). Fixes element-hq/element-web#22164. * Fix displaying hidden events on threads ([\matrix-org#8555](matrix-org#8555)). Fixes element-hq/element-web#22058. Contributed by @luixxiul. * Fix button width and align 絵文字 (emoji) on the user panel ([\matrix-org#8562](matrix-org#8562)). Fixes element-hq/element-web#22142. Contributed by @luixxiul. * Standardise the margin for settings tabs ([\matrix-org#7963](matrix-org#7963)). Fixes element-hq/element-web#20767. Contributed by @yuktea. * Fix room history not being visible even if we have historical keys ([\matrix-org#8563](matrix-org#8563)). Fixes element-hq/element-web#16983. * Fix oblong avatars in video room lobbies ([\matrix-org#8565](matrix-org#8565)). * Update thread summary when latest event gets decrypted ([\matrix-org#8564](matrix-org#8564)). Fixes element-hq/element-web#22151. * Fix codepath which can wrongly cause automatic space switch from all rooms ([\matrix-org#8560](matrix-org#8560)). Fixes element-hq/element-web#21373. * Fix effect of URL preview toggle not updating live ([\matrix-org#8561](matrix-org#8561)). Fixes element-hq/element-web#22148. * Fix visual bugs on AccessSecretStorageDialog ([\matrix-org#8160](matrix-org#8160)). Fixes element-hq/element-web#19426. Contributed by @luixxiul. * Fix the width bounce of the clock on the AudioPlayer ([\matrix-org#8320](matrix-org#8320)). Fixes element-hq/element-web#21788. Contributed by @luixxiul. * Hide the verification left stroke only on the thread list ([\matrix-org#8525](matrix-org#8525)). Fixes element-hq/element-web#22132. Contributed by @luixxiul. * Hide recently_viewed dropdown when other modal opens ([\matrix-org#8538](matrix-org#8538)). Contributed by @yaya-usman. * Only jump to date after pressing the 'go' button ([\matrix-org#8548](matrix-org#8548)). Fixes element-hq/element-web#20799. * Fix download button not working on events that were decrypted too late ([\matrix-org#8556](matrix-org#8556)). Fixes element-hq/element-web#19427. * Align thread summary button with bubble messages on the left side ([\matrix-org#8388](matrix-org#8388)). Fixes element-hq/element-web#21873. Contributed by @luixxiul. * Fix unresponsive notification toggles ([\matrix-org#8549](matrix-org#8549)). Fixes element-hq/element-web#22109. * Set color-scheme property in themes ([\matrix-org#8547](matrix-org#8547)). Fixes element-hq/element-web#22124. * Improve the styling of error messages during search initialization. ([\matrix-org#6899](matrix-org#6899)). Fixes element-hq/element-web#19245 and element-hq/element-web#18164. Contributed by @KalleStruik. * Don't leave button tooltips open when closing modals ([\matrix-org#8546](matrix-org#8546)). Fixes element-hq/element-web#22121. * update matrix-analytics-events ([\matrix-org#8543](matrix-org#8543)). * Handle Jitsi Meet crashes more gracefully ([\matrix-org#8541](matrix-org#8541)). * Fix regression around pasting links ([\matrix-org#8537](matrix-org#8537)). Fixes element-hq/element-web#22117. * Fixes suggested room not ellipsized on shrinking ([\matrix-org#8536](matrix-org#8536)). Contributed by @yaya-usman. * Add global spacing between display name and location body ([\matrix-org#8523](matrix-org#8523)). Fixes element-hq/element-web#22111. Contributed by @luixxiul. * Add box-shadow to the reply preview on the main (left) panel only ([\matrix-org#8397](matrix-org#8397)). Fixes element-hq/element-web#21894. Contributed by @luixxiul. * Set line-height: 1 to RedactedBody inside GenericEventListSummary for IRC/modern layout ([\matrix-org#8529](matrix-org#8529)). Fixes element-hq/element-web#22112. Contributed by @luixxiul. * Fix position of timestamp on the chat panel in IRC layout and message edits history modal window ([\matrix-org#8464](matrix-org#8464)). Fixes element-hq/element-web#22011 and element-hq/element-web#22014. Contributed by @luixxiul. * Fix unexpected and inconsistent inheritance of line-height property for mx_TextualEvent ([\matrix-org#8485](matrix-org#8485)). Fixes element-hq/element-web#22041. Contributed by @luixxiul. * Set the same margin to the right side of NewRoomIntro on TimelineCard ([\matrix-org#8453](matrix-org#8453)). Contributed by @luixxiul. * Remove duplicate tooltip from user pills ([\matrix-org#8512](matrix-org#8512)). * Set max-width for MLocationBody and MLocationBody_map by default ([\matrix-org#8519](matrix-org#8519)). Fixes element-hq/element-web#21983. Contributed by @luixxiul. * Simplify ReplyPreview UI implementation ([\matrix-org#8516](matrix-org#8516)). Fixes element-hq/element-web#22091. Contributed by @luixxiul. * Fix thread summary overflow on narrow message panel on bubble message layout ([\matrix-org#8520](matrix-org#8520)). Fixes element-hq/element-web#22097. Contributed by @luixxiul. * Live location sharing - refresh beacon timers on tab becoming active ([\matrix-org#8515](matrix-org#8515)). * Enlarge emoji again ([\matrix-org#8509](matrix-org#8509)). Fixes element-hq/element-web#22086. * Order receipts with the most recent on the right ([\matrix-org#8506](matrix-org#8506)). Fixes element-hq/element-web#22044. * Disconnect from video rooms when leaving ([\matrix-org#8500](matrix-org#8500)). * Fix soft crash around threads when room isn't yet in store ([\matrix-org#8496](matrix-org#8496)). Fixes element-hq/element-web#22047. * Fix reading of cached room device setting values ([\matrix-org#8491](matrix-org#8491)). * Add loading spinners to threads panels ([\matrix-org#8490](matrix-org#8490)). Fixes element-hq/element-web#21335. * Fix forwarding UI papercuts ([\matrix-org#8482](matrix-org#8482)). Fixes element-hq/element-web#17616.
2 parents 1584861 + b5fdf11 commit 1ad4250

File tree

432 files changed

+9097
-5547
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

432 files changed

+9097
-5547
lines changed

.eslintrc.js

+2
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,8 @@ module.exports = {
8686
"jsx-a11y/no-static-element-interactions": "off",
8787
"jsx-a11y/role-supports-aria-props": "off",
8888
"jsx-a11y/tabindex-no-positive": "off",
89+
90+
"matrix-org/require-copyright-header": "error",
8991
},
9092
overrides: [
9193
{

.github/workflows/element-build-and-test.yaml

+21-1
Original file line numberDiff line numberDiff line change
@@ -67,14 +67,20 @@ jobs:
6767
- name: Run Cypress tests
6868
uses: cypress-io/github-action@v2
6969
with:
70-
# The built in Electron runner seems to grind to a halt trying
70+
# The built-in Electron runner seems to grind to a halt trying
7171
# to run the tests, so use chrome.
7272
browser: chrome
7373
start: npx serve -p 8080 webapp
7474
record: true
75+
command-prefix: 'yarn percy exec --'
7576
env:
7677
# pass the Dashboard record key as an environment variable
7778
CYPRESS_RECORD_KEY: ${{ secrets.CYPRESS_RECORD_KEY }}
79+
# pass the Percy token as an environment variable
80+
PERCY_TOKEN: ${{ secrets.PERCY_TOKEN }}
81+
# Use existing chromium rather than downloading another
82+
PUPPETEER_SKIP_CHROMIUM_DOWNLOAD: true
83+
PERCY_BROWSER_EXECUTABLE: /usr/bin/chromium-browser
7884
# pass GitHub token to allow accurately detecting a build vs a re-run build
7985
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
8086

@@ -88,6 +94,20 @@ jobs:
8894
cypress/videos
8995
cypress/synapselogs
9096
97+
- name: Store benchmark result
98+
if: github.ref == 'refs/heads/develop'
99+
uses: matrix-org/github-action-benchmark@jsperfentry-1
100+
with:
101+
name: Cypress measurements
102+
tool: 'jsperformanceentry'
103+
output-file-path: cypress/performance/measurements.json
104+
# The dashboard is available at https://matrix-org.github.io/matrix-react-sdk/cypress/bench/
105+
benchmark-data-dir-path: cypress/bench
106+
fail-on-alert: false
107+
comment-on-alert: false
108+
github-token: ${{ secrets.DEPLOY_GH_PAGES }}
109+
auto-push: ${{ github.ref == 'refs/heads/develop' }}
110+
91111
app-tests:
92112
name: Element Web Integration Tests
93113
runs-on: ubuntu-latest

.github/workflows/pull_request.yaml

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
11
name: Pull Request
22
on:
33
pull_request_target:
4-
types: [ opened, edited, labeled, unlabeled ]
4+
types: [ opened, edited, labeled, unlabeled, synchronize ]
55
jobs:
66
changelog:
77
name: Preview Changelog
8+
if: github.event.action != 'synchronize'
89
runs-on: ubuntu-latest
910
steps:
1011
- uses: matrix-org/allchange@main

.github/workflows/sonarqube.yml

+29-39
Original file line numberDiff line numberDiff line change
@@ -4,44 +4,34 @@ on:
44
workflows: [ "Tests" ]
55
types:
66
- completed
7+
concurrency:
8+
group: ${{ github.workflow }}-${{ github.ref }}
9+
cancel-in-progress: true
710
jobs:
8-
sonarqube:
9-
name: SonarQube
10-
runs-on: ubuntu-latest
11-
if: github.event.workflow_run.conclusion == 'success'
12-
steps:
13-
- uses: actions/checkout@v2
14-
with:
15-
fetch-depth: 0 # Shallow clones should be disabled for a better relevancy of analysis
16-
17-
# There's a 'download artifact' action, but it hasn't been updated for the workflow_run action
18-
# (https://github.com/actions/download-artifact/issues/60) so instead we get this mess:
19-
- name: Download Coverage Report
20-
uses: actions/[email protected]
21-
with:
22-
script: |
23-
const artifacts = await github.actions.listWorkflowRunArtifacts({
24-
owner: context.repo.owner,
25-
repo: context.repo.repo,
26-
run_id: ${{ github.event.workflow_run.id }},
27-
});
28-
const matchArtifact = artifacts.data.artifacts.filter((artifact) => {
29-
return artifact.name == "coverage"
30-
})[0];
31-
const download = await github.actions.downloadArtifact({
32-
owner: context.repo.owner,
33-
repo: context.repo.repo,
34-
artifact_id: matchArtifact.id,
35-
archive_format: 'zip',
36-
});
37-
const fs = require('fs');
38-
fs.writeFileSync('${{github.workspace}}/coverage.zip', Buffer.from(download.data));
11+
prdetails:
12+
name: ℹ️ PR Details
13+
if: github.event.workflow_run.conclusion == 'success' && github.event.workflow_run.event == 'pull_request'
14+
uses: matrix-org/matrix-js-sdk/.github/workflows/pr_details.yml@develop
15+
with:
16+
owner: ${{ github.event.workflow_run.head_repository.owner.login }}
17+
branch: ${{ github.event.workflow_run.head_branch }}
3918

40-
- name: Extract Coverage Report
41-
run: unzip -d coverage coverage.zip && rm coverage.zip
42-
43-
- name: SonarCloud Scan
44-
uses: SonarSource/sonarcloud-github-action@master
45-
env:
46-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Needed to get PR information, if any
47-
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
19+
sonarqube:
20+
name: 🩻 SonarQube
21+
needs: prdetails
22+
# Only wait for prdetails if it isn't skipped
23+
if: |
24+
always() &&
25+
(needs.prdetails.result == 'success' || needs.prdetails.result == 'skipped') &&
26+
github.event.workflow_run.conclusion == 'success'
27+
uses: matrix-org/matrix-js-sdk/.github/workflows/sonarcloud.yml@develop
28+
with:
29+
repo: ${{ github.event.workflow_run.head_repository.full_name }}
30+
pr_id: ${{ needs.prdetails.outputs.pr_id }}
31+
head_branch: ${{ needs.prdetails.outputs.head_branch || github.event.workflow_run.head_branch }}
32+
base_branch: ${{ needs.prdetails.outputs.base_branch }}
33+
revision: ${{ github.event.workflow_run.head_sha }}
34+
coverage_workflow_name: tests.yml
35+
coverage_run_id: ${{ github.event.workflow_run.id }}
36+
secrets:
37+
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}

.github/workflows/static_analysis.yaml

+5-2
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ jobs:
4747

4848
- name: "Get modified files"
4949
id: changed_files
50-
if: github.event_name == 'pull_request'
50+
if: github.event_name == 'pull_request' && github.actor != 'RiotTranslateBot'
5151
uses: tj-actions/changed-files@v19
5252
with:
5353
files: |
@@ -56,7 +56,10 @@ jobs:
5656
src/i18n/strings/en_EN.json
5757
5858
- name: "Assert only en_EN was modified"
59-
if: github.event_name == 'pull_request' && steps.changed_files.outputs.any_modified == 'true'
59+
if: |
60+
github.event_name == 'pull_request' &&
61+
github.actor != 'RiotTranslateBot' &&
62+
steps.changed_files.outputs.any_modified == 'true'
6063
run: |
6164
echo "You can only modify en_EN.json, do not touch any of the other i18n files as Weblate will be confused"
6265
exit 1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
name: Upgrade Dependencies
2+
on:
3+
workflow_dispatch: { }
4+
jobs:
5+
upgrade:
6+
uses: matrix-org/matrix-js-sdk/.github/workflows/upgrade_dependencies.yml@develop
7+
secrets:
8+
ELEMENT_BOT_TOKEN: ${{ secrets.ELEMENT_BOT_TOKEN }}

.gitignore

+1
Original file line numberDiff line numberDiff line change
@@ -28,3 +28,4 @@ package-lock.json
2828
# These could have files in them but don't currently
2929
# Cypress will still auto-create them though...
3030
/cypress/fixtures
31+
/cypress/performance

.percy.yml

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
version: 2
2+
snapshot:
3+
widths:
4+
- 1024
5+
- 1920

0 commit comments

Comments
 (0)