Compare commits
186 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e300d45831 | ||
|
|
1046920b6c | ||
|
|
db501e8e2d | ||
|
|
22a1fee04b | ||
|
|
4fed510631 | ||
|
|
43e516227e | ||
|
|
11babeeed5 | ||
|
|
9bca5175e5 | ||
|
|
691f4aa6f1 | ||
|
|
c2d21d02ab | ||
|
|
f8a844fd83 | ||
|
|
8e317bd130 | ||
|
|
af7cfe74f1 | ||
|
|
d5122566ea | ||
|
|
5ae88eb30b | ||
|
|
fb3e71d457 | ||
|
|
3c4d25d6c2 | ||
|
|
467f097071 | ||
|
|
cdbddedbdb | ||
|
|
209a08b291 | ||
|
|
4c809b5de5 | ||
|
|
2386aa2e38 | ||
|
|
4d9ec5d63b | ||
|
|
aa321ca5b8 | ||
|
|
a82c989328 | ||
|
|
edf1a44a79 | ||
|
|
43c630108e | ||
|
|
2f4b3d4ce3 | ||
|
|
b9aaee0009 | ||
|
|
9e5ed112e8 | ||
|
|
2a1bbdb38a | ||
|
|
57f45286d9 | ||
|
|
3903e86d9c | ||
|
|
3095ec01cd | ||
|
|
460f3d2a22 | ||
|
|
5d050d8d60 | ||
|
|
6bd7966e88 | ||
|
|
f3353eea1b | ||
|
|
760cb78280 | ||
|
|
b9ba84979d | ||
|
|
f23cc0cb4e | ||
|
|
8f34ea462d | ||
|
|
e90cc1d72a | ||
|
|
bfc672c580 | ||
|
|
e442920292 | ||
|
|
641ef3725b | ||
|
|
6bc25ee59c | ||
|
|
37a8190dc1 | ||
|
|
b9b6c1ace3 | ||
|
|
e83b8633b1 | ||
|
|
16e31fd36d | ||
|
|
8303e66e80 | ||
|
|
7a1d08faad | ||
|
|
4f8f7f65a9 | ||
|
|
3d414d7f07 | ||
|
|
ed60c90081 | ||
|
|
1d0c8351ec | ||
|
|
5de1b0a012 | ||
|
|
9f673fdb04 | ||
|
|
957c299299 | ||
|
|
d5ddb5eea1 | ||
|
|
1a21fdf4db | ||
|
|
9a08d36443 | ||
|
|
ccd7cf8144 | ||
|
|
c31562dffd | ||
|
|
64b8bd480b | ||
|
|
6db1e0bc35 | ||
|
|
0933038cb4 | ||
|
|
0a3fc2b7ff | ||
|
|
efe7e12c90 | ||
|
|
77f8e4d822 | ||
|
|
b7455b2ccc | ||
|
|
754adef302 | ||
|
|
6c3268ac84 | ||
|
|
3f55d9ad06 | ||
|
|
128e0e3047 | ||
|
|
70de3e4729 | ||
|
|
7107d83357 | ||
|
|
d42799dc62 | ||
|
|
cd02510ccc | ||
|
|
69742e5118 | ||
|
|
c463a50159 | ||
|
|
86430da9ac | ||
|
|
5aa694e232 | ||
|
|
bb296802b0 | ||
|
|
537bf993cd | ||
|
|
b7ef6738f1 | ||
|
|
570aba57b5 | ||
|
|
0ab29bd483 | ||
|
|
519eed91b5 | ||
|
|
dfe2a21b58 | ||
|
|
6bdb5cf7c3 | ||
|
|
0e41e53d70 | ||
|
|
75cb68159d | ||
|
|
0909eb46ca | ||
|
|
40475f864d | ||
|
|
6a9547797d | ||
|
|
1e1fd225e1 | ||
|
|
df729f48f6 | ||
|
|
2b779e5e4a | ||
|
|
f76bdf8932 | ||
|
|
deb1197503 | ||
|
|
e7b97402b5 | ||
|
|
5f92373db2 | ||
|
|
73b290995c | ||
|
|
c19728dc20 | ||
|
|
087ecc8538 | ||
|
|
1e02b57ceb | ||
|
|
b6ad059c60 | ||
|
|
e79d3352f8 | ||
|
|
adf7085adf | ||
|
|
6a29ebbcfb | ||
|
|
a26be2665f | ||
|
|
cb02527f7d | ||
|
|
27f1d999a0 | ||
|
|
cfe4a779f2 | ||
|
|
7a4563d6ef | ||
|
|
e047e5d803 | ||
|
|
e5bdb724c4 | ||
|
|
a479f86952 | ||
|
|
de2e0782d7 | ||
|
|
934eb22d3a | ||
|
|
32d8db588f | ||
|
|
4a1a563daa | ||
|
|
ff6feb7bcd | ||
|
|
4c19d2bd02 | ||
|
|
f868289959 | ||
|
|
dcdc8c6e10 | ||
|
|
f3e1569ec2 | ||
|
|
43c0b67505 | ||
|
|
87650aaf84 | ||
|
|
8b0c530a99 | ||
|
|
1803ae57c5 | ||
|
|
f4cf3a27b3 | ||
|
|
583ac3de96 | ||
|
|
40b4e82802 | ||
|
|
50f2b532e9 | ||
|
|
a92eb3ddce | ||
|
|
9db99f6412 | ||
|
|
ee80d1b963 | ||
|
|
2ef14d322b | ||
|
|
f081b628f0 | ||
|
|
1bb354e96d | ||
|
|
5bdb1bc417 | ||
|
|
bd26775dcb | ||
|
|
1ea3e2ea3a | ||
|
|
a1680a0fa5 | ||
|
|
f8ad575dfa | ||
|
|
22c0b4e4df | ||
|
|
b1c9bb02b2 | ||
|
|
89564accb6 | ||
|
|
d4556045dd | ||
|
|
2e6ecc832e | ||
|
|
53c98baa6d | ||
|
|
c614c5bf13 | ||
|
|
2084ef4bbc | ||
|
|
0990a0dcdd | ||
|
|
022a269e99 | ||
|
|
665b5d05ae | ||
|
|
138957dc4e | ||
|
|
bf515ea265 | ||
|
|
ae638d2643 | ||
|
|
31816f859b | ||
|
|
b339ac565f | ||
|
|
55afed3897 | ||
|
|
eaace937b8 | ||
|
|
a8cbb03218 | ||
|
|
1619fc62e0 | ||
|
|
33e1144c81 | ||
|
|
a2b40942e2 | ||
|
|
03c2a101f3 | ||
|
|
cdc94a6370 | ||
|
|
c4cdeb0335 | ||
|
|
11662d5fbb | ||
|
|
a9c24c1a08 | ||
|
|
27aa653e9d | ||
|
|
f2a08072ef | ||
|
|
ffd895e1b2 | ||
|
|
ad092508f8 | ||
|
|
a840932500 | ||
|
|
4aa3b0b637 | ||
|
|
c53ba7c07f | ||
|
|
a359cb1730 | ||
|
|
fef0b21b2d | ||
|
|
5b6c4dd76d | ||
|
|
db3d10f731 |
@@ -23,7 +23,7 @@ indent_size = 4
|
||||
trim_trailing_whitespace = true
|
||||
|
||||
[*.{yml,yaml}]
|
||||
indent_size = 2
|
||||
indent_size = 4
|
||||
|
||||
[package.json]
|
||||
indent_size = 2
|
||||
|
||||
72
.eslintrc-module_system.js
Normal file
72
.eslintrc-module_system.js
Normal file
@@ -0,0 +1,72 @@
|
||||
module.exports = {
|
||||
plugins: ["matrix-org"],
|
||||
extends: ["./.eslintrc.js"],
|
||||
parserOptions: {
|
||||
project: ["./tsconfig.module_system.json"],
|
||||
},
|
||||
overrides: [
|
||||
{
|
||||
files: ["module_system/**/*.{ts,tsx}"],
|
||||
extends: ["plugin:matrix-org/typescript", "plugin:matrix-org/react"],
|
||||
// NOTE: These rules are frozen and new rules should not be added here.
|
||||
// New changes belong in https://github.com/matrix-org/eslint-plugin-matrix-org/
|
||||
rules: {
|
||||
// Things we do that break the ideal style
|
||||
"prefer-promise-reject-errors": "off",
|
||||
"quotes": "off",
|
||||
|
||||
// We disable this while we're transitioning
|
||||
"@typescript-eslint/no-explicit-any": "off",
|
||||
// We're okay with assertion errors when we ask for them
|
||||
"@typescript-eslint/no-non-null-assertion": "off",
|
||||
|
||||
// Ban matrix-js-sdk/src imports in favour of matrix-js-sdk/src/matrix imports to prevent unleashing hell.
|
||||
"no-restricted-imports": [
|
||||
"error",
|
||||
{
|
||||
paths: [
|
||||
{
|
||||
name: "matrix-js-sdk",
|
||||
message: "Please use matrix-js-sdk/src/matrix instead",
|
||||
},
|
||||
{
|
||||
name: "matrix-js-sdk/",
|
||||
message: "Please use matrix-js-sdk/src/matrix instead",
|
||||
},
|
||||
{
|
||||
name: "matrix-js-sdk/src",
|
||||
message: "Please use matrix-js-sdk/src/matrix instead",
|
||||
},
|
||||
{
|
||||
name: "matrix-js-sdk/src/",
|
||||
message: "Please use matrix-js-sdk/src/matrix instead",
|
||||
},
|
||||
{
|
||||
name: "matrix-js-sdk/src/index",
|
||||
message: "Please use matrix-js-sdk/src/matrix instead",
|
||||
},
|
||||
{
|
||||
name: "matrix-react-sdk",
|
||||
message: "Please use matrix-react-sdk/src/index instead",
|
||||
},
|
||||
{
|
||||
name: "matrix-react-sdk/",
|
||||
message: "Please use matrix-react-sdk/src/index instead",
|
||||
},
|
||||
],
|
||||
patterns: [
|
||||
{
|
||||
group: ["matrix-js-sdk/lib", "matrix-js-sdk/lib/", "matrix-js-sdk/lib/**"],
|
||||
message: "Please use matrix-js-sdk/src/* instead",
|
||||
},
|
||||
{
|
||||
group: ["matrix-react-sdk/lib", "matrix-react-sdk/lib/", "matrix-react-sdk/lib/**"],
|
||||
message: "Please use matrix-react-sdk/src/* instead",
|
||||
},
|
||||
],
|
||||
},
|
||||
],
|
||||
},
|
||||
},
|
||||
],
|
||||
};
|
||||
@@ -1,6 +1,9 @@
|
||||
module.exports = {
|
||||
plugins: ["matrix-org"],
|
||||
extends: ["plugin:matrix-org/babel", "plugin:matrix-org/react"],
|
||||
parserOptions: {
|
||||
project: ["./tsconfig.json"],
|
||||
},
|
||||
env: {
|
||||
browser: true,
|
||||
node: true,
|
||||
@@ -16,7 +19,7 @@ module.exports = {
|
||||
},
|
||||
overrides: [
|
||||
{
|
||||
files: ["src/**/*.{ts,tsx}", "test/**/*.{ts,tsx}", "module_system/**/*.{ts,tsx}"],
|
||||
files: ["src/**/*.{ts,tsx}", "test/**/*.{ts,tsx}"],
|
||||
extends: ["plugin:matrix-org/typescript", "plugin:matrix-org/react"],
|
||||
// NOTE: These rules are frozen and new rules should not be added here.
|
||||
// New changes belong in https://github.com/matrix-org/eslint-plugin-matrix-org/
|
||||
|
||||
8
.github/workflows/build_develop.yml
vendored
8
.github/workflows/build_develop.yml
vendored
@@ -81,13 +81,13 @@ jobs:
|
||||
AWS_SECRET_ACCESS_KEY: ${{ secrets.CF_R2_TOKEN }}
|
||||
|
||||
- name: Wait for other steps to succeed
|
||||
uses: lewagon/wait-on-check-action@v1.2.0
|
||||
uses: lewagon/wait-on-check-action@v1.3.1
|
||||
with:
|
||||
ref: ${{ github.ref }}
|
||||
ref: ${{ github.sha }}
|
||||
running-workflow-name: "Build & Deploy develop.element.io"
|
||||
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
wait-interval: 10
|
||||
check-regexp: ^((?!SonarCloud|SonarQube|issues|board).)*$
|
||||
check-regexp: ^((?!SonarCloud|SonarQube|issue|board|label).)*$
|
||||
|
||||
# We keep the latest develop.tar.gz on R2 instead of relying on the github artifact uploaded earlier
|
||||
# as the expires after 24h and requires auth to download.
|
||||
@@ -95,7 +95,7 @@ jobs:
|
||||
- name: Deploy to R2
|
||||
run: |
|
||||
aws s3 cp dist/develop.tar.gz s3://$R2_BUCKET/develop.tar.gz --endpoint-url $R2_URL --region=auto
|
||||
aws s3 cp _deploy/bundles s3://$R2_BUCKET/bundles --recursive --endpoint-url $R2_URL --region=auto
|
||||
aws s3 cp _deploy/ s3://$R2_BUCKET/ --recursive --endpoint-url $R2_URL --region=auto
|
||||
env:
|
||||
AWS_ACCESS_KEY_ID: ${{ secrets.CF_R2_ACCESS_KEY_ID }}
|
||||
AWS_SECRET_ACCESS_KEY: ${{ secrets.CF_R2_TOKEN }}
|
||||
|
||||
2
.github/workflows/dockerhub.yaml
vendored
2
.github/workflows/dockerhub.yaml
vendored
@@ -44,7 +44,7 @@ jobs:
|
||||
latest=${{ contains(github.ref_name, '-rc.') && 'false' || 'auto' }}
|
||||
|
||||
- name: Build and push
|
||||
uses: docker/build-push-action@v3
|
||||
uses: docker/build-push-action@v4
|
||||
with:
|
||||
context: .
|
||||
push: true
|
||||
|
||||
74
.github/workflows/pending-reviews.yaml
vendored
Normal file
74
.github/workflows/pending-reviews.yaml
vendored
Normal file
@@ -0,0 +1,74 @@
|
||||
name: Pending reviews automation
|
||||
on:
|
||||
# We run it on a schedule instead of on pull_request_* events to not create confusing messaging in the PR
|
||||
schedule:
|
||||
- cron: "*/10 * * * *"
|
||||
concurrency: ${{ github.workflow }}
|
||||
jobs:
|
||||
bot:
|
||||
name: Pending reviews bot
|
||||
runs-on: ubuntu-latest
|
||||
environment: Matrix
|
||||
env:
|
||||
URL: "https://github.com/pulls?q=is%3Apr+is%3Aopen+repo%3Amatrix-org%2Fmatrix-js-sdk+repo%3Amatrix-org%2Fmatrix-react-sdk+repo%3Avector-im%2Felement-web+repo%3Avector-im%2Felement-desktop+review-requested%3A%40me+sort%3Aupdated-desc+"
|
||||
steps:
|
||||
- uses: actions/github-script@v6
|
||||
env:
|
||||
HS_URL: ${{ secrets.BETABOT_HS_URL }}
|
||||
ROOM_ID: ${{ secrets.ROOM_ID }}
|
||||
TOKEN: ${{ secrets.BETABOT_ACCESS_TOKEN }}
|
||||
with:
|
||||
# PAT needed as the GITHUB_TOKEN won't be able to see cross-references from other orgs (matrix-org)
|
||||
github-token: ${{ secrets.ELEMENT_BOT_TOKEN }}
|
||||
script: |
|
||||
const repos = [
|
||||
"vector-im/element-desktop",
|
||||
"vector-im/element-web",
|
||||
"matrix-org/matrix-react-sdk",
|
||||
"matrix-org/matrix-js-sdk",
|
||||
];
|
||||
const teams = [
|
||||
"matrix-org/element-web-app-team",
|
||||
"matrix-org/element-web",
|
||||
"vector-im/element-web-app-team",
|
||||
"vector-im/element-web",
|
||||
];
|
||||
|
||||
let issueCount = 0;
|
||||
for (const team of teams) {
|
||||
const org = team.split("/", 2)[0];
|
||||
const reposInOrg = repos.filter(repo => repo.startsWith(org + "/"));
|
||||
const { data } = await github.rest.search.issuesAndPullRequests({
|
||||
q: `is:pr is:open review:required ${reposInOrg.map(r => `repo:${r}`).join(" ")} team-review-requested:${team}`,
|
||||
});
|
||||
issueCount += data.total_count;
|
||||
}
|
||||
|
||||
const { HS_URL, ROOM_ID, TOKEN, URL } = process.env;
|
||||
const apiUrl = `${HS_URL}/_matrix/client/v3/rooms/${ROOM_ID}/state/re.jki.counter/gh_reviews`;
|
||||
const headers = {
|
||||
"Content-Type": "application/json",
|
||||
"Authorization": `Bearer ${TOKEN}`,
|
||||
};
|
||||
const res = await fetch(apiUrl, {
|
||||
method: "GET",
|
||||
headers,
|
||||
});
|
||||
|
||||
const data = await res.json();
|
||||
|
||||
if (data.value === issueCount) {
|
||||
console.log("Pending review count already correct");
|
||||
return;
|
||||
}
|
||||
|
||||
await fetch(apiUrl, {
|
||||
method: "PUT",
|
||||
body: JSON.stringify({
|
||||
"link": URL,
|
||||
"severity": "warning",
|
||||
"title": "Pending reviews",
|
||||
"value": issueCount
|
||||
}),
|
||||
headers,
|
||||
});
|
||||
2
.github/workflows/pull_request.yaml
vendored
2
.github/workflows/pull_request.yaml
vendored
@@ -6,7 +6,5 @@ concurrency: ${{ github.workflow }}-${{ github.event.pull_request.head.ref }}
|
||||
jobs:
|
||||
action:
|
||||
uses: matrix-org/matrix-js-sdk/.github/workflows/pull_request.yaml@develop
|
||||
with:
|
||||
labels: "T-Defect,T-Enhancement,T-Task"
|
||||
secrets:
|
||||
ELEMENT_BOT_TOKEN: ${{ secrets.ELEMENT_BOT_TOKEN }}
|
||||
|
||||
22
.github/workflows/triage-assigned.yml
vendored
22
.github/workflows/triage-assigned.yml
vendored
@@ -10,10 +10,22 @@ jobs:
|
||||
if: |
|
||||
contains(github.event.issue.assignees.*.login, 't3chguy') ||
|
||||
contains(github.event.issue.assignees.*.login, 'andybalaam') ||
|
||||
contains(github.event.issue.assignees.*.login, 'turt2live')
|
||||
contains(github.event.issue.assignees.*.login, 'justjanne')
|
||||
steps:
|
||||
- uses: alex-page/github-project-automation-plus@1f8873e97e3c8f58161a323b7c568c1f623a1c4d
|
||||
- uses: octokit/graphql-action@v2.x
|
||||
id: add_to_project
|
||||
with:
|
||||
project: Web App Team
|
||||
column: "In Progress"
|
||||
repo-token: ${{ secrets.ELEMENT_BOT_TOKEN }}
|
||||
headers: '{"GraphQL-Features": "projects_next_graphql"}'
|
||||
query: |
|
||||
mutation add_to_project($projectid:ID!,$contentid:ID!) {
|
||||
addProjectV2ItemById(input: {projectId: $projectid contentId: $contentid}) {
|
||||
item {
|
||||
id
|
||||
}
|
||||
}
|
||||
}
|
||||
projectid: ${{ env.PROJECT_ID }}
|
||||
contentid: ${{ github.event.issue.node_id }}
|
||||
env:
|
||||
PROJECT_ID: "PVT_kwDOAM0swc4AKjJS"
|
||||
GITHUB_TOKEN: ${{ secrets.ELEMENT_BOT_TOKEN }}
|
||||
|
||||
2
.github/workflows/triage-incoming.yml
vendored
2
.github/workflows/triage-incoming.yml
vendored
@@ -8,7 +8,7 @@ jobs:
|
||||
automate-project-columns:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: alex-page/github-project-automation-plus@1f8873e97e3c8f58161a323b7c568c1f623a1c4d
|
||||
- uses: alex-page/github-project-automation-plus@7ffb872c64bd809d23563a130a0a97d01dfa8f43
|
||||
with:
|
||||
project: Issue triage
|
||||
column: Incoming
|
||||
|
||||
53
.github/workflows/triage-labelled.yml
vendored
53
.github/workflows/triage-labelled.yml
vendored
@@ -13,6 +13,7 @@ jobs:
|
||||
contains(github.event.issue.labels.*.name, 'A-Message-Pinning') ||
|
||||
contains(github.event.issue.labels.*.name, 'A-Location-Sharing') ||
|
||||
contains(github.event.issue.labels.*.name, 'Z-IA') ||
|
||||
contains(github.event.issue.labels.*.name, 'A-Jump-To-Date ') ||
|
||||
contains(github.event.issue.labels.*.name, 'A-Themes-Custom') ||
|
||||
contains(github.event.issue.labels.*.name, 'A-E2EE-Dehydration') ||
|
||||
contains(github.event.issue.labels.*.name, 'A-Tags') ||
|
||||
@@ -113,34 +114,6 @@ jobs:
|
||||
PROJECT_ID: "PVT_kwDOAM0swc4AAg6N"
|
||||
GITHUB_TOKEN: ${{ secrets.ELEMENT_BOT_TOKEN }}
|
||||
|
||||
Delight_issues_to_board:
|
||||
name: Delight issues to project board
|
||||
runs-on: ubuntu-latest
|
||||
if: >
|
||||
contains(github.event.issue.labels.*.name, 'A-New-Search-Experience') ||
|
||||
(contains(github.event.issue.labels.*.name, 'A-Threads') &&
|
||||
(contains(github.event.issue.labels.*.name, 'S-Major') ||
|
||||
contains(github.event.issue.labels.*.name, 'S-Critical'))) ||
|
||||
contains(github.event.issue.labels.*.name, 'Team: Delight') ||
|
||||
contains(github.event.issue.labels.*.name, 'Z-NewUserJourney')
|
||||
steps:
|
||||
- uses: octokit/graphql-action@v2.x
|
||||
with:
|
||||
headers: '{"GraphQL-Features": "projects_next_graphql"}'
|
||||
query: |
|
||||
mutation add_to_project($projectid:ID!,$contentid:ID!) {
|
||||
addProjectV2ItemById(input: {projectId: $projectid contentId: $contentid}) {
|
||||
item {
|
||||
id
|
||||
}
|
||||
}
|
||||
}
|
||||
projectid: ${{ env.PROJECT_ID }}
|
||||
contentid: ${{ github.event.issue.node_id }}
|
||||
env:
|
||||
PROJECT_ID: "PVT_kwDOAM0swc1HvQ"
|
||||
GITHUB_TOKEN: ${{ secrets.ELEMENT_BOT_TOKEN }}
|
||||
|
||||
Search_issues_to_board:
|
||||
name: Search issues to project board
|
||||
runs-on: ubuntu-latest
|
||||
@@ -357,3 +330,27 @@ jobs:
|
||||
env:
|
||||
PROJECT_ID: "PVT_kwDOAM0swc4ABMIk"
|
||||
GITHUB_TOKEN: ${{ secrets.ELEMENT_BOT_TOKEN }}
|
||||
|
||||
verticals_feature:
|
||||
name: Add labelled issues to Verticals Feature project
|
||||
runs-on: ubuntu-latest
|
||||
if: >
|
||||
contains(github.event.issue.labels.*.name, 'Team: Verticals Feature')
|
||||
steps:
|
||||
- uses: octokit/graphql-action@v2.x
|
||||
id: add_to_project
|
||||
with:
|
||||
headers: '{"GraphQL-Features": "projects_next_graphql"}'
|
||||
query: |
|
||||
mutation add_to_project($projectid:ID!,$contentid:ID!) {
|
||||
addProjectV2ItemById(input: {projectId: $projectid contentId: $contentid}) {
|
||||
item {
|
||||
id
|
||||
}
|
||||
}
|
||||
}
|
||||
projectid: ${{ env.PROJECT_ID }}
|
||||
contentid: ${{ github.event.issue.node_id }}
|
||||
env:
|
||||
PROJECT_ID: "PVT_kwDOAM0swc4AHJKW"
|
||||
GITHUB_TOKEN: ${{ secrets.ELEMENT_BOT_TOKEN }}
|
||||
|
||||
30
.github/workflows/triage-priority-bugs.yml
vendored
30
.github/workflows/triage-priority-bugs.yml
vendored
@@ -1,30 +0,0 @@
|
||||
name: Move P1 bugs to boards
|
||||
|
||||
on:
|
||||
issues:
|
||||
types: [labeled, unlabeled]
|
||||
|
||||
jobs:
|
||||
P1_issues_to_crypto_team_workboard:
|
||||
runs-on: ubuntu-latest
|
||||
if: >
|
||||
contains(github.event.issue.labels.*.name, 'Z-UISI') ||
|
||||
(contains(github.event.issue.labels.*.name, 'A-E2EE') ||
|
||||
contains(github.event.issue.labels.*.name, 'A-E2EE-Cross-Signing') ||
|
||||
contains(github.event.issue.labels.*.name, 'A-E2EE-Dehydration') ||
|
||||
contains(github.event.issue.labels.*.name, 'A-E2EE-Key-Backup') ||
|
||||
contains(github.event.issue.labels.*.name, 'A-E2EE-SAS-Verification')) &&
|
||||
(contains(github.event.issue.labels.*.name, 'T-Defect') &&
|
||||
contains(github.event.issue.labels.*.name, 'S-Critical') &&
|
||||
(contains(github.event.issue.labels.*.name, 'O-Frequent') ||
|
||||
contains(github.event.issue.labels.*.name, 'O-Occasional')) ||
|
||||
contains(github.event.issue.labels.*.name, 'S-Major') &&
|
||||
contains(github.event.issue.labels.*.name, 'O-Frequent') ||
|
||||
contains(github.event.issue.labels.*.name, 'A11y') &&
|
||||
contains(github.event.issue.labels.*.name, 'O-Frequent'))
|
||||
steps:
|
||||
- uses: alex-page/github-project-automation-plus@1f8873e97e3c8f58161a323b7c568c1f623a1c4d
|
||||
with:
|
||||
project: Crypto Team
|
||||
column: Ready
|
||||
repo-token: ${{ secrets.ELEMENT_BOT_TOKEN }}
|
||||
3
.github/workflows/triage-unlabelled.yml
vendored
3
.github/workflows/triage-unlabelled.yml
vendored
@@ -35,7 +35,7 @@ jobs:
|
||||
fi
|
||||
fi
|
||||
- name: Move issue
|
||||
uses: alex-page/github-project-automation-plus@1f8873e97e3c8f58161a323b7c568c1f623a1c4d
|
||||
uses: alex-page/github-project-automation-plus@7ffb872c64bd809d23563a130a0a97d01dfa8f43
|
||||
if: ${{ env.ALREADY_IN_BOARD == 'true' && env.SKIP_ACTION != 'true' }}
|
||||
with:
|
||||
project: Issue triage
|
||||
@@ -50,6 +50,7 @@ jobs:
|
||||
contains(github.event.issue.labels.*.name, 'A-Message-Pinning') ||
|
||||
contains(github.event.issue.labels.*.name, 'A-Location-Sharing') ||
|
||||
contains(github.event.issue.labels.*.name, 'Z-IA') ||
|
||||
contains(github.event.issue.labels.*.name, 'A-Jump-To-Date') ||
|
||||
contains(github.event.issue.labels.*.name, 'A-Themes-Custom') ||
|
||||
contains(github.event.issue.labels.*.name, 'A-E2EE-Dehydration') ||
|
||||
contains(github.event.issue.labels.*.name, 'A-Tags') ||
|
||||
|
||||
189
CHANGELOG.md
189
CHANGELOG.md
@@ -1,3 +1,186 @@
|
||||
Changes in [1.11.25](https://github.com/vector-im/element-web/releases/tag/v1.11.25) (2023-03-15)
|
||||
=================================================================================================
|
||||
|
||||
## ✨ Features
|
||||
* Remove experimental PWA support for Firefox and Safari ([\#24630](https://github.com/vector-im/element-web/pull/24630)).
|
||||
* Only allow to start a DM with one email if encryption by default is enabled ([\#10253](https://github.com/matrix-org/matrix-react-sdk/pull/10253)). Fixes #23133.
|
||||
* DM rooms are now encrypted if encryption by default is enabled and only inviting a single email address. Any action in the result DM room will be blocked until the other has joined. ([\#10229](https://github.com/matrix-org/matrix-react-sdk/pull/10229)).
|
||||
* Reduce bottom margin of ReplyChain on compact modern layout ([\#8972](https://github.com/matrix-org/matrix-react-sdk/pull/8972)). Fixes #22748. Contributed by @luixxiul.
|
||||
* Support for v2 of MSC3903 ([\#10165](https://github.com/matrix-org/matrix-react-sdk/pull/10165)). Contributed by @hughns.
|
||||
* When starting a DM, existing rooms with pending third-party invites will be reused. ([\#10256](https://github.com/matrix-org/matrix-react-sdk/pull/10256)). Fixes #23139.
|
||||
* Polls push rules: synchronise poll rules with message rules ([\#10263](https://github.com/matrix-org/matrix-react-sdk/pull/10263)). Contributed by @kerryarchibald.
|
||||
* New verification request toast button labels ([\#10259](https://github.com/matrix-org/matrix-react-sdk/pull/10259)).
|
||||
* Remove padding around integration manager iframe ([\#10148](https://github.com/matrix-org/matrix-react-sdk/pull/10148)).
|
||||
* Fix block code styling in rich text editor ([\#10246](https://github.com/matrix-org/matrix-react-sdk/pull/10246)). Contributed by @alunturner.
|
||||
* Poll history: fetch more poll history ([\#10235](https://github.com/matrix-org/matrix-react-sdk/pull/10235)). Contributed by @kerryarchibald.
|
||||
* Sort short/exact emoji matches before longer incomplete matches ([\#10212](https://github.com/matrix-org/matrix-react-sdk/pull/10212)). Fixes #23210. Contributed by @grimhilt.
|
||||
* Poll history: detail screen ([\#10172](https://github.com/matrix-org/matrix-react-sdk/pull/10172)). Contributed by @kerryarchibald.
|
||||
* Provide a more detailed error message than "No known servers" ([\#6048](https://github.com/matrix-org/matrix-react-sdk/pull/6048)). Fixes #13247. Contributed by @aaronraimist.
|
||||
* Say when a call was answered from a different device ([\#10224](https://github.com/matrix-org/matrix-react-sdk/pull/10224)).
|
||||
* Widget permissions customizations using module api ([\#10121](https://github.com/matrix-org/matrix-react-sdk/pull/10121)). Contributed by @maheichyk.
|
||||
* Fix copy button icon overlapping with copyable text ([\#10227](https://github.com/matrix-org/matrix-react-sdk/pull/10227)). Contributed by @Adesh-Pandey.
|
||||
* Support joining non-peekable rooms via the module API ([\#10154](https://github.com/matrix-org/matrix-react-sdk/pull/10154)). Contributed by @maheichyk.
|
||||
* The "new login" toast does now display the same device information as in the settings. "No" does now open the device settings. "Yes, it was me" dismisses the toast. ([\#10200](https://github.com/matrix-org/matrix-react-sdk/pull/10200)).
|
||||
* Do not prompt for a password when doing a „reset all“ after login ([\#10208](https://github.com/matrix-org/matrix-react-sdk/pull/10208)).
|
||||
|
||||
## 🐛 Bug Fixes
|
||||
* Fix incorrect copy in space creation flow ([\#10296](https://github.com/matrix-org/matrix-react-sdk/pull/10296)). Fixes #24741.
|
||||
* Fix space settings dialog having rogue title tooltip ([\#10293](https://github.com/matrix-org/matrix-react-sdk/pull/10293)). Fixes #24740.
|
||||
* Show spinner when starting a DM from the user profile (right panel) ([\#10290](https://github.com/matrix-org/matrix-react-sdk/pull/10290)).
|
||||
* Reduce height of toggle on expanded view source event ([\#10283](https://github.com/matrix-org/matrix-react-sdk/pull/10283)). Fixes #22873. Contributed by @luixxiul.
|
||||
* Pillify http and non-prefixed matrix.to links ([\#10277](https://github.com/matrix-org/matrix-react-sdk/pull/10277)). Fixes #20844.
|
||||
* Fix some features not being configurable via `features` ([\#10276](https://github.com/matrix-org/matrix-react-sdk/pull/10276)).
|
||||
* Fix starting a DM from the right panel in some cases ([\#10278](https://github.com/matrix-org/matrix-react-sdk/pull/10278)). Fixes #24722.
|
||||
* Align info EventTile and normal EventTile on IRC layout ([\#10197](https://github.com/matrix-org/matrix-react-sdk/pull/10197)). Fixes #22782. Contributed by @luixxiul.
|
||||
* Fix blowout of waveform of the voice message player on narrow UI ([\#8861](https://github.com/matrix-org/matrix-react-sdk/pull/8861)). Fixes #22604. Contributed by @luixxiul.
|
||||
* Fix the hidden view source toggle on IRC layout ([\#10266](https://github.com/matrix-org/matrix-react-sdk/pull/10266)). Fixes #22872. Contributed by @luixxiul.
|
||||
* Fix buttons on the room header being compressed due to long room name ([\#10155](https://github.com/matrix-org/matrix-react-sdk/pull/10155)). Contributed by @luixxiul.
|
||||
* Use the room avatar as a placeholder in calls ([\#10231](https://github.com/matrix-org/matrix-react-sdk/pull/10231)).
|
||||
* Fix calls showing as 'connecting' after hangup ([\#10223](https://github.com/matrix-org/matrix-react-sdk/pull/10223)).
|
||||
* Prevent multiple Jitsi calls started at the same time ([\#10183](https://github.com/matrix-org/matrix-react-sdk/pull/10183)). Fixes #23009.
|
||||
* Make localization keys compatible with agglutinative and/or SOV type languages ([\#10159](https://github.com/matrix-org/matrix-react-sdk/pull/10159)). Contributed by @luixxiul.
|
||||
|
||||
Changes in [1.11.24](https://github.com/vector-im/element-web/releases/tag/v1.11.24) (2023-02-28)
|
||||
=================================================================================================
|
||||
|
||||
## ✨ Features
|
||||
* Display "The sender has blocked you from receiving this message" error message instead of "Unable to decrypt message" ([\#10202](https://github.com/matrix-org/matrix-react-sdk/pull/10202)). Contributed by @florianduros.
|
||||
* Polls: show warning about undecryptable relations ([\#10179](https://github.com/matrix-org/matrix-react-sdk/pull/10179)). Contributed by @kerryarchibald.
|
||||
* Poll history: fetch last 30 days of polls ([\#10157](https://github.com/matrix-org/matrix-react-sdk/pull/10157)). Contributed by @kerryarchibald.
|
||||
* Poll history - ended polls list items ([\#10119](https://github.com/matrix-org/matrix-react-sdk/pull/10119)). Contributed by @kerryarchibald.
|
||||
* Remove threads labs flag and the ability to disable threads ([\#9878](https://github.com/matrix-org/matrix-react-sdk/pull/9878)). Fixes #24365.
|
||||
* Show a success dialog after setting up the key backup ([\#10177](https://github.com/matrix-org/matrix-react-sdk/pull/10177)). Fixes #24487.
|
||||
* Release Sign in with QR out of labs ([\#10182](https://github.com/matrix-org/matrix-react-sdk/pull/10182)). Contributed by @hughns.
|
||||
* Hide indent button in rte ([\#10149](https://github.com/matrix-org/matrix-react-sdk/pull/10149)). Contributed by @alunturner.
|
||||
* Add option to find own location in map views ([\#10083](https://github.com/matrix-org/matrix-react-sdk/pull/10083)).
|
||||
* Render poll end events in timeline ([\#10027](https://github.com/matrix-org/matrix-react-sdk/pull/10027)). Contributed by @kerryarchibald.
|
||||
|
||||
## 🐛 Bug Fixes
|
||||
* Stop access token overflowing the box ([\#10069](https://github.com/matrix-org/matrix-react-sdk/pull/10069)). Fixes #24023. Contributed by @sbjaj33.
|
||||
* Add link to next file in the export ([\#10190](https://github.com/matrix-org/matrix-react-sdk/pull/10190)). Fixes #20272. Contributed by @grimhilt.
|
||||
* Ended poll tiles: add ended the poll message ([\#10193](https://github.com/matrix-org/matrix-react-sdk/pull/10193)). Fixes #24579. Contributed by @kerryarchibald.
|
||||
* Fix accidentally inverted condition for room ordering ([\#10178](https://github.com/matrix-org/matrix-react-sdk/pull/10178)). Fixes #24527. Contributed by @justjanne.
|
||||
* Re-focus the composer on dialogue quit ([\#10007](https://github.com/matrix-org/matrix-react-sdk/pull/10007)). Fixes #22832. Contributed by @Ashu999.
|
||||
* Try to resolve emails before creating a DM ([\#10164](https://github.com/matrix-org/matrix-react-sdk/pull/10164)).
|
||||
* Disable poll response loading test ([\#10168](https://github.com/matrix-org/matrix-react-sdk/pull/10168)). Contributed by @justjanne.
|
||||
* Fix email lookup in invite dialog ([\#10150](https://github.com/matrix-org/matrix-react-sdk/pull/10150)). Fixes #23353.
|
||||
* Remove duplicate white space characters from translation keys ([\#10152](https://github.com/matrix-org/matrix-react-sdk/pull/10152)). Contributed by @luixxiul.
|
||||
* Fix the caption of new sessions manager on Labs settings page for localization ([\#10143](https://github.com/matrix-org/matrix-react-sdk/pull/10143)). Contributed by @luixxiul.
|
||||
* Prevent start another DM with a user if one already exists ([\#10127](https://github.com/matrix-org/matrix-react-sdk/pull/10127)). Fixes #23138.
|
||||
* Remove white space characters before the horizontal ellipsis ([\#10130](https://github.com/matrix-org/matrix-react-sdk/pull/10130)). Contributed by @luixxiul.
|
||||
* Fix Selectable Text on 'Delete All' and 'Retry All' Buttons ([\#10128](https://github.com/matrix-org/matrix-react-sdk/pull/10128)). Fixes #23232. Contributed by @akshattchhabra.
|
||||
* Correctly Identify emoticons ([\#10108](https://github.com/matrix-org/matrix-react-sdk/pull/10108)). Fixes #19472. Contributed by @adarsh-sgh.
|
||||
* Remove a redundant white space ([\#10129](https://github.com/matrix-org/matrix-react-sdk/pull/10129)). Contributed by @luixxiul.
|
||||
|
||||
Changes in [1.11.23](https://github.com/vector-im/element-web/releases/tag/v1.11.23) (2023-02-14)
|
||||
=================================================================================================
|
||||
|
||||
## ✨ Features
|
||||
* Description of QR code sign in labs feature ([\#23513](https://github.com/vector-im/element-web/pull/23513)). Contributed by @hughns.
|
||||
* Add option to find own location in map views ([\#10083](https://github.com/matrix-org/matrix-react-sdk/pull/10083)).
|
||||
* Render poll end events in timeline ([\#10027](https://github.com/matrix-org/matrix-react-sdk/pull/10027)). Contributed by @kerryarchibald.
|
||||
* Indicate unread messages in tab title ([\#10096](https://github.com/matrix-org/matrix-react-sdk/pull/10096)). Contributed by @tnt7864.
|
||||
* Open message in editing mode when keyboard up is pressed (RTE) ([\#10079](https://github.com/matrix-org/matrix-react-sdk/pull/10079)). Contributed by @florianduros.
|
||||
* Hide superseded rooms from the room list using dynamic room predecessors ([\#10068](https://github.com/matrix-org/matrix-react-sdk/pull/10068)). Contributed by @andybalaam.
|
||||
* Support MSC3946 in RoomListStore ([\#10054](https://github.com/matrix-org/matrix-react-sdk/pull/10054)). Fixes #24325. Contributed by @andybalaam.
|
||||
* Auto focus security key field ([\#10048](https://github.com/matrix-org/matrix-react-sdk/pull/10048)).
|
||||
* use Poll model with relations API in poll rendering ([\#9877](https://github.com/matrix-org/matrix-react-sdk/pull/9877)). Contributed by @kerryarchibald.
|
||||
* Support MSC3946 in the RoomCreate tile ([\#10041](https://github.com/matrix-org/matrix-react-sdk/pull/10041)). Fixes #24323. Contributed by @andybalaam.
|
||||
* Update labs flag description for RTE ([\#10058](https://github.com/matrix-org/matrix-react-sdk/pull/10058)). Contributed by @florianduros.
|
||||
* Change ul list style to disc when editing message ([\#10043](https://github.com/matrix-org/matrix-react-sdk/pull/10043)). Contributed by @alunturner.
|
||||
* Improved click detection within PiP windows ([\#10040](https://github.com/matrix-org/matrix-react-sdk/pull/10040)). Fixes #24371.
|
||||
* Add RTE keyboard navigation in editing ([\#9980](https://github.com/matrix-org/matrix-react-sdk/pull/9980)). Fixes #23621. Contributed by @florianduros.
|
||||
* Paragraph integration for rich text editor ([\#10008](https://github.com/matrix-org/matrix-react-sdk/pull/10008)). Contributed by @alunturner.
|
||||
* Add indentation increasing/decreasing to RTE ([\#10034](https://github.com/matrix-org/matrix-react-sdk/pull/10034)). Contributed by @florianduros.
|
||||
* Add ignore user confirmation dialog ([\#6116](https://github.com/matrix-org/matrix-react-sdk/pull/6116)). Fixes #14746.
|
||||
* Use monospace font for room, message IDs in View Source modal ([\#9956](https://github.com/matrix-org/matrix-react-sdk/pull/9956)). Fixes #21937. Contributed by @paragpoddar.
|
||||
* Implement MSC3946 for AdvancedRoomSettingsTab ([\#9995](https://github.com/matrix-org/matrix-react-sdk/pull/9995)). Fixes #24322. Contributed by @andybalaam.
|
||||
* Implementation of MSC3824 to make the client OIDC-aware ([\#8681](https://github.com/matrix-org/matrix-react-sdk/pull/8681)). Contributed by @hughns.
|
||||
* Improves a11y for avatar uploads ([\#9985](https://github.com/matrix-org/matrix-react-sdk/pull/9985)). Contributed by @GoodGuyMarco.
|
||||
* Add support for [token authenticated registration](https ([\#7275](https://github.com/matrix-org/matrix-react-sdk/pull/7275)). Fixes #18931. Contributed by @govynnus.
|
||||
|
||||
## 🐛 Bug Fixes
|
||||
* Jitsi requests 'requires_client' capability if auth token is provided ([\#24294](https://github.com/vector-im/element-web/pull/24294)). Contributed by @maheichyk.
|
||||
* Remove duplicate white space characters from translation keys ([\#10152](https://github.com/matrix-org/matrix-react-sdk/pull/10152)). Contributed by @luixxiul.
|
||||
* Fix the caption of new sessions manager on Labs settings page for localization ([\#10143](https://github.com/matrix-org/matrix-react-sdk/pull/10143)). Contributed by @luixxiul.
|
||||
* Prevent start another DM with a user if one already exists ([\#10127](https://github.com/matrix-org/matrix-react-sdk/pull/10127)). Fixes #23138.
|
||||
* Remove white space characters before the horizontal ellipsis ([\#10130](https://github.com/matrix-org/matrix-react-sdk/pull/10130)). Contributed by @luixxiul.
|
||||
* Fix Selectable Text on 'Delete All' and 'Retry All' Buttons ([\#10128](https://github.com/matrix-org/matrix-react-sdk/pull/10128)). Fixes #23232. Contributed by @akshattchhabra.
|
||||
* Correctly Identify emoticons ([\#10108](https://github.com/matrix-org/matrix-react-sdk/pull/10108)). Fixes #19472. Contributed by @adarsh-sgh.
|
||||
* Should open new 1:1 chat room after leaving the old one ([\#9880](https://github.com/matrix-org/matrix-react-sdk/pull/9880)). Contributed by @ahmadkadri.
|
||||
* Remove a redundant white space ([\#10129](https://github.com/matrix-org/matrix-react-sdk/pull/10129)). Contributed by @luixxiul.
|
||||
* Fix a crash when removing persistent widgets (updated) ([\#10099](https://github.com/matrix-org/matrix-react-sdk/pull/10099)). Fixes #24412. Contributed by @andybalaam.
|
||||
* Fix wrongly grouping 3pid invites into a single repeated transition ([\#10087](https://github.com/matrix-org/matrix-react-sdk/pull/10087)). Fixes #24432.
|
||||
* Fix scrollbar colliding with checkbox in add to space section ([\#10093](https://github.com/matrix-org/matrix-react-sdk/pull/10093)). Fixes #23189. Contributed by @Arnabdaz.
|
||||
* Add a whitespace character after 'broadcast?' ([\#10097](https://github.com/matrix-org/matrix-react-sdk/pull/10097)). Contributed by @luixxiul.
|
||||
* Seekbar in broadcast PiP view is now updated when switching between different broadcasts ([\#10072](https://github.com/matrix-org/matrix-react-sdk/pull/10072)). Fixes #24415.
|
||||
* Add border to "reject" button on room preview card for clickable area indication. It fixes vector-im/element-web#22623 ([\#9205](https://github.com/matrix-org/matrix-react-sdk/pull/9205)). Contributed by @gefgu.
|
||||
* Element-R: fix rageshages ([\#10081](https://github.com/matrix-org/matrix-react-sdk/pull/10081)). Fixes #24430.
|
||||
* Fix markdown paragraph display in timeline ([\#10071](https://github.com/matrix-org/matrix-react-sdk/pull/10071)). Fixes #24419. Contributed by @alunturner.
|
||||
* Prevent the remaining broadcast time from being exceeded ([\#10070](https://github.com/matrix-org/matrix-react-sdk/pull/10070)).
|
||||
* Fix cursor position when new line is created by pressing enter (RTE) ([\#10064](https://github.com/matrix-org/matrix-react-sdk/pull/10064)). Contributed by @florianduros.
|
||||
* Ensure room is actually in space hierarchy when resolving its latest version ([\#10010](https://github.com/matrix-org/matrix-react-sdk/pull/10010)).
|
||||
* Fix new line for inline code ([\#10062](https://github.com/matrix-org/matrix-react-sdk/pull/10062)). Contributed by @florianduros.
|
||||
* Member avatars without canvas ([\#9990](https://github.com/matrix-org/matrix-react-sdk/pull/9990)). Contributed by @clarkf.
|
||||
* Apply more general fix for base avatar regressions ([\#10045](https://github.com/matrix-org/matrix-react-sdk/pull/10045)). Fixes #24382 and #24370.
|
||||
* Replace list, code block and quote icons by new icons ([\#10035](https://github.com/matrix-org/matrix-react-sdk/pull/10035)). Contributed by @florianduros.
|
||||
* fix regional emojis converted to flags ([\#9294](https://github.com/matrix-org/matrix-react-sdk/pull/9294)). Fixes #19000. Contributed by @grimhilt.
|
||||
* resolved emoji description text overflowing issue ([\#10028](https://github.com/matrix-org/matrix-react-sdk/pull/10028)). Contributed by @fahadNoufal.
|
||||
* Fix MessageEditHistoryDialog crashing on complex input ([\#10018](https://github.com/matrix-org/matrix-react-sdk/pull/10018)). Fixes #23665. Contributed by @clarkf.
|
||||
* Unify unread notification state determination ([\#9941](https://github.com/matrix-org/matrix-react-sdk/pull/9941)). Contributed by @clarkf.
|
||||
* Fix layout and visual regressions around default avatars ([\#10031](https://github.com/matrix-org/matrix-react-sdk/pull/10031)). Fixes #24375 and #24369.
|
||||
* Fix useUnreadNotifications exploding with falsey room, like in notif panel ([\#10030](https://github.com/matrix-org/matrix-react-sdk/pull/10030)). Fixes matrix-org/element-web-rageshakes#19334.
|
||||
* Fix "[object Promise]" appearing in HTML exports ([\#9975](https://github.com/matrix-org/matrix-react-sdk/pull/9975)). Fixes #24272. Contributed by @clarkf.
|
||||
* changing the color of message time stamp ([\#10016](https://github.com/matrix-org/matrix-react-sdk/pull/10016)). Contributed by @nawarajshah.
|
||||
* Fix link creation with backward selection ([\#9986](https://github.com/matrix-org/matrix-react-sdk/pull/9986)). Fixes #24315. Contributed by @florianduros.
|
||||
* Misaligned reply preview in thread composer #23396 ([\#9977](https://github.com/matrix-org/matrix-react-sdk/pull/9977)). Fixes #23396. Contributed by @mustafa-kapadia1483.
|
||||
|
||||
Changes in [1.11.22](https://github.com/vector-im/element-web/releases/tag/v1.11.22) (2023-01-31)
|
||||
=================================================================================================
|
||||
|
||||
## 🐛 Bug Fixes
|
||||
* Bump version number to fix problems upgrading from v1.11.21-rc.1
|
||||
|
||||
Changes in [1.11.21](https://github.com/vector-im/element-web/releases/tag/v1.11.21) (2023-01-31)
|
||||
=================================================================================================
|
||||
|
||||
## ✨ Features
|
||||
* Move pin drop out of labs ([\#22993](https://github.com/vector-im/element-web/pull/22993)).
|
||||
* Quotes for rich text editor (RTE) ([\#9932](https://github.com/matrix-org/matrix-react-sdk/pull/9932)). Contributed by @alunturner.
|
||||
* Show the room name in the room header during calls ([\#9942](https://github.com/matrix-org/matrix-react-sdk/pull/9942)). Fixes #24268.
|
||||
* Add code blocks to rich text editor ([\#9921](https://github.com/matrix-org/matrix-react-sdk/pull/9921)). Contributed by @alunturner.
|
||||
* Add new style for inline code ([\#9936](https://github.com/matrix-org/matrix-react-sdk/pull/9936)). Contributed by @florianduros.
|
||||
* Add disabled button state to rich text editor ([\#9930](https://github.com/matrix-org/matrix-react-sdk/pull/9930)). Contributed by @alunturner.
|
||||
* Change the rageshake "app" for auto-rageshakes ([\#9909](https://github.com/matrix-org/matrix-react-sdk/pull/9909)).
|
||||
* Device manager - tweak settings display ([\#9905](https://github.com/matrix-org/matrix-react-sdk/pull/9905)). Contributed by @kerryarchibald.
|
||||
* Add list functionality to rich text editor ([\#9871](https://github.com/matrix-org/matrix-react-sdk/pull/9871)). Contributed by @alunturner.
|
||||
|
||||
## 🐛 Bug Fixes
|
||||
* Fix RTE focus behaviour in threads ([\#9969](https://github.com/matrix-org/matrix-react-sdk/pull/9969)). Fixes #23755. Contributed by @florianduros.
|
||||
* #22204 Issue: Centered File info in lightbox ([\#9971](https://github.com/matrix-org/matrix-react-sdk/pull/9971)). Fixes #22204. Contributed by @Spartan09.
|
||||
* Fix seekbar position for zero length audio ([\#9949](https://github.com/matrix-org/matrix-react-sdk/pull/9949)). Fixes #24248.
|
||||
* Allow thread panel to be closed after being opened from notification ([\#9937](https://github.com/matrix-org/matrix-react-sdk/pull/9937)). Fixes #23764 #23852 and #24213. Contributed by @justjanne.
|
||||
* Only highlight focused menu item if focus is supposed to be visible ([\#9945](https://github.com/matrix-org/matrix-react-sdk/pull/9945)). Fixes #23582.
|
||||
* Prevent call durations from breaking onto multiple lines ([\#9944](https://github.com/matrix-org/matrix-react-sdk/pull/9944)).
|
||||
* Tweak call lobby buttons to more closely match designs ([\#9943](https://github.com/matrix-org/matrix-react-sdk/pull/9943)).
|
||||
* Do not show a broadcast as live immediately after the recording has stopped ([\#9947](https://github.com/matrix-org/matrix-react-sdk/pull/9947)). Fixes #24233.
|
||||
* Clear the RTE before sending a message ([\#9948](https://github.com/matrix-org/matrix-react-sdk/pull/9948)). Contributed by @florianduros.
|
||||
* Fix {enter} press in RTE ([\#9927](https://github.com/matrix-org/matrix-react-sdk/pull/9927)). Contributed by @florianduros.
|
||||
* Fix the problem that the password reset email has to be confirmed twice ([\#9926](https://github.com/matrix-org/matrix-react-sdk/pull/9926)). Fixes #24226.
|
||||
* replace .at() with array.length-1 ([\#9933](https://github.com/matrix-org/matrix-react-sdk/pull/9933)). Fixes matrix-org/element-web-rageshakes#19281.
|
||||
* Fix broken threads list timestamp layout ([\#9922](https://github.com/matrix-org/matrix-react-sdk/pull/9922)). Fixes #24243 and #24191. Contributed by @justjanne.
|
||||
* Disable multiple messages when {enter} is pressed multiple times ([\#9929](https://github.com/matrix-org/matrix-react-sdk/pull/9929)). Fixes #24249. Contributed by @florianduros.
|
||||
* Fix logout devices when resetting the password ([\#9925](https://github.com/matrix-org/matrix-react-sdk/pull/9925)). Fixes #24228.
|
||||
* Fix: Poll replies overflow when not enough space ([\#9924](https://github.com/matrix-org/matrix-react-sdk/pull/9924)). Fixes #24227. Contributed by @kerryarchibald.
|
||||
* State event updates are not forwarded to the widget from invitation room ([\#9802](https://github.com/matrix-org/matrix-react-sdk/pull/9802)). Contributed by @maheichyk.
|
||||
* Fix error when viewing source of redacted events ([\#9914](https://github.com/matrix-org/matrix-react-sdk/pull/9914)). Fixes #24165. Contributed by @clarkf.
|
||||
* Replace outdated css attribute ([\#9912](https://github.com/matrix-org/matrix-react-sdk/pull/9912)). Fixes #24218. Contributed by @justjanne.
|
||||
* Clear isLogin theme override when user is no longer viewing login screens ([\#9911](https://github.com/matrix-org/matrix-react-sdk/pull/9911)). Fixes #23893.
|
||||
* Fix reply action in message context menu notif & file panels ([\#9895](https://github.com/matrix-org/matrix-react-sdk/pull/9895)). Fixes #23970.
|
||||
* Fix issue where thread dropdown would not show up correctly ([\#9872](https://github.com/matrix-org/matrix-react-sdk/pull/9872)). Fixes #24040. Contributed by @justjanne.
|
||||
* Fix unexpected composer growing ([\#9889](https://github.com/matrix-org/matrix-react-sdk/pull/9889)). Contributed by @florianduros.
|
||||
* Fix misaligned timestamps for thread roots which are emotes ([\#9875](https://github.com/matrix-org/matrix-react-sdk/pull/9875)). Fixes #23897. Contributed by @justjanne.
|
||||
|
||||
Changes in [1.11.20](https://github.com/vector-im/element-web/releases/tag/v1.11.20) (2023-01-20)
|
||||
=================================================================================================
|
||||
|
||||
@@ -1550,7 +1733,7 @@ Changes in [1.10.1](https://github.com/vector-im/element-web/releases/tag/v1.10.
|
||||
===============================================================================================
|
||||
|
||||
## 🐛 Bug Fixes
|
||||
* Fix the sticker picker ([\#7692](https://github.com/matrix-org/matrix-react-sdk/pull/7692)). Fixes vector-im/element-web#20797.
|
||||
* Fix the sticker picker ([\#7692](https://github.com/matrix-org/matrix-react-sdk/pull/7692)). Fixes vector-im/element-web#20797.
|
||||
* Ensure UserInfo can be rendered without a room ([\#7687](https://github.com/matrix-org/matrix-react-sdk/pull/7687)). Fixes vector-im/element-web#20830.
|
||||
* Fix publishing address wrongly demanding the alias be available ([\#7690](https://github.com/matrix-org/matrix-react-sdk/pull/7690)). Fixes vector-im/element-web#12013 and vector-im/element-web#20833.
|
||||
|
||||
@@ -2887,7 +3070,7 @@ Changes in [1.7.34](https://github.com/vector-im/element-desktop/releases/tag/v1
|
||||
* Fix bug where the 'other homeserver' field in the server selection dialog would become briefly focus and then unfocus when clicked.
|
||||
[\#6394](https://github.com/matrix-org/matrix-react-sdk/pull/6394)
|
||||
Fixes #18031
|
||||
* Standardise spelling and casing of homeserver, identity server, and integration manager
|
||||
* Standardise spelling and casing of homeserver, identity server, and integration manager
|
||||
[\#6365](https://github.com/matrix-org/matrix-react-sdk/pull/6365)
|
||||
* Fix widgets not receiving decrypted events when they have permission.
|
||||
[\#6371](https://github.com/matrix-org/matrix-react-sdk/pull/6371)
|
||||
@@ -4732,7 +4915,7 @@ Changes in [1.4.1](https://github.com/vector-im/riot-web/releases/tag/v1.4.1) (2
|
||||
==========================================================================================
|
||||
[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.4.0...v1.4.1)
|
||||
|
||||
* Upgrade to React SDK 1.6.1 to fix critical
|
||||
* Upgrade to React SDK 1.6.1 to fix critical
|
||||
[blank screen issue](https://github.com/vector-im/riot-web/issues/10983)
|
||||
* Upgrade to JS SDK 2.4.1 to to ignore crypto events with empty content
|
||||
* Update from Weblate
|
||||
|
||||
@@ -17,9 +17,15 @@ into our repo (https://help.github.com/articles/using-pull-requests/)
|
||||
We use GitHub's pull request workflow to review the contribution, and either
|
||||
ask you to make any refinements needed or merge it and make them ourselves.
|
||||
|
||||
Things that should go into your PR description:
|
||||
Your PR should have a title that describes what change is being made. This
|
||||
is used for the text in the Changelog entry by default (see below), so a good
|
||||
title will tell a user succinctly what change is being made. "Fix bug where
|
||||
cows had five legs" and, "Add support for miniature horses" are examples of good
|
||||
titles. Don't include an issue number here: that belongs in the description.
|
||||
Definitely don't use the GitHub default of "Update file.ts".
|
||||
|
||||
As for your PR description, it should include these things:
|
||||
|
||||
- A changelog entry in the `Notes` section (see below)
|
||||
- References to any bugs fixed by the change (in GitHub's `Fixes` notation)
|
||||
- Describe the why and what is changing in the PR description so it's easy for
|
||||
onlookers and reviewers to onboard and context switch. This information is
|
||||
@@ -41,11 +47,14 @@ Things that should go into your PR description:
|
||||
- Add comments to the diff for the reviewer that might help them to understand
|
||||
why the change is necessary or how they might better understand and review it.
|
||||
|
||||
We rely on information in pull request to populate the information that goes into
|
||||
the changelogs our users see, both for Element Web itself and other projects on
|
||||
which it is based. This is picked up from both labels on the pull request and
|
||||
the `Notes:` annotation in the description. By default, the PR title will be
|
||||
used for the changelog entry, but you can specify more options, as follows.
|
||||
### Changelogs
|
||||
|
||||
There's no need to manually add Changelog entries: we use information in the
|
||||
pull request to populate the information that goes into the changelogs our
|
||||
users see, both for Element Web itself and other projects on which it is based.
|
||||
This is picked up from both labels on the pull request and the `Notes:`
|
||||
annotation in the description. By default, the PR title will be used for the
|
||||
changelog entry, but you can specify more options, as follows.
|
||||
|
||||
To add a longer, more detailed description of the change for the changelog:
|
||||
|
||||
@@ -280,3 +289,10 @@ When stacking pull requests, you may wish to do the following:
|
||||
3. Merge the first PR using a merge commit otherwise your stacked PR will need a rebase. Github will automatically adjust the base branch of your other PR to be develop.
|
||||
|
||||
[1]: https://github.com/gotwarlost/istanbul/blob/master/ignoring-code-for-coverage.md
|
||||
|
||||
# Decoding Stack Traces
|
||||
|
||||
Element Web has crashed and given you an obfuscated stack trace? Don't panic:
|
||||
use the [Decoder Ring](https://app.element.io/decoder-ring/) (or /decoder-ring/
|
||||
on any Element Web deploy). It is somewhat of a manual process, but it should
|
||||
tell you what lines the stack trace corresponds to from the source maps.
|
||||
|
||||
@@ -24,7 +24,7 @@ Element has several tiers of support for different environments:
|
||||
that are actively supported by the OS vendor and receive security updates
|
||||
- Experimental
|
||||
- Definition: Issues **accepted**, regressions **do not block** the release
|
||||
- Element as an installed PWA via current stable version of Chrome, Firefox, and Safari
|
||||
- Element as an installed PWA via current stable version of Chrome
|
||||
- Mobile web for current stable version of Chrome, Firefox, and Safari on Android, iOS, and iPadOS
|
||||
- Not supported
|
||||
- Definition: Issues only affecting unsupported environments are **closed**
|
||||
@@ -104,7 +104,7 @@ If you are using nginx, this would look something like the following:
|
||||
add_header X-Frame-Options SAMEORIGIN;
|
||||
add_header X-Content-Type-Options nosniff;
|
||||
add_header X-XSS-Protection "1; mode=block";
|
||||
add_header Content-Security-Policy "frame-ancestors 'none'";
|
||||
add_header Content-Security-Policy "frame-ancestors 'self'";
|
||||
```
|
||||
|
||||
For Apache, the configuration looks like:
|
||||
|
||||
@@ -8,21 +8,6 @@ Before a feature gets into its beta phase, it is often a labs feature (see
|
||||
|
||||
**Be warned! Beta features may not be completely finalised or stable!**
|
||||
|
||||
## Threaded Messaging (`feature_thread`)
|
||||
|
||||
Threading allows users to branch out a new conversation from the main timeline
|
||||
of a room. This is particularly useful in high traffic rooms where multiple
|
||||
conversations can happen in parallel or when a single discussion might stretch
|
||||
over a very long period of time.
|
||||
|
||||
Threads can be access by clicking their summary below the root event on the room
|
||||
timeline. Users can find a comprehensive list of threads by click the icon on
|
||||
the room header button.
|
||||
|
||||
This feature might work in degraded mode if the homeserver a user is connected
|
||||
to does not advertise support for the unstable feature `org.matrix.msc3440` when
|
||||
calling the `/versions` API endpoint.
|
||||
|
||||
## Video rooms (`feature_video_rooms`)
|
||||
|
||||
Enables support for creating and joining video rooms, which are persistent video
|
||||
|
||||
@@ -341,10 +341,8 @@ If you run your own rageshake server to collect bug reports, the following optio
|
||||
not present in the config, the app will disable all rageshake functionality. Set to `https://element.io/bugreports/submit` to submit
|
||||
rageshakes to us, or use your own rageshake server.
|
||||
2. `uisi_autorageshake_app`: If a user has enabled the "automatically send debug logs on decryption errors" flag, this option will be sent
|
||||
alongside the rageshake so the rageshake server can filter them by app name. By default, this will be `element-web`, as with any other
|
||||
rageshake submitted by the app.
|
||||
|
||||
If you are using the element.io rageshake server, please set this to `element-auto-uisi` so we can better filter them.
|
||||
alongside the rageshake so the rageshake server can filter them by app name. By default, this will be `element-auto-uisi`
|
||||
(in contrast to other rageshakes submitted by the app, which use `element-web`).
|
||||
|
||||
If you would like to use [Sentry](https://sentry.io/) for rageshake data, add a `sentry` object to your config with the following values:
|
||||
|
||||
@@ -423,39 +421,6 @@ There are additional root-level options which can be specified:
|
||||
and is useful when the provider of analytics is different from the provider of the Element instance.
|
||||
2. `privacy_policy_url`: URL to the privacy policy including the analytics collection policy.
|
||||
|
||||
## Server hosting links
|
||||
|
||||
If you would like to encourage matrix.org users to sign up for a service like [Element Matrix Services](https://element.io/matrix-services/server-hosting),
|
||||
the following configuration options can be set. Note that if the options are missing from the configuration then the hosting prompts
|
||||
will not be shown to the user.
|
||||
|
||||
1. `hosting_signup_link`: Optional URL to link the user to when talking about "Upgrading your account". Will contain a query parameter
|
||||
of `utm_campaign` to denote which link the user clicked on within the app. Only ever applies to matrix.org users specifically.
|
||||
2. `host_signup`: Optional configuration for an account importer to your hosting platform. The API surface of this is not documented
|
||||
at the moment, but can be configured with the following subproperties:
|
||||
1. `brand`: The brand name to use.
|
||||
2. `url`: The iframe URL for the importer.
|
||||
3. `domains`: The homeserver domains to show the importer to.
|
||||
4. `cookie_policy_url`: The URL to the cookie policy for the importer.
|
||||
5. `privacy_policy_url`: The URL to the privacy policy for the importer.
|
||||
6. `terms_of_service_url`: The URL to the terms of service for the importer.
|
||||
|
||||
If you're looking to mirror a setup from our production/development environments, the following config should be used:
|
||||
|
||||
```json
|
||||
{
|
||||
"hosting_signup_link": "https://element.io/matrix-services?utm_source=element-web&utm_medium=web",
|
||||
"host_signup": {
|
||||
"brand": "Element Home",
|
||||
"domains": ["matrix.org"],
|
||||
"url": "https://ems.element.io/element-home/in-app-loader",
|
||||
"cookie_policy_url": "https://element.io/cookie-policy",
|
||||
"privacy_policy_url": "https://element.io/privacy",
|
||||
"terms_of_service_url": "https://element.io/terms-of-service"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## Miscellaneous
|
||||
|
||||
Element supports other options which don't quite fit into other sections of this document.
|
||||
@@ -517,9 +482,6 @@ Currently, the following UI feature flags are supported:
|
||||
- `UIFeature.voip` - Whether or not VoIP is shown readily to the user. When disabled,
|
||||
Jitsi widgets will still work though they cannot easily be added.
|
||||
- `UIFeature.widgets` - Whether or not widgets will be shown.
|
||||
- `UIFeature.flair` - Whether or not community flair is shown in rooms.
|
||||
- `UIFeature.communities` - Whether or not to show any UI related to communities. Implicitly
|
||||
disables `UIFeature.flair` when disabled.
|
||||
- `UIFeature.advancedSettings` - Whether or not sections titled "advanced" in room and
|
||||
user settings are shown to the user.
|
||||
- `UIFeature.shareQrCode` - Whether or not the QR code on the share room/event dialog
|
||||
|
||||
@@ -162,7 +162,7 @@ Then you can deploy it to your cluster with something like `kubectl apply -f my-
|
||||
add_header X-Frame-Options SAMEORIGIN;
|
||||
add_header X-Content-Type-Options nosniff;
|
||||
add_header X-XSS-Protection "1; mode=block";
|
||||
add_header Content-Security-Policy "frame-ancestors 'none'";
|
||||
add_header Content-Security-Policy "frame-ancestors 'self'";
|
||||
spec:
|
||||
rules:
|
||||
- host: element.example.nl
|
||||
|
||||
22
docs/labs.md
22
docs/labs.md
@@ -145,22 +145,10 @@ If no right panel state is known for the room or it was closed on the last room
|
||||
visit, it will default to the room member list. Otherwise, the saved card last
|
||||
used in that room is shown.
|
||||
|
||||
## Pin drop location sharing (`feature_location_share_pin_drop`) [In Development]
|
||||
|
||||
Enables sharing a pin drop location to the timeline.
|
||||
|
||||
## Live location sharing (`feature_location_share_live`) [In Development]
|
||||
|
||||
Enables sharing your current location to the timeline, with live updates.
|
||||
|
||||
## Threaded Messaging (`feature_thread`)
|
||||
|
||||
Threading allows users to branch out a new conversation from the main timeline of a room. This is particularly useful in high traffic rooms where multiple conversations can happen in parallel or when a single discussion might stretch over a very long period of time.
|
||||
|
||||
Threads can be access by clicking their summary below the root event on the room timeline. Users can find a comprehensive list of threads by click the icon on the room header button.
|
||||
|
||||
This feature might work in degraded mode if the homeserver a user is connected to does not advertise support for the unstable feature `org.matrix.msc3440` when calling the `/versions` API endpoint.
|
||||
|
||||
## Video rooms (`feature_video_rooms`)
|
||||
|
||||
Enables support for creating and joining video rooms, which are persistent video chats that users can jump in and out of.
|
||||
@@ -189,3 +177,13 @@ have [MSC3827](https://github.com/matrix-org/matrix-spec-proposals/pull/3827) en
|
||||
## Favourite Messages (`feature_favourite_messages`) [In Development]
|
||||
|
||||
Enables users to bookmark a message or content for a later reference.
|
||||
|
||||
## Sign in another device by showing a QR code (`feature_qr_signin_reciprocate_show`)
|
||||
|
||||
Add capability to the session/device manager screens to generate a QR code to sign in another device + set up E2EE. This requires the homeserver to have support for [MSC3882](https://github.com/matrix-org/matrix-spec-proposals/pull/3882) and [MSC3886](https://github.com/matrix-org/matrix-spec-proposals/pull/3886) enabled.
|
||||
|
||||
## Use the Rust cryptography implementation (`feature_rust_crypto`) [In Development]
|
||||
|
||||
Configures Element to use a new cryptography implementation based on the [matrix-rust-sdk](https://github.com/matrix-org/matrix-rust-sdk).
|
||||
|
||||
This setting is (currently) _sticky_ to a user's session: it only takes effect when the user logs in to a new session. Likewise, even after disabling the setting in `config.json`, the Rust implemention will remain in use until users log out.
|
||||
|
||||
@@ -10,7 +10,6 @@
|
||||
"https://scalar-staging.vector.im/api",
|
||||
"https://scalar-staging.riot.im/scalar/api"
|
||||
],
|
||||
"hosting_signup_link": "https://element.io/matrix-services?utm_source=element-web&utm_medium=web",
|
||||
"bug_report_endpoint_url": "https://element.io/bugreports/submit",
|
||||
"uisi_autorageshake_app": "element-auto-uisi",
|
||||
"showLabsSettings": false,
|
||||
@@ -31,14 +30,6 @@
|
||||
"text": "Cookie Policy"
|
||||
}
|
||||
],
|
||||
"hostSignup": {
|
||||
"brand": "Element Home",
|
||||
"cookiePolicyUrl": "https://element.io/cookie-policy",
|
||||
"domains": ["matrix.org"],
|
||||
"privacyPolicyUrl": "https://element.io/privacy",
|
||||
"termsOfServiceUrl": "https://element.io/terms-of-service",
|
||||
"url": "https://ems.element.io/element-home/in-app-loader"
|
||||
},
|
||||
"posthog": {
|
||||
"projectApiKey": "phc_Jzsm6DTm6V2705zeU5dcNvQDlonOR68XvX2sh1sEOHO",
|
||||
"apiHost": "https://posthog.element.io"
|
||||
|
||||
@@ -10,7 +10,6 @@
|
||||
"https://scalar-staging.vector.im/api",
|
||||
"https://scalar-staging.riot.im/scalar/api"
|
||||
],
|
||||
"hosting_signup_link": "https://element.io/matrix-services?utm_source=element-web&utm_medium=web",
|
||||
"bug_report_endpoint_url": "https://element.io/bugreports/submit",
|
||||
"uisi_autorageshake_app": "element-auto-uisi",
|
||||
"showLabsSettings": true,
|
||||
@@ -31,14 +30,6 @@
|
||||
"text": "Cookie Policy"
|
||||
}
|
||||
],
|
||||
"hostSignup": {
|
||||
"brand": "Element Home",
|
||||
"cookiePolicyUrl": "https://element.io/cookie-policy",
|
||||
"domains": ["matrix.org"],
|
||||
"privacyPolicyUrl": "https://element.io/privacy",
|
||||
"termsOfServiceUrl": "https://element.io/terms-of-service",
|
||||
"url": "https://ems.element.io/element-home/in-app-loader"
|
||||
},
|
||||
"sentry": {
|
||||
"dsn": "https://029a0eb289f942508ae0fb17935bd8c5@sentry.matrix.org/6",
|
||||
"environment": "develop"
|
||||
|
||||
50
package.json
50
package.json
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "element-web",
|
||||
"version": "1.11.20",
|
||||
"version": "1.11.25",
|
||||
"description": "A feature-rich client for Matrix.org",
|
||||
"author": "New Vector Ltd.",
|
||||
"repository": {
|
||||
@@ -44,24 +44,34 @@
|
||||
"start": "yarn build:module_system && concurrently --kill-others-on-fail --prefix \"{time} [{name}]\" -n res,element-js \"yarn start:res\" \"yarn start:js\"",
|
||||
"start:https": "concurrently --kill-others-on-fail --prefix \"{time} [{name}]\" -n res,element-js \"yarn start:res\" \"yarn start:js --https\"",
|
||||
"start:res": "yarn build:jitsi && node scripts/copy-res.js -w",
|
||||
"start:js": "webpack-dev-server --host=0.0.0.0 --output-filename=bundles/_dev_/[name].js --output-chunk-filename=bundles/_dev_/[name].js -w --mode development --disable-host-check --hot",
|
||||
"start:js": "webpack-dev-server --output-filename=bundles/_dev_/[name].js --output-chunk-filename=bundles/_dev_/[name].js -w --mode development --disable-host-check --hot",
|
||||
"lint": "yarn lint:types && yarn lint:js && yarn lint:style",
|
||||
"lint:js": "eslint --max-warnings 0 src module_system test && prettier --check .",
|
||||
"lint:js-fix": "prettier --write . && eslint --fix src module_system test",
|
||||
"lint:types": "tsc --noEmit --jsx react && tsc --noEmit --project ./tsconfig.module_system.json",
|
||||
"lint:js": "yarn lint:js:src && yarn lint:js:module_system",
|
||||
"lint:js:src": "eslint --max-warnings 0 src test && prettier --check .",
|
||||
"lint:js:module_system": "eslint --max-warnings 0 --config .eslintrc-module_system.js module_system",
|
||||
"lint:js-fix": "yarn lint:js-fix:src && yarn lint:js-fix:module_system",
|
||||
"lint:js-fix:src": "prettier --write . && eslint --fix src test",
|
||||
"lint:js-fix:module_system": "eslint --fix --config .eslintrc-module_system.js module_system",
|
||||
"lint:types": "yarn lint:types:src && yarn lint:types:module_system",
|
||||
"lint:types:src": "tsc --noEmit --jsx react",
|
||||
"lint:types:module_system": "tsc --noEmit --project ./tsconfig.module_system.json",
|
||||
"lint:style": "stylelint \"res/css/**/*.pcss\"",
|
||||
"test": "jest",
|
||||
"coverage": "yarn test --coverage",
|
||||
"analyse:unused-exports": "node ./scripts/analyse_unused_exports.js"
|
||||
},
|
||||
"resolutions": {
|
||||
"@types/react-dom": "17.0.19",
|
||||
"@types/react": "17.0.53"
|
||||
},
|
||||
"dependencies": {
|
||||
"@matrix-org/olm": "https://gitlab.matrix.org/api/v4/projects/27/packages/npm/@matrix-org/olm/-/@matrix-org/olm-3.2.12.tgz",
|
||||
"@matrix-org/react-sdk-module-api": "^0.0.3",
|
||||
"@matrix-org/react-sdk-module-api": "^0.0.4",
|
||||
"gfm.css": "^1.1.2",
|
||||
"jsrsasign": "^10.5.25",
|
||||
"katex": "^0.16.0",
|
||||
"matrix-js-sdk": "23.1.1",
|
||||
"matrix-react-sdk": "3.64.2",
|
||||
"matrix-js-sdk": "23.5.0",
|
||||
"matrix-react-sdk": "3.68.0",
|
||||
"matrix-widget-api": "^1.1.1",
|
||||
"react": "17.0.2",
|
||||
"react-dom": "17.0.2",
|
||||
@@ -95,12 +105,12 @@
|
||||
"@types/jsrsasign": "^10.5.4",
|
||||
"@types/modernizr": "^3.5.3",
|
||||
"@types/node": "^16",
|
||||
"@types/react": "17.0.49",
|
||||
"@types/react-dom": "17.0.17",
|
||||
"@types/react": "17.0.53",
|
||||
"@types/react-dom": "17.0.19",
|
||||
"@types/sanitize-html": "^2.3.1",
|
||||
"@types/ua-parser-js": "^0.7.36",
|
||||
"@typescript-eslint/eslint-plugin": "^5.6.0",
|
||||
"@typescript-eslint/parser": "^5.6.0",
|
||||
"@typescript-eslint/eslint-plugin": "^5.45.0",
|
||||
"@typescript-eslint/parser": "^5.45.0",
|
||||
"allchange": "^1.0.6",
|
||||
"babel-jest": "^29.0.0",
|
||||
"babel-loader": "^8.2.2",
|
||||
@@ -109,12 +119,12 @@
|
||||
"cpx": "^1.5.0",
|
||||
"css-loader": "^4",
|
||||
"dotenv": "^16.0.2",
|
||||
"eslint": "8.28.0",
|
||||
"eslint": "8.35.0",
|
||||
"eslint-config-google": "^0.14.0",
|
||||
"eslint-config-prettier": "^8.5.0",
|
||||
"eslint-plugin-deprecate": "^0.7.0",
|
||||
"eslint-plugin-import": "^2.25.4",
|
||||
"eslint-plugin-matrix-org": "^0.9.0",
|
||||
"eslint-plugin-import": "^2.26.0",
|
||||
"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",
|
||||
@@ -135,7 +145,7 @@
|
||||
"matrix-web-i18n": "^1.3.0",
|
||||
"mini-css-extract-plugin": "^1",
|
||||
"minimist": "^1.2.6",
|
||||
"mkdirp": "^1.0.4",
|
||||
"mkdirp": "^2.0.0",
|
||||
"modernizr": "^3.12.0",
|
||||
"node-fetch": "^2.6.7",
|
||||
"optimize-css-assets-webpack-plugin": "^6.0.0",
|
||||
@@ -149,20 +159,20 @@
|
||||
"postcss-preset-env": "^6.7.0",
|
||||
"postcss-scss": "^4.0.4",
|
||||
"postcss-simple-vars": "^5.0.2",
|
||||
"prettier": "2.8.0",
|
||||
"prettier": "2.8.4",
|
||||
"raw-loader": "^4.0.2",
|
||||
"rimraf": "^3.0.2",
|
||||
"semver": "^7.3.7",
|
||||
"simple-proxy-agent": "^1.1.0",
|
||||
"string-replace-loader": "3",
|
||||
"style-loader": "2",
|
||||
"stylelint": "^14.9.1",
|
||||
"stylelint": "^15.0.0",
|
||||
"stylelint-config-prettier": "^9.0.4",
|
||||
"stylelint-config-standard": "^29.0.0",
|
||||
"stylelint-config-standard": "^30.0.0",
|
||||
"stylelint-scss": "^4.2.0",
|
||||
"terser-webpack-plugin": "^4.0.0",
|
||||
"ts-prune": "^0.10.3",
|
||||
"typescript": "4.9.3",
|
||||
"typescript": "4.9.5",
|
||||
"webpack": "^4.46.0",
|
||||
"webpack-cli": "^3.3.12",
|
||||
"webpack-dev-server": "^3.11.2",
|
||||
|
||||
@@ -26,5 +26,7 @@
|
||||
"Failed to start": "فشل البدء",
|
||||
"Powered by Matrix": "تدعمه «ماترِكس»",
|
||||
"Use %(brand)s on mobile": "استعمل %(brand)s على المحمول",
|
||||
"Decentralised, encrypted chat & collaboration powered by $matrixLogo": "محادثة لامركزية، مشفرة & تعمل بواسطة $matrixLogo"
|
||||
"Decentralised, encrypted chat & 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"
|
||||
}
|
||||
|
||||
@@ -24,5 +24,9 @@
|
||||
"Download Completed": "Download Completed",
|
||||
"Unable to load config file: please refresh the page to try again.": "Unable to load config file: please refresh the page to try again.",
|
||||
"Your Element configuration contains invalid JSON. Please correct the problem and reload the page.": "Your Element configuration contains invalid JSON. Please correct the problem and reload the page.",
|
||||
"Your Element is misconfigured": "Your Element is misconfigured"
|
||||
"Your Element is misconfigured": "Your Element is misconfigured",
|
||||
"Decentralised, encrypted chat & collaboration powered by $matrixLogo": "Decentralised, encrypted chat & collaboration powered by $matrixLogo",
|
||||
"Use %(brand)s on mobile": "Use %(brand)s on mobile",
|
||||
"%(appName)s: %(browserName)s on %(osName)s": "%(appName)s: %(browserName)s on %(osName)s",
|
||||
"%(brand)s Desktop: %(platformName)s": "%(brand)s Desktop: %(platformName)s"
|
||||
}
|
||||
|
||||
@@ -26,5 +26,7 @@
|
||||
"Powered by Matrix": "מופעל על ידי מטריקס",
|
||||
"The message from the parser is: %(message)s": "ההודעה מהמנתח היא: %(message)s",
|
||||
"Use %(brand)s on mobile": "השתמש ב-%(brand)s במכשיר הנייד",
|
||||
"Decentralised, encrypted chat & collaboration powered by $matrixLogo": "צ'אט מבוזר ומוצפן & מופעל בשיתוף פעולה ע\"י $matrixLogo"
|
||||
"Decentralised, encrypted chat & 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"
|
||||
}
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
"Create Account": "Fiók létrehozása",
|
||||
"Explore rooms": "Szobák felderítése",
|
||||
"Unexpected error preparing the app. See console for details.": "Váratlan hiba történt az alkalmazás előkészítésénél. A részletekért lásd a konzolt.",
|
||||
"Invalid configuration: can only specify one of default_server_config, default_server_name, or default_hs_url.": "Érvénytelen konfiguráció: csak egyet lehet megadni a default_server_config, default_server_name és default_hs_url közül.",
|
||||
"Invalid configuration: can only specify one of default_server_config, default_server_name, or default_hs_url.": "Érvénytelen konfiguráció: ezek közül csak egyet lehet megadni: default_server_config, default_server_name és default_hs_url.",
|
||||
"Invalid configuration: no default server specified.": "Érvénytelen konfiguráció: nincs megadva alapértelmezett kiszolgáló.",
|
||||
"The message from the parser is: %(message)s": "A feldolgozó algoritmus üzenete: %(message)s",
|
||||
"Invalid JSON": "Érvénytelen JSON",
|
||||
|
||||
@@ -26,5 +26,7 @@
|
||||
"Invalid configuration: no default server specified.": "Ógild uppsetning: enginn sjálfgefinn vefþjónn tilgreindur.",
|
||||
"Invalid configuration: can only specify one of default_server_config, default_server_name, or default_hs_url.": "Ógild uppsetning: getur aðeins tilgreint eitt af default_server_config, default_server_name eða default_hs_url.",
|
||||
"Use %(brand)s on mobile": "Nota %(brand)s í síma",
|
||||
"Decentralised, encrypted chat & collaboration powered by $matrixLogo": "Dreifstýrt, dulritað spjall og samskipti keyrt með $matrixLogo"
|
||||
"Decentralised, encrypted chat & collaboration powered by $matrixLogo": "Dreifstýrt, dulritað spjall og samskipti keyrt með $matrixLogo",
|
||||
"%(appName)s: %(browserName)s on %(osName)s": "%(appName)s: %(browserName)s á %(osName)s",
|
||||
"%(brand)s Desktop: %(platformName)s": "%(brand)s borðtölvuútgáfa: %(platformName)s"
|
||||
}
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
"Invalid configuration: no default server specified.": "不正な設定:デフォルトのサーバーが設定されていません。",
|
||||
"Sign In": "サインイン",
|
||||
"Create Account": "アカウントを作成",
|
||||
"Explore rooms": "ルームを探索",
|
||||
"Explore rooms": "ルームを探す",
|
||||
"The message from the parser is: %(message)s": "パーサーのメッセージ:%(message)s",
|
||||
"Invalid JSON": "不正なJSON",
|
||||
"Invalid configuration: can only specify one of default_server_config, default_server_name, or default_hs_url.": "不正な設定:default_server_config、default_server_name、またはdefault_hs_urlのいずれか一つのみを指定できます。",
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
{
|
||||
"Unknown device": "უცნობი მოწყობილობა",
|
||||
"Dismiss": "უარის თქმა",
|
||||
"Dismiss": "დახურვა",
|
||||
"Welcome to Element": "კეთილი იყოს თქვენი მობრძანება Element-ზე",
|
||||
"Explore rooms": "ოთახების დათავლიერება",
|
||||
"Failed to start": "ჩართვა ვერ მოხერხდა",
|
||||
"Use %(brand)s on mobile": "გამოიყენე %(brand)s-ი მობილურზე",
|
||||
"Unexpected error preparing the app. See console for details.": "მოულოდნელი ერორი აპლიკაციის შემზადებისას. იხილეთ კონსოლი დეტალებისთვის.",
|
||||
"Your Element configuration contains invalid JSON. Please correct the problem and reload the page.": "თქვენი Element-ის კონფიგურაცია შეიცავს მიუღებელ JSON-ს. გთხოვთ გადაჭრათ პრობლემა და დაარაფრეშოთ გვერდი.",
|
||||
"Your Element configuration contains invalid JSON. Please correct the problem and reload the page.": "თქვენი Element-ის კონფიგურაცია შეიცავს მიუღებელ JSON-ს. გთხოვთ, გამოასწოროთ პრობლემა და გადატვირთოთ გვერდი.",
|
||||
"Sign In": "შესვლა",
|
||||
"Invalid configuration: no default server specified.": "არასწორი კონფიგურაცია: მთავარი სერვერი არ არის მითითებული.",
|
||||
"Create Account": "ანგარიშის შექმნა",
|
||||
@@ -14,12 +14,19 @@
|
||||
"I understand the risks and wish to continue": "მესმის რისკები და მსურს გაგრძელება",
|
||||
"Unsupported browser": "ბრაუზერი არ არის მხარდაჭერილი",
|
||||
"Your browser can't run %(brand)s": "შენ ბრაუზერს არ შეუძლია გაუშვას %(brand)s-ი",
|
||||
"Unable to load config file: please refresh the page to try again.": "კონფიგურაციის ფაილის ჩატვირთვა ვერ მოხერხდა: დაარეფრეშე გვერდი თავიდან საცდელად",
|
||||
"Invalid JSON": "მიუღებელი JSON-ი",
|
||||
"Unable to load config file: please refresh the page to try again.": "კონფიგურაციის ფაილის ჩატვირთვა შეუძლებელია: გთხოვთ, განაახლოთ გვერდი ხელახლა საცდელად.",
|
||||
"Invalid JSON": "არასწორი JSON",
|
||||
"Your Element is misconfigured": "შენი Element-ი არასწორადაა კონფიგურირებული",
|
||||
"Please install <chromeLink>Chrome</chromeLink>, <firefoxLink>Firefox</firefoxLink>, or <safariLink>Safari</safariLink> for the best experience.": "გთხოვთ დააინსტალოთ <chromeLink>Chrome-ი</chromeLink>, <firefoxLink>Firefox-ი</firefoxLink>, ან <safariLink>Safari</safariLink> საუკეთესო გამოცდილებისთვის.",
|
||||
"Powered by Matrix": "მუშაობს Matrix-ის მეშვეობით",
|
||||
"Go to your browser to complete Sign In": "გახსენი ბრაუზერი Sign In-ის დასასრულებლად",
|
||||
"Powered by Matrix": "უზრუნველყოფილია Matrix-ის მიერ",
|
||||
"Go to your browser to complete Sign In": "გადადით თქვენს ბრაუზერში შესვლის დასასრულებლად",
|
||||
"Open": "გახსნა",
|
||||
"Download Completed": "გადმოწერა დასრულებულია"
|
||||
"Download Completed": "გადმოწერა დასრულებულია",
|
||||
"Decentralised, encrypted chat & collaboration powered by $matrixLogo": "დეცენტრალიზებული, დაშიფრული ჩატი & amp; $matrixLogo-ს მიერ შექმნილი თანამშრომლობა",
|
||||
"You can continue using your current browser, but some or all features may not work and the look and feel of the application may be incorrect.": "შეგიძლიათ გააგრძელოთ თქვენი ამჟამინდელი ბრაუზერის გამოყენება, მაგრამ ზოგიერთი ან ყველა ფუნქცია შეიძლება არ იმუშაოს და აპლიკაციის გარეგნობა და შეგრძნება შეიძლება არასწორი იყოს.",
|
||||
"%(brand)s uses advanced browser features which aren't supported by your current browser.": "%(brand)s იყენებს ბრაუზერის გაფართოებულ ფუნქციებს, რომლებიც არ არის მხარდაჭერილი თქვენი ამჟამინდელი ბრაუზერის მიერ.",
|
||||
"%(appName)s: %(browserName)s on %(osName)s": "%(appName)s: %(browserName)s %(osName)s-ზე",
|
||||
"%(brand)s Desktop: %(platformName)s": "%(brand)s სამუშაო მაგიდა: %(platformName)s",
|
||||
"The message from the parser is: %(message)s": "პარსერის შეტყობინებაა: %(message)s",
|
||||
"Invalid configuration: can only specify one of default_server_config, default_server_name, or default_hs_url.": "არასწორი კონფიგურაცია: შეიძლება მიუთითოთ მხოლოდ ერთი default_server_config, default_server_name ან default_hs_url."
|
||||
}
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
{
|
||||
"The message from the parser is: %(message)s": "Lo messatge de l’analisaire es : %(message)s",
|
||||
"Invalid JSON": "Invalid JSON",
|
||||
"Invalid JSON": "JSON invalida",
|
||||
"Unexpected error preparing the app. See console for details.": "Error inesperada en preparant l’aplicacion. Vejatz la consòla pels detalhs.",
|
||||
"Go to your browser to complete Sign In": "Anatz al navegador per acabar la connexion",
|
||||
"Go to your browser to complete Sign In": "Anatz au navegador per achabar la connexion",
|
||||
"Unknown device": "Periferic desconegut",
|
||||
"Dismiss": "Refusar",
|
||||
"Welcome to Element": "La benvenguda a Element",
|
||||
@@ -10,19 +10,23 @@
|
||||
"Create Account": "Crear un compte",
|
||||
"Explore rooms": "Percórrer las salas",
|
||||
"Invalid configuration: no default server specified.": "Configuracion invalida : pas de servidor per defauta especificat.",
|
||||
"Invalid configuration: can only specify one of default_server_config, default_server_name, or default_hs_url.": "Configuracion invalida : podètz unicament especificar un camp entre default_server_config, default_server_name, o default_hs_url.",
|
||||
"Failed to start": "Non se pòt pas lançar",
|
||||
"Go to element.io": "Anar a element.io",
|
||||
"I understand the risks and wish to continue": "Compréni los risques e vòli contunhar",
|
||||
"You can continue using your current browser, but some or all features may not work and the look and feel of the application may be incorrect.": "Podètz contunhar a utilizar lo vòstre navigator actual, mas qualques o totes las foncionalitats o/e l'apparéncia poirián mal foncionar .",
|
||||
"Please install <chromeLink>Chrome</chromeLink>, <firefoxLink>Firefox</firefoxLink>, or <safariLink>Safari</safariLink> for the best experience.": "Si vos plai installatz <chromeLink>Chrome</chromeLink>, <firefoxLink>Firefox</firefoxLink>, o <safariLink>Safari</safariLink> per una melhora experiéncia.",
|
||||
"Invalid configuration: can only specify one of default_server_config, default_server_name, or default_hs_url.": "Configuracion invalida : podètz unicament especifiar un champ entre default_server_config, default_server_name, o default_hs_url.",
|
||||
"Failed to start": "Se pòt pas lançar",
|
||||
"Go to element.io": "Anar vès element.io",
|
||||
"I understand the risks and wish to continue": "Comprène los risques e vòle contunhar",
|
||||
"You can continue using your current browser, but some or all features may not work and the look and feel of the application may be incorrect.": "Podètz contunhar d'utilizar lo vòstre navigator actuau, mas quauquas o totas las foncionalitats o/e l'apparéncia poirián mau foncionar .",
|
||||
"Please install <chromeLink>Chrome</chromeLink>, <firefoxLink>Firefox</firefoxLink>, or <safariLink>Safari</safariLink> for the best experience.": "Si vos plait installatz <chromeLink>Chrome</chromeLink>, <firefoxLink>Firefox</firefoxLink>, o <safariLink>Safari</safariLink> per una melhora experiéncia.",
|
||||
"Your browser can't run %(brand)s": "Lo vòstre navigator non pòt pas executar %(brand)s",
|
||||
"%(brand)s uses advanced browser features which aren't supported by your current browser.": "%(brand)s utiliza de foncions avançadas que lo vòstre navigator non suporta pas.",
|
||||
"Unsupported browser": "Navigator incompatible",
|
||||
"Powered by Matrix": "Fonciona ambé Matrix",
|
||||
"Powered by Matrix": "Fonciona embei Matrix",
|
||||
"Open": "Dobrir",
|
||||
"Download Completed": "Descargament acabat",
|
||||
"Unable to load config file: please refresh the page to try again.": "Se pòt pas cargar lo fichièr de configuracion : si vos plai actualizatz la pagina per tornar ensajar.",
|
||||
"Your Element configuration contains invalid JSON. Please correct the problem and reload the page.": "La configuracion d'Element conténe de JSON invalid. Si vos plai corregitz lo problème e actualizatz la pagina.",
|
||||
"Your Element is misconfigured": "Lo vòstre Element es mal configurat"
|
||||
"Download Completed": "Descharjament achabat",
|
||||
"Unable to load config file: please refresh the page to try again.": "Se pòt pas charjar lo fichièr de configuracion : si vos plait actualizatz la pagina per tornar ensajar.",
|
||||
"Your Element configuration contains invalid JSON. Please correct the problem and reload the page.": "La configuracion d'Element conten dau JSON invalid. Si vos plait corregitz lo problème e actualizatz la pagina.",
|
||||
"Your Element is misconfigured": "Lo vòstre Element es mau configurat",
|
||||
"Decentralised, encrypted chat & collaboration powered by $matrixLogo": "Discussions decentralizadas, criptadas, collaboracion & botada per $matrixLogo",
|
||||
"Use %(brand)s on mobile": "Utilizatz %(brand)s per telefòn",
|
||||
"%(appName)s: %(browserName)s on %(osName)s": "%(appName)s: %(browserName)s per %(osName)s",
|
||||
"%(brand)s Desktop: %(platformName)s": "%(brand)s Burèu: %(platformName)s"
|
||||
}
|
||||
|
||||
@@ -10,8 +10,8 @@
|
||||
"Unexpected error preparing the app. See console for details.": "Erro inesperado preparando o app. Veja console para detalhes.",
|
||||
"Invalid configuration: can only specify one of default_server_config, default_server_name, or default_hs_url.": "Configuração inválida: só pode especificar um de default_server_config, default_server_name, ou default_hs_url.",
|
||||
"Invalid configuration: no default server specified.": "Configuração inválida: nenhum servidor default especificado.",
|
||||
"Unable to load config file: please refresh the page to try again.": "Incapaz de carregar arquivo de config: por favor atualize a página para tentar de novo.",
|
||||
"Download Completed": "Download Completado",
|
||||
"Unable to load config file: please refresh the page to try again.": "Incapaz de carregar arquivo de configuração: por favor atualize a página para tentar de novo.",
|
||||
"Download Completed": "Download Concluído",
|
||||
"Unsupported browser": "Browser insuportado",
|
||||
"Please install <chromeLink>Chrome</chromeLink>, <firefoxLink>Firefox</firefoxLink>, or <safariLink>Safari</safariLink> for the best experience.": "Por favor instale <chromeLink>Chrome</chromeLink>, <firefoxLink>Firefox</firefoxLink>, ou <safariLink>Safari</safariLink> para a melhor experiência.",
|
||||
"You can continue using your current browser, but some or all features may not work and the look and feel of the application may be incorrect.": "Você pode continuar usando seu browser atual, mas alguma ou toda funcionalidade pode não funcionar e a aparência e sensação do aplicativo pode estar incorretas.",
|
||||
@@ -19,12 +19,14 @@
|
||||
"Go to element.io": "Ir para element.io",
|
||||
"Failed to start": "Falha para iniciar",
|
||||
"Open": "Abrir",
|
||||
"Go to your browser to complete Sign In": "Vá para seu browser para completar Sign In",
|
||||
"Your Element is misconfigured": "Seu Element está malconfigurado",
|
||||
"Your Element configuration contains invalid JSON. Please correct the problem and reload the page.": "Sua configuração de Element contém JSON inválido. Por favor corrija o problema e recarregue a página.",
|
||||
"Go to your browser to complete Sign In": "Vá em seu navegador para completar o Registro",
|
||||
"Your Element is misconfigured": "Seu Element está mal configurado",
|
||||
"Your Element configuration contains invalid JSON. Please correct the problem and reload the page.": "Sua configuração do Element contém JSON inválido. Por favor corrija o problema e recarregue a página.",
|
||||
"Your browser can't run %(brand)s": "Seu browser não consegue rodar %(brand)s",
|
||||
"%(brand)s uses advanced browser features which aren't supported by your current browser.": "%(brand)s usa funcionalidade de browser avançada que não é suportada por seu browser atual.",
|
||||
"Powered by Matrix": "Powered by Matrix",
|
||||
"Use %(brand)s on mobile": "Usar %(brand)s em celular",
|
||||
"Decentralised, encrypted chat & collaboration powered by $matrixLogo": "Chat descentralizado e encriptado & colaboração, powered by $matrixLogo"
|
||||
"Decentralised, encrypted chat & collaboration powered by $matrixLogo": "Chat descentralizado e encriptado & colaboração, powered by $matrixLogo",
|
||||
"%(appName)s: %(browserName)s on %(osName)s": "%(appName)s: %(browserName)s em %(osName)s",
|
||||
"%(brand)s Desktop: %(platformName)s": "%(brand)s Desktop: %(platformName)s"
|
||||
}
|
||||
|
||||
@@ -5,28 +5,28 @@
|
||||
"Sign In": "登入",
|
||||
"Create Account": "建立帳號",
|
||||
"Explore rooms": "探索聊天室",
|
||||
"Unexpected error preparing the app. See console for details.": "準備應用程式時發生未預期的錯誤。請見主控台以取得更多資訊。",
|
||||
"Invalid configuration: can only specify one of default_server_config, default_server_name, or default_hs_url.": "無效的設定:只能指定 default_server_config、default_server_name 或 default_hs_url 其中之一。",
|
||||
"Invalid configuration: no default server specified.": "無效設定:未指定預設的伺服器。",
|
||||
"The message from the parser is: %(message)s": "從解析器而來的訊息為:%(message)s",
|
||||
"Unexpected error preparing the app. See console for details.": "準備應用程式時發生未知錯誤。請見主控台以取得更多資訊。",
|
||||
"Invalid configuration: can only specify one of default_server_config, default_server_name, or default_hs_url.": "無效設定:只能指定 default_server_config、default_server_name 或 default_hs_url 其中之一。",
|
||||
"Invalid configuration: no default server specified.": "無效設定:未指定預設伺服器。",
|
||||
"The message from the parser is: %(message)s": "解析器收到的訊息:%(message)s",
|
||||
"Invalid JSON": "無效的 JSON",
|
||||
"Go to your browser to complete Sign In": "到您的瀏覽器完成登入",
|
||||
"Go to your browser to complete Sign In": "前往您的瀏覽器以完成登入",
|
||||
"Unable to load config file: please refresh the page to try again.": "無法載入設定檔:請重新整理頁面以再試一次。",
|
||||
"Unsupported browser": "不支援的瀏覽器",
|
||||
"Please install <chromeLink>Chrome</chromeLink>, <firefoxLink>Firefox</firefoxLink>, or <safariLink>Safari</safariLink> for the best experience.": "請安裝 <chromeLink>Chrome</chromeLink>、<firefoxLink>Firefox</firefoxLink> 或 <safariLink>Safari</safariLink> 以取得最佳體驗。",
|
||||
"You can continue using your current browser, but some or all features may not work and the look and feel of the application may be incorrect.": "您可以繼續使用您目前的瀏覽器,但部份或全部的功能可能會無法運作,而應用程式的外觀與感覺可能也會不正確。",
|
||||
"You can continue using your current browser, but some or all features may not work and the look and feel of the application may be incorrect.": "您可以繼續使用目前的瀏覽器,但部份或全部的功能可能會無法運作,而應用程式的外觀與感覺可能也可能不正確。",
|
||||
"I understand the risks and wish to continue": "我了解風險並希望繼續",
|
||||
"Go to element.io": "到 element.io",
|
||||
"Go to element.io": "前往 element.io",
|
||||
"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 提供",
|
||||
"%(brand)s uses advanced browser features which aren't supported by your current browser.": "%(brand)s 使用了您目前瀏覽器不支援的進階功能。",
|
||||
"Powered by Matrix": "由 Matrix 驅動",
|
||||
"Use %(brand)s on mobile": "在行動裝置上使用 %(brand)s",
|
||||
"Decentralised, encrypted chat & 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"
|
||||
"%(appName)s: %(browserName)s on %(osName)s": "%(appName)s:%(browserName)s 位於 %(osName)s",
|
||||
"%(brand)s Desktop: %(platformName)s": "%(brand)s 桌面:%(platformName)s"
|
||||
}
|
||||
|
||||
@@ -28,6 +28,7 @@ import { ElementWidgetActions } from "matrix-react-sdk/src/stores/widgets/Elemen
|
||||
import { logger } from "matrix-js-sdk/src/logger";
|
||||
import { IConfigOptions } from "matrix-react-sdk/src/IConfigOptions";
|
||||
import { SnakedObject } from "matrix-react-sdk/src/utils/SnakedObject";
|
||||
import { ElementWidgetCapabilities } from "matrix-react-sdk/src/stores/widgets/ElementWidgetCapabilities";
|
||||
|
||||
import { getVectorConfig } from "../getconfig";
|
||||
|
||||
@@ -56,6 +57,7 @@ let roomName: string;
|
||||
let startAudioOnly: boolean;
|
||||
let isVideoChannel: boolean;
|
||||
let supportsScreensharing: boolean;
|
||||
let language: string;
|
||||
|
||||
let widgetApi: WidgetApi;
|
||||
let meetApi: any; // JitsiMeetExternalAPI
|
||||
@@ -85,6 +87,7 @@ const setupCompleted = (async (): Promise<string | void> => {
|
||||
const parentUrl = qsParam("parentUrl", true);
|
||||
const widgetId = qsParam("widgetId", true);
|
||||
const theme = qsParam("theme", true);
|
||||
language = qsParam("language", true) ?? "en";
|
||||
|
||||
if (theme) {
|
||||
document.body.classList.add(`theme-${theme.replace(" ", "_")}`);
|
||||
@@ -98,6 +101,13 @@ const setupCompleted = (async (): Promise<string | void> => {
|
||||
|
||||
widgetApiReady = new Promise<void>((resolve) => widgetApi.once("ready", resolve));
|
||||
widgetApi.requestCapabilities(VideoConferenceCapabilities);
|
||||
|
||||
// jitsi cannot work in a popup if auth token is provided because widgetApi is not available there
|
||||
// so check the token and request the 'requires_client' capability to hide the popup icon in the Element
|
||||
if (qsParam("auth", true) === "openidtoken-jwt") {
|
||||
widgetApi.requestCapability(ElementWidgetCapabilities.RequiresClient);
|
||||
}
|
||||
|
||||
widgetApi.start();
|
||||
|
||||
const handleAction = (
|
||||
@@ -305,6 +315,31 @@ function closeConference(): void {
|
||||
}
|
||||
}
|
||||
|
||||
// Converts from IETF language tags used by Element (en-US) to the format used
|
||||
// by Jitsi (enUS)
|
||||
function normalizeLanguage(language: string): string {
|
||||
const [lang, variant] = language.replace("_", "-").split("-");
|
||||
|
||||
if (!variant || lang === variant) {
|
||||
return lang;
|
||||
}
|
||||
|
||||
return lang + variant.toUpperCase();
|
||||
}
|
||||
|
||||
function mapLanguage(language: string): string {
|
||||
// Element and Jitsi don't agree how to interpret en, so we go with Elements
|
||||
// interpretation to stay consistent
|
||||
switch (language) {
|
||||
case "en":
|
||||
return "enGB";
|
||||
case "enUS":
|
||||
return "en";
|
||||
default:
|
||||
return language;
|
||||
}
|
||||
}
|
||||
|
||||
// event handler bound in HTML
|
||||
// An audio input of undefined instructs Jitsi to start unmuted with whatever
|
||||
// audio input it can find, while an input of null instructs it to start muted,
|
||||
@@ -363,6 +398,7 @@ function joinConference(audioInput?: string | null, videoInput?: string | null):
|
||||
apiLogLevels: ["warn", "error"],
|
||||
} as any,
|
||||
jwt: jwt,
|
||||
lang: mapLanguage(normalizeLanguage(language)),
|
||||
};
|
||||
|
||||
// Video channel widgets need some more tailored config options
|
||||
|
||||
@@ -34,7 +34,7 @@ export function deleteIndexedDB(dbName: string): Promise<void> {
|
||||
};
|
||||
|
||||
req.onerror = (ev): void => {
|
||||
reject(new Error(`${Date.now()}: unable to delete indexeddb ${dbName}: ${req.error}`));
|
||||
reject(new Error(`${Date.now()}: unable to delete indexeddb ${dbName}: ${req.error?.message}`));
|
||||
};
|
||||
|
||||
req.onsuccess = (): void => {
|
||||
|
||||
@@ -9,6 +9,12 @@ const TerserPlugin = require("terser-webpack-plugin");
|
||||
const OptimizeCSSAssetsPlugin = require("optimize-css-assets-webpack-plugin");
|
||||
const HtmlWebpackInjectPreload = require("@principalstudio/html-webpack-inject-preload");
|
||||
const SentryCliPlugin = require("@sentry/webpack-plugin");
|
||||
const crypto = require("crypto");
|
||||
|
||||
// XXX: mangle Crypto::createHash to replace md4 with sha256, output.hashFunction is insufficient as multiple bits
|
||||
// of webpack hardcode md4. The proper fix it to upgrade to webpack 5.
|
||||
const createHash = crypto.createHash;
|
||||
crypto.createHash = (algorithm, options) => createHash(algorithm === "md4" ? "sha256" : algorithm, options);
|
||||
|
||||
// Environment variables
|
||||
// RIOT_OG_IMAGE_URL: specifies the URL to the image which should be used for the opengraph logo.
|
||||
|
||||
Reference in New Issue
Block a user