Skip to content

Commit

Permalink
Merge tag 'v3.44.0' into sc
Browse files Browse the repository at this point in the history
* Made the location map change the cursor to a pointer so it looks like it's clickable (https ([\matrix-org#8451](matrix-org#8451)). Fixes element-hq/element-web#21991. Contributed by @Odyssey346.
* Implement improved spacing for the thread list and timeline ([\matrix-org#8337](matrix-org#8337)). Fixes element-hq/element-web#21759. Contributed by @luixxiul.
* LLS: expose way to enable live sharing labs flag from location dialog ([\matrix-org#8416](matrix-org#8416)).
* Fix source text boxes in View Source modal should have full width ([\matrix-org#8425](matrix-org#8425)). Fixes element-hq/element-web#21938. Contributed by @EECvision.
* Read Receipts: never show +1, if it’s just 4, show all of them ([\matrix-org#8428](matrix-org#8428)). Fixes element-hq/element-web#21935.
* Add opt-in analytics to onboarding tasks ([\matrix-org#8409](matrix-org#8409)). Fixes element-hq/element-web#21705.
* Allow user to control if they are signed out of all devices when changing password ([\matrix-org#8259](matrix-org#8259)). Fixes element-hq/element-web#2671.
* Implement new Read Receipt design ([\matrix-org#8389](matrix-org#8389)). Fixes element-hq/element-web#20574.
* Stick connected video rooms to the top of the room list ([\matrix-org#8353](matrix-org#8353)).
* LLS: fix jumpy maximised map ([\matrix-org#8387](matrix-org#8387)).
* Persist audio and video mute state in video rooms ([\matrix-org#8376](matrix-org#8376)).
* Forcefully disconnect from video rooms on logout and tab close ([\matrix-org#8375](matrix-org#8375)).
* Add local echo of connected devices in video rooms ([\matrix-org#8368](matrix-org#8368)).
* Improve text of account deactivation dialog ([\matrix-org#8371](matrix-org#8371)). Fixes element-hq/element-web#17421.
* Live location sharing: own live beacon status on maximised view ([\matrix-org#8374](matrix-org#8374)).
* Show a lobby screen in video rooms ([\matrix-org#8287](matrix-org#8287)).
* Settings toggle to disable Composer Markdown ([\matrix-org#8358](matrix-org#8358)). Fixes element-hq/element-web#20321.
* Cache localStorage objects for SettingsStore ([\matrix-org#8366](matrix-org#8366)).
* Bring `View Source` back from behind developer mode ([\matrix-org#8369](matrix-org#8369)). Fixes element-hq/element-web#21771.
* Fix race conditions around threads ([\matrix-org#8448](matrix-org#8448)). Fixes element-hq/element-web#21627.
* Fix reading of cached room device setting values ([\matrix-org#8495](matrix-org#8495)).
* Fix issue with dispatch happening mid-dispatch due to js-sdk emit ([\matrix-org#8473](matrix-org#8473)). Fixes element-hq/element-web#22019.
* Match MSC behaviour for threads when disabled (thread-aware mode) ([\matrix-org#8476](matrix-org#8476)). Fixes element-hq/element-web#22033.
* Specify position of DisambiguatedProfile inside a thread on bubble message layout ([\matrix-org#8452](matrix-org#8452)). Fixes element-hq/element-web#21998. Contributed by @luixxiul.
* Location sharing: do not trackuserlocation in location picker ([\matrix-org#8466](matrix-org#8466)). Fixes element-hq/element-web#22013.
* fix text and map indent in thread view ([\matrix-org#8462](matrix-org#8462)). Fixes element-hq/element-web#21997.
* Live location sharing: don't group beacon info with room creation summary ([\matrix-org#8468](matrix-org#8468)).
* Don't linkify code blocks ([\matrix-org#7859](matrix-org#7859)). Fixes element-hq/element-web#9613.
* read receipts: improve tooltips to show names of users ([\matrix-org#8438](matrix-org#8438)). Fixes element-hq/element-web#21940.
* Fix poll overflowing a reply tile on bubble message layout ([\matrix-org#8459](matrix-org#8459)). Fixes element-hq/element-web#22005. Contributed by @luixxiul.
* Fix text link buttons on UserInfo panel ([\matrix-org#8247](matrix-org#8247)). Fixes element-hq/element-web#21702. Contributed by @luixxiul.
* Clear local storage settings handler cache on logout ([\matrix-org#8454](matrix-org#8454)). Fixes element-hq/element-web#21994.
* Fix jump to bottom button being always displayed in non-overflowing timelines ([\matrix-org#8460](matrix-org#8460)). Fixes element-hq/element-web#22003.
* fix timeline search with empty text box should do nothing ([\matrix-org#8262](matrix-org#8262)). Fixes element-hq/element-web#21714. Contributed by @EECvision.
* Fixes "space panel kebab menu is rendered out of view on sub spaces"  ([\matrix-org#8350](matrix-org#8350)). Contributed by @yaya-usman.
* Add margin to the location map inside ThreadView ([\matrix-org#8442](matrix-org#8442)). Fixes element-hq/element-web#21982. Contributed by @luixxiul.
* Patch: "Reloading the registration page should warn about data loss" ([\matrix-org#8377](matrix-org#8377)). Contributed by @yaya-usman.
* Live location sharing: fix safari timestamps pt 2 ([\matrix-org#8443](matrix-org#8443)).
* Fix issue with thread notification state ignoring initial events ([\matrix-org#8417](matrix-org#8417)). Fixes element-hq/element-web#21927.
* Fix event text overflow on bubble message layout ([\matrix-org#8391](matrix-org#8391)). Fixes element-hq/element-web#21882. Contributed by @luixxiul.
* Disable the message action bar when hovering over the 1px border between threads on the list ([\matrix-org#8429](matrix-org#8429)). Fixes element-hq/element-web#21955. Contributed by @luixxiul.
* correctly align read receipts to state events in bubble layout ([\matrix-org#8419](matrix-org#8419)). Fixes element-hq/element-web#21899.
* Fix issue with underfilled timelines when barren of content ([\matrix-org#8432](matrix-org#8432)). Fixes element-hq/element-web#21930.
* Fix baseline misalignment of thread panel summary by deduplication ([\matrix-org#8413](matrix-org#8413)).
* Fix editing of non-html replies ([\matrix-org#8418](matrix-org#8418)). Fixes element-hq/element-web#21928.
* Read Receipts "Fall from the Sky" ([\matrix-org#8414](matrix-org#8414)). Fixes element-hq/element-web#21888.
* Make read receipts handle nullable roomMembers correctly ([\matrix-org#8410](matrix-org#8410)). Fixes element-hq/element-web#21896.
* Don't form continuations on either side of a thread root ([\matrix-org#8408](matrix-org#8408)). Fixes element-hq/element-web#20908.
* Fix centering issue with sticker placeholder ([\matrix-org#8404](matrix-org#8404)). Fixes element-hq/element-web#18014 and element-hq/element-web#6449.
* Disable download option on <video/> , preferring dedicated download button ([\matrix-org#8403](matrix-org#8403)). Fixes element-hq/element-web#21902.
* Fix infinite loop when pinning/unpinning persistent widgets ([\matrix-org#8396](matrix-org#8396)). Fixes element-hq/element-web#21864.
* Tweak ReadReceiptGroup to better handle disambiguation ([\matrix-org#8402](matrix-org#8402)). Fixes element-hq/element-web#21897.
* stop the bottom edge of buttons getting clipped in devtools ([\matrix-org#8400](matrix-org#8400)).
* Fix issue with threads timelines with few events cropping events ([\matrix-org#8392](matrix-org#8392)). Fixes element-hq/element-web#20594.
* Changed font-weight to 400 to support light weight font ([\matrix-org#8345](matrix-org#8345)). Fixes element-hq/element-web#21171. Contributed by @goelesha.
* Fix issue with thread panel not updating when it loads on first render ([\matrix-org#8382](matrix-org#8382)). Fixes element-hq/element-web#21737.
* fix: "Mention highlight and cursor hover highlight has different corner radius" ([\matrix-org#8384](matrix-org#8384)). Contributed by @yaya-usman.
* Fix regression around haveRendererForEvent for hidden events ([\matrix-org#8379](matrix-org#8379)). Fixes element-hq/element-web#21862 and element-hq/element-web#21725.
* Fix regression around the room list treeview keyboard a11y ([\matrix-org#8385](matrix-org#8385)). Fixes element-hq/element-web#21436.
* Remove float property to let the margin between events appear on bubble message layout ([\matrix-org#8373](matrix-org#8373)). Fixes element-hq/element-web#21861. Contributed by @luixxiul.
* Fix race in Registration between server change and flows fetch ([\matrix-org#8359](matrix-org#8359)). Fixes element-hq/element-web#21800.
* fix rainbow breaks compound emojis ([\matrix-org#8245](matrix-org#8245)). Fixes element-hq/element-web#21371. Contributed by @EECvision.
* Fix RightPanelStore handling first room on app launch wrong ([\matrix-org#8370](matrix-org#8370)). Fixes element-hq/element-web#21741.
* Fix UnknownBody error message unalignment ([\matrix-org#8346](matrix-org#8346)). Fixes element-hq/element-web#21828. Contributed by @luixxiul.
* Use -webkit-line-clamp for the room header topic overflow ([\matrix-org#8367](matrix-org#8367)). Fixes element-hq/element-web#21852. Contributed by @luixxiul.
* Fix issue with ServerInfo crashing the modal ([\matrix-org#8364](matrix-org#8364)).
* Fixes around threads beta in degraded mode ([\matrix-org#8319](matrix-org#8319)). Fixes element-hq/element-web#21762.
  • Loading branch information
su-ex committed May 10, 2022
2 parents 1bddcc8 + 6d0e44c commit 4a0d9fe
Show file tree
Hide file tree
Showing 216 changed files with 8,305 additions and 2,813 deletions.
3 changes: 3 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
Expand Up @@ -21,3 +21,6 @@ insert_final_newline = true
indent_style = space
indent_size = 4
trim_trailing_whitespace = true

[*.{yml,yaml}]
indent_size = 2
137 changes: 95 additions & 42 deletions .github/workflows/element-build-and-test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,47 +3,100 @@
# as an artifact and run integration tests.
name: Element Web - Build and Test
on:
pull_request:
pull_request: { }
push:
branches: [ develop, master ]
repository_dispatch:
types: [ upstream-sdk-notify ]
env:
# These must be set for fetchdep.sh to get the right branch
REPOSITORY: ${{ github.repository }}
PR_NUMBER: ${{ github.event.pull_request.number }}
jobs:
build:
runs-on: ubuntu-latest
build:
name: "Build Element-Web"
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2

- uses: actions/setup-node@v3
with:
cache: 'yarn'

- name: Fetch layered build
id: layered_build
run: |
scripts/ci/layered.sh
JSSDK_SHA=$(git -C matrix-js-sdk rev-parse --short=12 HEAD)
REACT_SHA=$(git rev-parse --short=12 HEAD)
VECTOR_SHA=$(git -C element-web rev-parse --short=12 HEAD)
echo "::set-output name=VERSION::$VECTOR_SHA-react-$REACT_SHA-js-$JSSDK_SHA"
- name: Copy config
run: cp element.io/develop/config.json config.json
working-directory: ./element-web

- name: Build
env:
# This must be set for fetchdep.sh to get the right branch
PR_NUMBER: ${{github.event.number}}
steps:
- uses: actions/checkout@v2
- name: Build
run: scripts/ci/layered.sh && cd element-web && cp element.io/develop/config.json config.json && CI_PACKAGE=true yarn build
- name: Upload Artifact
uses: actions/upload-artifact@v2
with:
name: previewbuild
path: element-web/webapp
# We'll only use this in a triggered job, then we're done with it
retention-days: 1
cypress:
needs: build
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Download build
uses: actions/download-artifact@v3
with:
name: previewbuild
path: webapp
- name: Run Cypress tests
uses: cypress-io/github-action@v2
with:
# The built in Electron runner seems to grind to a halt trying
# to run the tests, so use chrome.
browser: chrome
start: npx serve -p 8080 webapp
- name: Upload Artifact
if: failure()
uses: actions/upload-artifact@v2
with:
name: cypress-results
path: |
cypress/screenshots
cypress/videos
cypress/synapselogs
CI_PACKAGE: true
VERSION: "${{ steps.layered_build.outputs.VERSION }}"
run: yarn build
working-directory: ./element-web

- name: Upload Artifact
uses: actions/upload-artifact@v2
with:
name: previewbuild
path: element-web/webapp
# We'll only use this in a triggered job, then we're done with it
retention-days: 1

cypress:
name: "Cypress End to End Tests"
needs: build
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2

- name: Download build
uses: actions/download-artifact@v3
with:
name: previewbuild
path: webapp

- name: Run Cypress tests
uses: cypress-io/github-action@v2
with:
# The built in Electron runner seems to grind to a halt trying
# to run the tests, so use chrome.
browser: chrome
start: npx serve -p 8080 webapp
record: true
env:
# pass the Dashboard record key as an environment variable
CYPRESS_RECORD_KEY: ${{ secrets.CYPRESS_RECORD_KEY }}
# pass GitHub token to allow accurately detecting a build vs a re-run build
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

- name: Upload Artifact
if: failure()
uses: actions/upload-artifact@v2
with:
name: cypress-results
path: |
cypress/screenshots
cypress/videos
cypress/synapselogs
app-tests:
name: Element Web Integration Tests
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2

- uses: actions/setup-node@v3
with:
cache: 'yarn'

- name: Run tests
run: "./scripts/ci/app-tests.sh"
24 changes: 24 additions & 0 deletions .github/workflows/pull_request.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
name: Pull Request
on:
pull_request_target:
types: [ opened, edited, labeled, unlabeled ]
jobs:
changelog:
name: Preview Changelog
runs-on: ubuntu-latest
steps:
- uses: matrix-org/allchange@main
with:
ghToken: ${{ secrets.GITHUB_TOKEN }}

enforce-label:
name: Enforce Labels
runs-on: ubuntu-latest
permissions:
pull-requests: read
steps:
- uses: yogevbd/enforce-label-action@2.1.0
with:
REQUIRED_LABELS_ANY: "T-Defect,T-Enhancement,T-Task"
BANNED_LABELS: "X-Blocked"
BANNED_LABELS_DESCRIPTION: "Preventing merge whilst PR is marked blocked!"
47 changes: 47 additions & 0 deletions .github/workflows/sonarqube.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
name: SonarQube
on:
workflow_run:
workflows: [ "Tests" ]
types:
- completed
jobs:
sonarqube:
name: SonarQube
runs-on: ubuntu-latest
if: github.event.workflow_run.conclusion == 'success'
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 0 # Shallow clones should be disabled for a better relevancy of analysis

# There's a 'download artifact' action, but it hasn't been updated for the workflow_run action
# (https://github.com/actions/download-artifact/issues/60) so instead we get this mess:
- name: Download Coverage Report
uses: actions/github-script@v3.1.0
with:
script: |
const artifacts = await github.actions.listWorkflowRunArtifacts({
owner: context.repo.owner,
repo: context.repo.repo,
run_id: ${{ github.event.workflow_run.id }},
});
const matchArtifact = artifacts.data.artifacts.filter((artifact) => {
return artifact.name == "coverage"
})[0];
const download = await github.actions.downloadArtifact({
owner: context.repo.owner,
repo: context.repo.repo,
artifact_id: matchArtifact.id,
archive_format: 'zip',
});
const fs = require('fs');
fs.writeFileSync('${{github.workspace}}/coverage.zip', Buffer.from(download.data));
- name: Extract Coverage Report
run: unzip -d coverage coverage.zip && rm coverage.zip

- name: SonarCloud Scan
uses: SonarSource/sonarcloud-github-action@master
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Needed to get PR information, if any
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
107 changes: 107 additions & 0 deletions .github/workflows/static_analysis.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,107 @@
name: Static Analysis
on:
pull_request: { }
push:
branches: [ develop, master ]
repository_dispatch:
types: [ upstream-sdk-notify ]
env:
# These must be set for fetchdep.sh to get the right branch
REPOSITORY: ${{ github.repository }}
PR_NUMBER: ${{ github.event.pull_request.number }}
jobs:
ts_lint:
name: "Typescript Syntax Check"
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2

- uses: actions/setup-node@v3
with:
cache: 'yarn'

- name: Install Deps
run: "./scripts/ci/install-deps.sh --ignore-scripts"

- name: Typecheck
run: "yarn run lint:types"

- name: Switch js-sdk to release mode
run: |
scripts/ci/js-sdk-to-release.js
cd node_modules/matrix-js-sdk
yarn install
yarn run build:compile
yarn run build:types
- name: Typecheck (release mode)
run: "yarn run lint:types"

i18n_lint:
name: "i18n Check"
runs-on: ubuntu-latest
permissions:
pull-requests: read
steps:
- uses: actions/checkout@v2

- name: "Get modified files"
id: changed_files
if: github.event_name == 'pull_request'
uses: tj-actions/changed-files@v19
with:
files: |
src/i18n/strings/*
files_ignore: |
src/i18n/strings/en_EN.json
- name: "Assert only en_EN was modified"
if: github.event_name == 'pull_request' && steps.changed_files.outputs.any_modified == 'true'
run: |
echo "You can only modify en_EN.json, do not touch any of the other i18n files as Weblate will be confused"
exit 1
- uses: actions/setup-node@v3
with:
cache: 'yarn'

# Does not need branch matching as only analyses this layer
- name: Install Deps
run: "yarn install"

- name: i18n Check
run: "yarn run diff-i18n"

js_lint:
name: "ESLint"
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2

- uses: actions/setup-node@v3
with:
cache: 'yarn'

# Does not need branch matching as only analyses this layer
- name: Install Deps
run: "yarn install"

- name: Run Linter
run: "yarn run lint:js"

style_lint:
name: "Style Lint"
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2

- uses: actions/setup-node@v3
with:
cache: 'yarn'

# Does not need branch matching as only analyses this layer
- name: Install Deps
run: "yarn install"

- name: Run Linter
run: "yarn run lint:style"
37 changes: 37 additions & 0 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
name: Tests
on:
pull_request: { }
push:
branches: [ develop, master ]
repository_dispatch:
types: [ upstream-sdk-notify ]
env:
# These must be set for fetchdep.sh to get the right branch
REPOSITORY: ${{ github.repository }}
PR_NUMBER: ${{ github.event.pull_request.number }}
jobs:
jest:
name: Jest
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2

- name: Yarn cache
uses: actions/setup-node@v3
with:
cache: 'yarn'

- name: Install Deps
run: "./scripts/ci/install-deps.sh --ignore-scripts"

- name: Run tests with coverage
run: "yarn coverage --ci"

- name: Upload Artifact
uses: actions/upload-artifact@v2
with:
name: coverage
path: |
coverage
!coverage/lcov-report
Loading

0 comments on commit 4a0d9fe

Please sign in to comment.