Skip to content

Commit

Permalink
Merge tag 'tags/v3.28.0' into tmp
Browse files Browse the repository at this point in the history
* Show how long a call was on call tiles ([\matrix-org#6570](matrix-org#6570)). Fixes element-hq/element-web#18405. Contributed by [SimonBrandner](https://github.com/SimonBrandner).
* Add regional indicators to emoji picker ([\matrix-org#6490](matrix-org#6490)). Fixes element-hq/element-web#14963. Contributed by [robintown](https://github.com/robintown).
* Make call control buttons accessible to screen reader users ([\matrix-org#6181](matrix-org#6181)). Fixes element-hq/element-web#18358. Contributed by [pvagner](https://github.com/pvagner).
* Skip sending a thumbnail if it is not a sufficient saving over the original ([\matrix-org#6559](matrix-org#6559)). Fixes element-hq/element-web#17906.
* Increase PiP snapping speed ([\matrix-org#6539](matrix-org#6539)). Fixes element-hq/element-web#18371. Contributed by [SimonBrandner](https://github.com/SimonBrandner).
* Improve and move the incoming call toast ([\matrix-org#6470](matrix-org#6470)). Fixes element-hq/element-web#17912. Contributed by [SimonBrandner](https://github.com/SimonBrandner).
* Allow all of the URL schemes that Firefox allows ([\matrix-org#6457](matrix-org#6457)). Contributed by [aaronraimist](https://github.com/aaronraimist).
* Improve bubble layout colors ([\matrix-org#6452](matrix-org#6452)). Fixes element-hq/element-web#18081. Contributed by [SimonBrandner](https://github.com/SimonBrandner).
* Spaces let users switch between Home and All Rooms behaviours ([\matrix-org#6497](matrix-org#6497)). Fixes element-hq/element-web#18093.
* Support for MSC2285 (hidden read receipts) ([\matrix-org#6390](matrix-org#6390)). Contributed by [SimonBrandner](https://github.com/SimonBrandner).
* Group pinned message events with MELS ([\matrix-org#6349](matrix-org#6349)). Fixes element-hq/element-web#17938. Contributed by [SimonBrandner](https://github.com/SimonBrandner).
* Make version copiable ([\matrix-org#6227](matrix-org#6227)). Fixes element-hq/element-web#17603 and element-hq/element-web#18329. Contributed by [SimonBrandner](https://github.com/SimonBrandner).
* Improve voice messages uploading state ([\matrix-org#6530](matrix-org#6530)). Fixes element-hq/element-web#18226 and element-hq/element-web#18224.
* Add surround with feature ([\matrix-org#5510](matrix-org#5510)). Contributed by [SimonBrandner](https://github.com/SimonBrandner).
* Improve call event tile wording ([\matrix-org#6545](matrix-org#6545)). Fixes element-hq/element-web#18376. Contributed by [SimonBrandner](https://github.com/SimonBrandner).
* Show an avatar/a turned off microphone icon for muted users ([\matrix-org#6486](matrix-org#6486)). Contributed by [SimonBrandner](https://github.com/SimonBrandner).
* Prompt user to leave rooms/subspaces in a space when leaving space ([\matrix-org#6424](matrix-org#6424)). Fixes element-hq/element-web#18071.
* Add customisation point to override widget variables ([\matrix-org#6455](matrix-org#6455)). Fixes element-hq/element-web#18035.
* Add support for screen sharing in 1:1 calls ([\matrix-org#5992](matrix-org#5992)). Contributed by [SimonBrandner](https://github.com/SimonBrandner).
* [Release] Fix glare related regressions ([\matrix-org#6622](matrix-org#6622)). Contributed by [SimonBrandner](https://github.com/SimonBrandner).
* [Release] Fix PiP of held calls ([\matrix-org#6612](matrix-org#6612)). Contributed by [SimonBrandner](https://github.com/SimonBrandner).
* [Release] Fix toast colors ([\matrix-org#6607](matrix-org#6607)). Contributed by [SimonBrandner](https://github.com/SimonBrandner).
* Fix [object Object] in Widget Permissions ([\matrix-org#6560](matrix-org#6560)). Fixes element-hq/element-web#18384. Contributed by [Palid](https://github.com/Palid).
* Fix right margin for events on IRC layout ([\matrix-org#6542](matrix-org#6542)). Fixes element-hq/element-web#18354.
* Mirror only usermedia feeds ([\matrix-org#6512](matrix-org#6512)). Fixes element-hq/element-web#5633. Contributed by [SimonBrandner](https://github.com/SimonBrandner).
* Fix LogoutDialog warning + TypeScript migration ([\matrix-org#6533](matrix-org#6533)).
* Fix the wrong font being used in the room topic field ([\matrix-org#6527](matrix-org#6527)). Fixes element-hq/element-web#18339. Contributed by [SimonBrandner](https://github.com/SimonBrandner).
* Fix inconsistent styling for links on hover ([\matrix-org#6513](matrix-org#6513)). Contributed by [janogarcia](https://github.com/janogarcia).
* Fix incorrect height for encoded placeholder images ([\matrix-org#6514](matrix-org#6514)). Contributed by [Palid](https://github.com/Palid).
* Fix call events layout for message bubble ([\matrix-org#6465](matrix-org#6465)). Fixes element-hq/element-web#18144.
* Improve subspaces and some utilities around room/space creation ([\matrix-org#6458](matrix-org#6458)). Fixes element-hq/element-web#18090 element-hq/element-web#18091 and element-hq/element-web#17256.
* Restore pointer cursor for SenderProfile in message bubbles ([\matrix-org#6501](matrix-org#6501)). Fixes element-hq/element-web#18249.
* Fix issues with the Call View ([\matrix-org#6472](matrix-org#6472)). Fixes element-hq/element-web#18221. Contributed by [SimonBrandner](https://github.com/SimonBrandner).
* Align event list summary read receipts when using message bubbles ([\matrix-org#6500](matrix-org#6500)). Fixes element-hq/element-web#18143.
* Better positioning for unbubbled events in timeline ([\matrix-org#6477](matrix-org#6477)). Fixes element-hq/element-web#18132.
* Realign reactions row with messages in modern layout ([\matrix-org#6491](matrix-org#6491)). Fixes element-hq/element-web#18118. Contributed by [robintown](https://github.com/robintown).
* Fix CreateRoomDialog exploding when making public room outside of a space ([\matrix-org#6492](matrix-org#6492)). Fixes element-hq/element-web#18275.
* Fix call crashing because `element` was undefined ([\matrix-org#6488](matrix-org#6488)). Fixes element-hq/element-web#18270. Contributed by [SimonBrandner](https://github.com/SimonBrandner).
* Upscale thumbnails to the container size ([\matrix-org#6589](matrix-org#6589)). Fixes element-hq/element-web#18307.
* Fix create room dialog in spaces no longer adding to the space ([\matrix-org#6587](matrix-org#6587)). Fixes element-hq/element-web#18465.
* Don't show a modal on call reject/user hangup ([\matrix-org#6580](matrix-org#6580)). Contributed by [SimonBrandner](https://github.com/SimonBrandner).
* Fade Call View Buttons after `componentDidMount` ([\matrix-org#6581](matrix-org#6581)). Fixes element-hq/element-web#18439. Contributed by [SimonBrandner](https://github.com/SimonBrandner).
* Fix missing expand button on codeblocks ([\matrix-org#6565](matrix-org#6565)). Fixes element-hq/element-web#18388. Contributed by [SimonBrandner](https://github.com/SimonBrandner).
* allow customizing the bubble layout colors ([\matrix-org#6568](matrix-org#6568)). Fixes element-hq/element-web#18408. Contributed by [benneti](https://github.com/benneti).
* Don't flash "Missed call" when accepting a call ([\matrix-org#6567](matrix-org#6567)). Fixes element-hq/element-web#18404. Contributed by [SimonBrandner](https://github.com/SimonBrandner).
* Fix clicking whitespaces on replies ([\matrix-org#6571](matrix-org#6571)). Fixes element-hq/element-web#18327. Contributed by [SimonBrandner](https://github.com/SimonBrandner).
* Fix disabled state for voice messages + send button tooltip ([\matrix-org#6562](matrix-org#6562)). Fixes element-hq/element-web#18413.
* Fix voice feed being cut-off ([\matrix-org#6550](matrix-org#6550)). Contributed by [SimonBrandner](https://github.com/SimonBrandner).
* Fix sizing issues of the screen picker ([\matrix-org#6498](matrix-org#6498)). Fixes element-hq/element-web#18281. Contributed by [SimonBrandner](https://github.com/SimonBrandner).
* Stop voice messages that are playing when starting a recording ([\matrix-org#6563](matrix-org#6563)). Fixes element-hq/element-web#18410.
* Properly set style attribute on shared usercontent iframe ([\matrix-org#6561](matrix-org#6561)). Fixes element-hq/element-web#18414.
* Null guard space inviter to prevent the app exploding ([\matrix-org#6558](matrix-org#6558)).
* Make the ringing sound mutable/disablable ([\matrix-org#6534](matrix-org#6534)). Fixes element-hq/element-web#15591. Contributed by [SimonBrandner](https://github.com/SimonBrandner).
* Fix wrong cursor being used in PiP ([\matrix-org#6551](matrix-org#6551)). Fixes element-hq/element-web#18383. Contributed by [SimonBrandner](https://github.com/SimonBrandner).
* Re-pin Jitsi if the widget already exists ([\matrix-org#6226](matrix-org#6226)). Fixes element-hq/element-web#17679. Contributed by [SimonBrandner](https://github.com/SimonBrandner).
* Fix broken call notification regression ([\matrix-org#6526](matrix-org#6526)). Fixes element-hq/element-web#18335. Contributed by [SimonBrandner](https://github.com/SimonBrandner).
* createRoom, only send join rule event if we have a join rule to put in it ([\matrix-org#6516](matrix-org#6516)). Fixes element-hq/element-web#18301.
* Fix clicking pills inside replies ([\matrix-org#6508](matrix-org#6508)). Fixes element-hq/element-web#18283. Contributed by [SimonBrandner](https://github.com/SimonBrandner).
* Fix grecaptcha regression ([\matrix-org#6503](matrix-org#6503)). Fixes element-hq/element-web#18284. Contributed by [Palid](https://github.com/Palid).
  • Loading branch information
chayleaf committed Aug 17, 2021
2 parents 21388a4 + c4de03d commit d73391c
Show file tree
Hide file tree
Showing 1,056 changed files with 42,900 additions and 25,603 deletions.
16 changes: 0 additions & 16 deletions .eslintignore.errorfiles

This file was deleted.

63 changes: 45 additions & 18 deletions .eslintrc.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
module.exports = {
extends: ["matrix-org", "matrix-org/react-legacy"],
parser: "babel-eslint",

plugins: ["matrix-org"],
extends: [
"plugin:matrix-org/babel",
"plugin:matrix-org/react",
],
env: {
browser: true,
node: true,
Expand All @@ -15,35 +17,60 @@ module.exports = {
"prefer-promise-reject-errors": "off",
"no-async-promise-executor": "off",
"quotes": "off",
},
"no-extra-boolean-cast": "off",

// Bind or arrow functions in props causes performance issues (but we
// currently use them in some places).
// It's disabled here, but we should using it sparingly.
"react/jsx-no-bind": "off",
"react/jsx-key": ["error"],

"no-restricted-properties": [
"error",
...buildRestrictedPropertiesOptions(
["window.innerHeight", "window.innerWidth", "window.visualViewport"],
"Use UIStore to access window dimensions instead.",
),
...buildRestrictedPropertiesOptions(
["*.mxcUrlToHttp", "*.getHttpUriForMxc"],
"Use Media helper instead to centralise access for customisation.",
),
],
},
overrides: [{
"files": ["src/**/*.{ts,tsx}"],
"extends": ["matrix-org/ts"],
"rules": {
files: [
"src/**/*.{ts,tsx}",
"test/**/*.{ts,tsx}",
],
extends: [
"plugin:matrix-org/typescript",
"plugin:matrix-org/react",
],
rules: {
// Things we do that break the ideal style
"prefer-promise-reject-errors": "off",
"quotes": "off",
"no-extra-boolean-cast": "off",

// Remove Babel things manually due to override limitations
"@babel/no-invalid-this": ["off"],

// We're okay being explicit at the moment
"@typescript-eslint/no-empty-interface": "off",
// We disable this while we're transitioning
"@typescript-eslint/no-explicit-any": "off",
// We'd rather not do this but we do
"@typescript-eslint/ban-ts-comment": "off",

"quotes": "off",
"no-extra-boolean-cast": "off",
"no-restricted-properties": [
"error",
...buildRestrictedPropertiesOptions(
["window.innerHeight", "window.innerWidth", "window.visualViewport"],
"Use UIStore to access window dimensions instead",
),
],
},
}],
};

function buildRestrictedPropertiesOptions(properties, message) {
return properties.map(prop => {
const [object, property] = prop.split(".");
let [object, property] = prop.split(".");
if (object === "*") {
object = undefined;
}
return {
object,
property,
Expand Down
6 changes: 0 additions & 6 deletions .flowconfig

This file was deleted.

1 change: 1 addition & 0 deletions .github/CODEOWNERS
Validating CODEOWNERS rules …
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
* @matrix-org/element-web
15 changes: 15 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
<!-- Please read https://github.com/matrix-org/matrix-js-sdk/blob/develop/CONTRIBUTING.md before submitting your pull request -->

<!-- Include a Sign-Off as described in https://github.com/matrix-org/matrix-js-sdk/blob/develop/CONTRIBUTING.md#sign-off -->

<!-- To specify text for the changelog entry (otherwise the PR title will be used):
Notes:
Changes in this project generate changelog entries in element-web by default.
To suppress this:
element-web notes: none
...or to specify different notes:
element-web notes: <notes>
-->
44 changes: 44 additions & 0 deletions .github/workflows/develop.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
name: Develop
on:
# These tests won't work for non-develop branches at the moment as they
# won't pull in the right versions of other repos, so they're only enabled
# on develop.
push:
branches: [develop]
pull_request:
branches: [develop]
jobs:
end-to-end:
runs-on: ubuntu-latest
container: vectorim/element-web-ci-e2etests-env:latest
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Prepare End-to-End tests
run: ./scripts/ci/prepare-end-to-end-tests.sh
- name: Run End-to-End tests
run: ./scripts/ci/run-end-to-end-tests.sh
- name: Archive logs
uses: actions/upload-artifact@v2
if: ${{ always() }}
with:
path: |
test/end-to-end-tests/logs/**/*
test/end-to-end-tests/synapse/installations/consent/homeserver.log
retention-days: 14
- name: Download previous benchmark data
uses: actions/cache@v1
with:
path: ./cache
key: ${{ runner.os }}-benchmark
- name: Store benchmark result
uses: matrix-org/github-action-benchmark@jsperfentry-1
with:
tool: 'jsperformanceentry'
output-file-path: test/end-to-end-tests/performance-entries.json
fail-on-alert: false
comment-on-alert: false
# Only temporary to monitor where failures occur
alert-comment-cc-users: '@gsouquet'
github-token: ${{ secrets.DEPLOY_GH_PAGES }}
auto-push: ${{ github.ref == 'refs/heads/develop' }}
19 changes: 19 additions & 0 deletions .github/workflows/layered-build.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
name: Layered Preview Build
on:
pull_request:
branches: [develop]
jobs:
build:
runs-on: ubuntu-latest
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

58 changes: 58 additions & 0 deletions .github/workflows/netflify.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
name: Upload Preview Build to Netlify
on:
workflow_run:
workflows: ["Layered Preview Build"]
types:
- completed
jobs:
build:
runs-on: ubuntu-latest
if: >
${{ github.event.workflow_run.conclusion == 'success' }}
steps:
# 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 artifact'
uses: actions/github-script@v3.1.0
with:
script: |
var artifacts = await github.actions.listWorkflowRunArtifacts({
owner: context.repo.owner,
repo: context.repo.repo,
run_id: ${{github.event.workflow_run.id }},
});
var matchArtifact = artifacts.data.artifacts.filter((artifact) => {
return artifact.name == "previewbuild"
})[0];
var download = await github.actions.downloadArtifact({
owner: context.repo.owner,
repo: context.repo.repo,
artifact_id: matchArtifact.id,
archive_format: 'zip',
});
var fs = require('fs');
fs.writeFileSync('${{github.workspace}}/previewbuild.zip', Buffer.from(download.data));
- run: unzip previewbuild.zip && rm previewbuild.zip
- name: Deploy to Netlify
id: netlify
uses: nwtgck/actions-netlify@v1.2
with:
publish-dir: .
deploy-message: "Deploy from GitHub Actions"
# These don't work because we're in workflow_run
enable-pull-request-comment: false
enable-commit-comment: false
env:
NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }}
NETLIFY_SITE_ID: ${{ secrets.NETLIFY_SITE_ID }}
timeout-minutes: 1
- name: Comment on PR
uses: phulsechinmay/rewritable-pr-comment@v0.3.0
with:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
ISSUE_ID: ${{ github.event.workflow_run.pull_requests[0].number }}
message: |
Preview: ${{ steps.netlify.outputs.deploy-url }}
⚠️ Do you trust the author of this PR? Maybe this build will steal your keys or give you malware. Exercise caution. Use test accounts.
12 changes: 12 additions & 0 deletions .github/workflows/preview_changelog.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
name: Preview Changelog
on:
pull_request_target:
types: [ opened, edited, labeled ]
jobs:
changelog:
runs-on: ubuntu-latest
steps:
- name: Preview Changelog
uses: matrix-org/allchange@main
with:
ghToken: ${{ secrets.GITHUB_TOKEN }}
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -15,3 +15,6 @@ package-lock.json

.DS_Store
*.tmp

.vscode
.vscode/
1 change: 1 addition & 0 deletions .node-version
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
14
Loading

0 comments on commit d73391c

Please sign in to comment.