Compare commits

..

2 Commits

Author SHA1 Message Date
Will Hunt
ebcf9dd68e Seperate sending of notifs from sounds 2020-09-29 17:05:37 +01:00
Will Hunt
8bb98c3044 Implement maySendNotifications based upon dnd work 2020-09-29 17:01:44 +01:00
136 changed files with 5920 additions and 7658 deletions

View File

@@ -1,30 +1,23 @@
module.exports = {
plugins: ["matrix-org"],
extends: [
"plugin:matrix-org/babel",
"plugin:matrix-org/react",
],
env: {
browser: true,
node: true,
"extends": ["matrix-org", "matrix-org/react"],
"env": {
"browser": true,
"node": true,
},
rules: {
// Things we do that break the ideal style
"rules": {
"quotes": "off",
},
overrides: [{
files: ["src/**/*.{ts,tsx}"],
extends: [
"plugin:matrix-org/typescript",
"plugin:matrix-org/react",
],
rules: {
// Things we do that break the ideal style
"prefer-promise-reject-errors": "off",
"overrides": [{
"files": ["src/**/*.{ts, tsx}"],
"extends": ["matrix-org/ts", "matrix-org/react"],
"env": {
"browser": true,
},
"rules": {
"quotes": "off",
// We disable this while we're transitioning
// While converting to ts we allow this
"@typescript-eslint/no-explicit-any": "off",
"prefer-promise-reject-errors": "off",
},
}],
};

View File

@@ -1,5 +1,3 @@
<!-- A picture's worth a thousand words: PLEASE INCLUDE A SCREENSHOT :P -->
<!-- Please report security issues by email to security@matrix.org -->
<!-- This is a bug report template. By following the instructions below and
@@ -12,11 +10,11 @@ that aren't relevant to your particular case.
Text between <!-- and --> marks will be invisible in the report.
-->
#### Description
### Description
Describe here the problem that you are experiencing, or the feature you are requesting.
#### Steps to reproduce
### Steps to reproduce
- For bugs, list the steps
- that reproduce the bug
@@ -30,7 +28,7 @@ file a bug here too! -->
<!-- Include screenshots if possible: you can drag and drop images below. -->
#### Version information
### Version information
<!-- IMPORTANT: please answer the following questions, to help us narrow down the problem -->
@@ -38,9 +36,9 @@ file a bug here too! -->
For the web app:
- **Browser**: Chrome, Firefox, Safari, Edge? which version?
- **Browser**: Chrome, Safari, Firefox? which version?
- **OS**: Windows, macOS, Ubuntu, Arch Linux, etc?
- **URL**: develop.element.io / app.element.io / somewhere else? If a private server, what version of Element Web?
- **URL**: riot.im/develop / riot.im/app / somewhere else? If a private server, what version of riot-web?
For the desktop app:

View File

@@ -2,13 +2,11 @@
name: Bug report
about: Create a report to help us improve
title: ''
labels: T-Defect
labels: bug
assignees: ''
---
<!-- A picture's worth a thousand words: PLEASE INCLUDE A SCREENSHOT :P -->
<!-- Please report security issues by email to security@matrix.org -->
<!-- This is a bug report template. By following the instructions below and
@@ -21,11 +19,11 @@ that aren't relevant to your particular case.
Text between <!-- and --> marks will be invisible in the report.
-->
#### Description
### Description
Describe here the problem that you are experiencing, or the feature you are requesting.
#### Steps to reproduce
### Steps to reproduce
- For bugs, list the steps
- that reproduce the bug
@@ -40,7 +38,7 @@ Logs being sent: yes/no
<!-- Include screenshots if possible: you can drag and drop images below. -->
#### Version information
### Version information
<!-- IMPORTANT: please answer the following questions, to help us narrow down the problem -->
@@ -48,9 +46,9 @@ Logs being sent: yes/no
For the web app:
- **Browser**: Chrome, Firefox, Safari, Edge? which version?
- **Browser**: Chrome, Safari, Firefox? which version?
- **OS**: Windows, macOS, Ubuntu, Arch Linux, etc?
- **URL**: develop.element.io / app.element.io / somewhere else? If a private server, what version of Element Web?
- **URL**: riot.im/develop / riot.im/app / somewhere else? If a private server, what version of riot-web?
For the desktop app:

View File

@@ -2,19 +2,19 @@
name: Suggestion or Feature request
about: Suggest an idea for this project
title: ''
labels: T-Enhancement
labels: suggestion
assignees: ''
---
#### Is your suggestion related to a problem? Please describe.
**Is your suggestion related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
#### Describe the solution you'd like.
**Describe the solution you'd like**
A clear and concise description of what you want to happen.
#### Describe alternatives you've considered.
**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.
#### Additional context
**Additional context**
Add any other context or screenshots about the feature request here.

View File

@@ -0,0 +1,58 @@
---
name: User Interface or Usability Bug report
about: Please include screenshots in UI/UX bug reports
title: ''
labels: bug, ui/ux
assignees: ''
---
<!-- A picture's worth a thousand words: PLEASE INCLUDE A SCREENSHOT :P -->
<!-- Please report security issues by email to security@matrix.org -->
<!-- This is a bug report template. By following the instructions below and
filling out the sections with your information, you will help the us to get all
the necessary data to fix your issue.
You can also preview your report before submitting it. You may remove sections
that aren't relevant to your particular case.
Text between <!-- and --> marks will be invisible in the report.
-->
### Description
Describe here the problem that you are experiencing, or the feature you are requesting.
### Steps to reproduce
- For bugs, list the steps
- that reproduce the bug
- using hyphens as bullet points
Describe how what happens differs from what you expected.
<!-- Please send us logs for your bug report. They're very important for bugs
which are hard to reproduce. To do this, create this issue then go to your
account settings and click 'Submit Debug Logs' from the Help & About tab -->
Logs being sent: yes/no
<!-- Include screenshots if possible: you can drag and drop images below. -->
### Version information
<!-- IMPORTANT: please answer the following questions, to help us narrow down the problem -->
- **Platform**: web (in-browser) or desktop?
For the web app:
- **Browser**: Chrome, Safari, Firefox? which version?
- **OS**: Windows, macOS, Ubuntu, Arch Linux, etc?
- **URL**: riot.im/develop / riot.im/app / somewhere else? If a private server, what version of riot-web?
For the desktop app:
- **OS**: Windows, macOS, Ubuntu, Arch Linux, etc?
- **Version**: 1.x.y <!-- check the user settings panel if unsure -->

View File

@@ -1,11 +0,0 @@
<!-- Please read https://github.com/matrix-org/matrix-js-sdk/blob/develop/CONTRIBUTING.md before submitting your pull request -->
<!-- Include a Sign-Off as described in https://github.com/matrix-org/matrix-js-sdk/blob/develop/CONTRIBUTING.md#sign-off -->
<!-- To specify text for the changelog entry (otherwise the PR title will be used):
Notes:
Changelog entries will also appear in element-desktop. For PRs that *only* affect the desktop version:
Notes: none
element-desktop notes: <notes>
-->

2
.gitignore vendored
View File

@@ -19,5 +19,3 @@ electron/pub
/src/component-index.js
/.tmp
/webpack-stats.json
.vscode
.vscode/

View File

@@ -1,6 +1,9 @@
{
"minify": true,
"enableClasses": false,
"classPrefix": "modernizr_",
"options": [
"setClasses"
],
"feature-detects": [
"test/css/animations",
"test/css/displaytable",

View File

@@ -19,7 +19,7 @@ module.exports = {
"at-rule-no-unknown": null,
"no-descending-specificity": null,
"scss/at-rule-no-unknown": [true, {
// https://github.com/vector-im/element-web/issues/10544
// https://github.com/vector-im/riot-web/issues/10544
"ignoreAtRules": ["define-mixin"],
}],
}

View File

@@ -16,6 +16,3 @@ include:
* Alexandr Korsak (https://github.com/oivoodoo)
Improved multiple file uploading
* Thom Cleary (https://github.com/thomcatdotrocks)
Small update for tarball deployment

View File

@@ -1,794 +1,3 @@
Changes in [1.7.33](https://github.com/vector-im/element-web/releases/tag/v1.7.33) (2021-07-19)
===============================================================================================
[Full Changelog](https://github.com/vector-im/element-web/compare/v1.7.33-rc.1...v1.7.33)
* No changes from rc.1
Changes in [1.7.33-rc.1](https://github.com/vector-im/element-web/releases/tag/v1.7.33-rc.1) (2021-07-14)
=========================================================================================================
[Full Changelog](https://github.com/vector-im/element-web/compare/v1.7.32...v1.7.33-rc.1)
* Translations update from Weblate
[\#17991](https://github.com/vector-im/element-web/pull/17991)
* Revert "Don't run nginx as root in docker"
[\#17990](https://github.com/vector-im/element-web/pull/17990)
* Don't run nginx as root in docker
[\#17927](https://github.com/vector-im/element-web/pull/17927)
* Add VS Code to gitignore
[\#17982](https://github.com/vector-im/element-web/pull/17982)
* Remove canvas native dependencies from Dockerfile
[\#17973](https://github.com/vector-im/element-web/pull/17973)
* Remove node-canvas devDependency
[\#17967](https://github.com/vector-im/element-web/pull/17967)
* Add `reskindex` to development steps
[\#17926](https://github.com/vector-im/element-web/pull/17926)
* Update Modernizr and stop it from polluting classes on the html tag
[\#17921](https://github.com/vector-im/element-web/pull/17921)
* Convert a few files to TS
[\#17895](https://github.com/vector-im/element-web/pull/17895)
* Do not generate a lockfile when running in CI
[\#17902](https://github.com/vector-im/element-web/pull/17902)
* Fix lockfile to match listed dependencies
[\#17888](https://github.com/vector-im/element-web/pull/17888)
* Remove PostCSS calc() processing
[\#17856](https://github.com/vector-im/element-web/pull/17856)
* Make issue template styling more consistent and improve PR template
[\#17691](https://github.com/vector-im/element-web/pull/17691)
* Update jsrsasign to ^10.2.0 (Includes fix for CVE-2021-30246)
[\#17170](https://github.com/vector-im/element-web/pull/17170)
* Migrate to `eslint-plugin-matrix-org`
[\#17847](https://github.com/vector-im/element-web/pull/17847)
* Remove spurious overflow: auto on #matrixchat element
[\#17647](https://github.com/vector-im/element-web/pull/17647)
* Enhance security by disallowing CSP object-src rule
[\#17818](https://github.com/vector-im/element-web/pull/17818)
Changes in [1.7.32](https://github.com/vector-im/element-web/releases/tag/v1.7.32) (2021-07-05)
===============================================================================================
[Full Changelog](https://github.com/vector-im/element-web/compare/v1.7.32-rc.1...v1.7.32)
* No changes from rc.1
Changes in [1.7.32-rc.1](https://github.com/vector-im/element-web/releases/tag/v1.7.32-rc.1) (2021-06-29)
=========================================================================================================
[Full Changelog](https://github.com/vector-im/element-web/compare/v1.7.31...v1.7.32-rc.1)
* Update to react-sdk v3.25.0-rc.1 and js-sdk v12.0.1-rc.1
* Translations update from Weblate
[\#17832](https://github.com/vector-im/element-web/pull/17832)
* Fix canvas-filter-polyfill mock path
[\#17785](https://github.com/vector-im/element-web/pull/17785)
* Mock context-filter-polyfill for app-tests
[\#17774](https://github.com/vector-im/element-web/pull/17774)
* Add libera.chat to default room directory
[\#17772](https://github.com/vector-im/element-web/pull/17772)
* Improve typing of Event Index Manager / Seshat
[\#17704](https://github.com/vector-im/element-web/pull/17704)
* Bump dns-packet from 1.3.1 to 1.3.4
[\#17478](https://github.com/vector-im/element-web/pull/17478)
* Update matrix-widget-api to fix build issues
[\#17747](https://github.com/vector-im/element-web/pull/17747)
* Fix whitespace in Dockerfile
[\#17742](https://github.com/vector-im/element-web/pull/17742)
* Upgrade @types/react and @types/react-dom
[\#17723](https://github.com/vector-im/element-web/pull/17723)
* Spaces keyboard shortcuts first cut
[\#17457](https://github.com/vector-im/element-web/pull/17457)
* Labs: feature_report_to_moderators
[\#17694](https://github.com/vector-im/element-web/pull/17694)
Changes in [1.7.31](https://github.com/vector-im/element-web/releases/tag/v1.7.31) (2021-06-21)
===============================================================================================
[Full Changelog](https://github.com/vector-im/element-web/compare/v1.7.31-rc.1...v1.7.31)
* Upgrade to React SDK 3.24.0 and JS SDK 12.0.0
Changes in [1.7.31-rc.1](https://github.com/vector-im/element-web/releases/tag/v1.7.31-rc.1) (2021-06-15)
=========================================================================================================
[Full Changelog](https://github.com/vector-im/element-web/compare/v1.7.30...v1.7.31-rc.1)
* Upgrade to React SDK 3.24.0-rc.1 and JS SDK 12.0.0-rc.1
* Translations update from Weblate
[\#17655](https://github.com/vector-im/element-web/pull/17655)
* Upgrade matrix-react-test-utils for React 17 peer deps
[\#17653](https://github.com/vector-im/element-web/pull/17653)
* Fix lint errors in Webpack config
[\#17626](https://github.com/vector-im/element-web/pull/17626)
* Preload only `woff2` fonts
[\#17614](https://github.com/vector-im/element-web/pull/17614)
* ⚛️ Upgrade to React@17
[\#17601](https://github.com/vector-im/element-web/pull/17601)
Changes in [1.7.30](https://github.com/vector-im/element-web/releases/tag/v1.7.30) (2021-06-07)
===============================================================================================
[Full Changelog](https://github.com/vector-im/element-web/compare/v1.7.30-rc.1...v1.7.30)
* Upgrade to React SDK 3.23.0 and JS SDK 11.2.0
Changes in [1.7.30-rc.1](https://github.com/vector-im/element-web/releases/tag/v1.7.30-rc.1) (2021-06-01)
=========================================================================================================
[Full Changelog](https://github.com/vector-im/element-web/compare/v1.7.29...v1.7.30-rc.1)
* Upgrade to React SDK 3.23.0-rc.1 and JS SDK 11.2.0-rc.1
* Translations update from Weblate
[\#17526](https://github.com/vector-im/element-web/pull/17526)
* Add Modernizr test for Promise.allSettled given js-sdk and react-sdk depend
on it
[\#17464](https://github.com/vector-im/element-web/pull/17464)
* Bump libolm dependency, and update package name.
[\#17433](https://github.com/vector-im/element-web/pull/17433)
* Remove logo spinner
[\#17423](https://github.com/vector-im/element-web/pull/17423)
Changes in [1.7.29](https://github.com/vector-im/element-web/releases/tag/v1.7.29) (2021-05-24)
===============================================================================================
[Full Changelog](https://github.com/vector-im/element-web/compare/v1.7.29-rc.1...v1.7.29)
## Security notice
Element Web 1.7.29 fixes (by upgrading to olm 3.2.3) an issue in code used for
decrypting server-side stored secrets. The issue could potentially allow a
malicious homeserver to cause a stack buffer overflow in the affected function
and to control that function's local variables.
## All changes
* Upgrade to React SDK 3.22.0 and JS SDK 11.1.0
* [Release] Bump libolm dependency, and update package name
[\#17456](https://github.com/vector-im/element-web/pull/17456)
Changes in [1.7.29-rc.1](https://github.com/vector-im/element-web/releases/tag/v1.7.29-rc.1) (2021-05-19)
=========================================================================================================
[Full Changelog](https://github.com/vector-im/element-web/compare/v1.7.28...v1.7.29-rc.1)
* Upgrade to React SDK 3.22.0-rc.1 and JS SDK 11.1.0-rc.1
* Translations update from Weblate
[\#17384](https://github.com/vector-im/element-web/pull/17384)
* Prevent minification of `.html` files
[\#17349](https://github.com/vector-im/element-web/pull/17349)
* Update matrix-widget-api/react-sdk dependency reference
[\#17346](https://github.com/vector-im/element-web/pull/17346)
* Add `yarn start:https`
[\#16989](https://github.com/vector-im/element-web/pull/16989)
* Translations update from Weblate
[\#17239](https://github.com/vector-im/element-web/pull/17239)
* Remove "in development" flag from voice messages labs documentation
[\#17204](https://github.com/vector-im/element-web/pull/17204)
* Add required webpack+jest config to load Safari support modules
[\#17193](https://github.com/vector-im/element-web/pull/17193)
Changes in [1.7.28](https://github.com/vector-im/element-web/releases/tag/v1.7.28) (2021-05-17)
===============================================================================================
[Full Changelog](https://github.com/vector-im/element-web/compare/v1.7.28-rc.1...v1.7.28)
## Security notice
Element Web 1.7.28 fixes (by upgrading to matrix-react-sdk 3.21.0) a low
severity issue (GHSA-8796-gc9j-63rv) related to file upload. When uploading a
file, the local file preview can lead to execution of scripts embedded in the
uploaded file, but only after several user interactions to open the preview in
a separate tab. This only impacts the local user while in the process of
uploading. It cannot be exploited remotely or by other users. Thanks to
[Muhammad Zaid Ghifari](https://github.com/MR-ZHEEV) for responsibly disclosing
this via Matrix's Security Disclosure Policy.
## All changes
* Upgrade to React SDK 3.21.0 and JS SDK 11.0.0
Changes in [1.7.28-rc.1](https://github.com/vector-im/element-web/releases/tag/v1.7.28-rc.1) (2021-05-11)
=========================================================================================================
[Full Changelog](https://github.com/vector-im/element-web/compare/v1.7.27...v1.7.28-rc.1)
* Upgrade to React SDK 3.21.0-rc.1 and JS SDK 11.0.0-rc.1
* Switch back to release version of `sanitize-html`
[\#17231](https://github.com/vector-im/element-web/pull/17231)
* Bump url-parse from 1.4.7 to 1.5.1
[\#17199](https://github.com/vector-im/element-web/pull/17199)
* Bump lodash from 4.17.20 to 4.17.21
[\#17205](https://github.com/vector-im/element-web/pull/17205)
* Bump hosted-git-info from 2.8.8 to 2.8.9
[\#17219](https://github.com/vector-im/element-web/pull/17219)
* Disable host checking on the webpack dev server
[\#17194](https://github.com/vector-im/element-web/pull/17194)
* Bump ua-parser-js from 0.7.23 to 0.7.24
[\#17190](https://github.com/vector-im/element-web/pull/17190)
Changes in [1.7.27](https://github.com/vector-im/element-web/releases/tag/v1.7.27) (2021-05-10)
===============================================================================================
[Full Changelog](https://github.com/vector-im/element-web/compare/v1.7.27-rc.1...v1.7.27)
* Upgrade to React SDK 3.20.0 and JS SDK 10.1.0
Changes in [1.7.27-rc.1](https://github.com/vector-im/element-web/releases/tag/v1.7.27-rc.1) (2021-05-04)
=========================================================================================================
[Full Changelog](https://github.com/vector-im/element-web/compare/v1.7.26...v1.7.27-rc.1)
* Upgrade to React SDK 3.20.0-rc.1 and JS SDK 10.1.0-rc.1
* Translations update from Weblate
[\#17160](https://github.com/vector-im/element-web/pull/17160)
* Document option for obeying asserted identity
[\#17008](https://github.com/vector-im/element-web/pull/17008)
* Implement IPC call to Electron to set language
[\#17052](https://github.com/vector-im/element-web/pull/17052)
* Convert Vector skin react components to Typescript
[\#17061](https://github.com/vector-im/element-web/pull/17061)
* Add code quality review policy
[\#16980](https://github.com/vector-im/element-web/pull/16980)
* Register RecorderWorklet from react-sdk
[\#17013](https://github.com/vector-im/element-web/pull/17013)
* Preload Inter font to avoid FOIT on slow connections
[\#17039](https://github.com/vector-im/element-web/pull/17039)
* Disable `postcss-calc`'s noisy `warnWhenCannotResolve` option
[\#17041](https://github.com/vector-im/element-web/pull/17041)
Changes in [1.7.26](https://github.com/vector-im/element-web/releases/tag/v1.7.26) (2021-04-26)
===============================================================================================
[Full Changelog](https://github.com/vector-im/element-web/compare/v1.7.26-rc.1...v1.7.26)
* Upgrade to React SDK 3.19.0 and JS SDK 10.0.0
Changes in [1.7.26-rc.1](https://github.com/vector-im/element-web/releases/tag/v1.7.26-rc.1) (2021-04-21)
=========================================================================================================
[Full Changelog](https://github.com/vector-im/element-web/compare/v1.7.25...v1.7.26-rc.1)
* Upgrade to React SDK 3.19.0-rc.1 and JS SDK 10.0.0-rc.1
* Translations update from Weblate
[\#17031](https://github.com/vector-im/element-web/pull/17031)
* Bump ssri from 6.0.1 to 6.0.2
[\#17010](https://github.com/vector-im/element-web/pull/17010)
* Fix `NODE_ENV` value for CI environments
[\#17003](https://github.com/vector-im/element-web/pull/17003)
* Use React production mode in CI builds
[\#16969](https://github.com/vector-im/element-web/pull/16969)
* Labs documentation for DND mode
[\#16962](https://github.com/vector-im/element-web/pull/16962)
* Rename blackboxing to new option ignore list
[\#16965](https://github.com/vector-im/element-web/pull/16965)
* Remove velocity-animate from lockfile
[\#16963](https://github.com/vector-im/element-web/pull/16963)
* Add mobile download link configuration
[\#16890](https://github.com/vector-im/element-web/pull/16890)
* Switch develop to not-staging Scalar by default
[\#16883](https://github.com/vector-im/element-web/pull/16883)
* Support a config option to skip login/welcome and go to SSO
[\#16880](https://github.com/vector-im/element-web/pull/16880)
Changes in [1.7.25](https://github.com/vector-im/element-web/releases/tag/v1.7.25) (2021-04-12)
===============================================================================================
[Full Changelog](https://github.com/vector-im/element-web/compare/v1.7.25-rc.1...v1.7.25)
* Upgrade to React SDK 3.18.0 and JS SDK 9.11.0
Changes in [1.7.25-rc.1](https://github.com/vector-im/element-web/releases/tag/v1.7.25-rc.1) (2021-04-07)
=========================================================================================================
[Full Changelog](https://github.com/vector-im/element-web/compare/v1.7.24...v1.7.25-rc.1)
* Upgrade to React SDK 3.18.0-rc.1 and JS SDK 9.11.0-rc.1
* Translations update from Weblate
[\#16882](https://github.com/vector-im/element-web/pull/16882)
* Revert "Docker image: serve pre-compressed assets using gzip_static"
[\#16838](https://github.com/vector-im/element-web/pull/16838)
* Move native node modules documentation to element-desktop
[\#16814](https://github.com/vector-im/element-web/pull/16814)
* Add user settings for warn before exit
[\#16781](https://github.com/vector-im/element-web/pull/16781)
* Change ISSUE_TEMPLATE bold lines to proper headers
[\#16768](https://github.com/vector-im/element-web/pull/16768)
* Add example for deployment into Kubernetes
[\#16447](https://github.com/vector-im/element-web/pull/16447)
* Create bare-bones `PULL_REQUEST_TEMPLATE.md`
[\#16770](https://github.com/vector-im/element-web/pull/16770)
* Add webpack config and labs flag docs for voice messages
[\#16705](https://github.com/vector-im/element-web/pull/16705)
Changes in [1.7.24](https://github.com/vector-im/element-web/releases/tag/v1.7.24) (2021-03-29)
===============================================================================================
[Full Changelog](https://github.com/vector-im/element-web/compare/v1.7.24-rc.1...v1.7.24)
* Upgrade to React SDK 3.17.0 and JS SDK 9.10.0
Changes in [1.7.24-rc.1](https://github.com/vector-im/element-web/releases/tag/v1.7.24-rc.1) (2021-03-25)
=========================================================================================================
[Full Changelog](https://github.com/vector-im/element-web/compare/v1.7.23...v1.7.24-rc.1)
* Upgrade to React SDK 3.17.0-rc.2 and JS SDK 9.10.0-rc.1
* Translations update from Weblate
[\#16766](https://github.com/vector-im/element-web/pull/16766)
* Docker image: serve pre-compressed assets using gzip_static
[\#16698](https://github.com/vector-im/element-web/pull/16698)
* Fix style lint issues
[\#16732](https://github.com/vector-im/element-web/pull/16732)
* Updated expected webpack output in setup guide
[\#16740](https://github.com/vector-im/element-web/pull/16740)
* Docs for `loginForWelcome`
[\#16468](https://github.com/vector-im/element-web/pull/16468)
* Disable rageshake persistence if no logs would be submitted
[\#16697](https://github.com/vector-im/element-web/pull/16697)
Changes in [1.7.23](https://github.com/vector-im/element-web/releases/tag/v1.7.23) (2021-03-15)
===============================================================================================
[Full Changelog](https://github.com/vector-im/element-web/compare/v1.7.23-rc.1...v1.7.23)
* Upgrade to React SDK 3.16.0 and JS SDK 9.9.0
Changes in [1.7.23-rc.1](https://github.com/vector-im/element-web/releases/tag/v1.7.23-rc.1) (2021-03-10)
=========================================================================================================
[Full Changelog](https://github.com/vector-im/element-web/compare/v1.7.22...v1.7.23-rc.1)
* Upgrade to React SDK 3.16.0-rc.2 and JS SDK 9.9.0-rc.1
* Translations update from Weblate
[\#16655](https://github.com/vector-im/element-web/pull/16655)
* Improve docs for customisations
[\#16652](https://github.com/vector-im/element-web/pull/16652)
* Update triage guide to match the new label scheme
[\#16612](https://github.com/vector-im/element-web/pull/16612)
* Remove a couple useless 'use strict' calls
[\#16650](https://github.com/vector-im/element-web/pull/16650)
* Remove old conferencing doc
[\#16648](https://github.com/vector-im/element-web/pull/16648)
* Bump elliptic from 6.5.3 to 6.5.4
[\#16644](https://github.com/vector-im/element-web/pull/16644)
* Add option for audio live streaming
[\#16604](https://github.com/vector-im/element-web/pull/16604)
* Update velocity-animate dependency
[\#16605](https://github.com/vector-im/element-web/pull/16605)
* Add Edge to the supported tier
[\#16611](https://github.com/vector-im/element-web/pull/16611)
* Add multi language spell check
[\#15851](https://github.com/vector-im/element-web/pull/15851)
* Document feature_spaces
[\#16538](https://github.com/vector-im/element-web/pull/16538)
Changes in [1.7.22](https://github.com/vector-im/element-web/releases/tag/v1.7.22) (2021-03-01)
===============================================================================================
[Full Changelog](https://github.com/vector-im/element-web/compare/v1.7.22-rc.1...v1.7.22)
## Security notice
Element Web 1.7.22 fixes (by upgrading to matrix-react-sdk 3.15.0) a moderate
severity issue (CVE-2021-21320) where the user content sandbox can be abused to
trick users into opening unexpected documents after several user interactions.
The content can be opened with a `blob` origin from the Matrix client, so it is
possible for a malicious document to access user messages and secrets. Thanks to
@keerok for responsibly disclosing this via Matrix's Security Disclosure Policy.
## All changes
* Upgrade to React SDK 3.15.0 and JS SDK 9.8.0
Changes in [1.7.22-rc.1](https://github.com/vector-im/element-web/releases/tag/v1.7.22-rc.1) (2021-02-24)
=========================================================================================================
[Full Changelog](https://github.com/vector-im/element-web/compare/v1.7.21...v1.7.22-rc.1)
* Upgrade to React SDK 3.15.0-rc.1 and JS SDK 9.8.0-rc.1
* Translations update from Weblate
[\#16529](https://github.com/vector-im/element-web/pull/16529)
* Add hostSignup config for element.io clients
[\#16515](https://github.com/vector-im/element-web/pull/16515)
* VoIP virtual rooms, mkII
[\#16442](https://github.com/vector-im/element-web/pull/16442)
* Jitsi widget: Read room name from query parameters
[\#16456](https://github.com/vector-im/element-web/pull/16456)
* fix / sso: make sure to delete only loginToken after redirect
[\#16415](https://github.com/vector-im/element-web/pull/16415)
* Disable Countly
[\#16433](https://github.com/vector-im/element-web/pull/16433)
Changes in [1.7.21](https://github.com/vector-im/element-web/releases/tag/v1.7.21) (2021-02-16)
===============================================================================================
[Full Changelog](https://github.com/vector-im/element-web/compare/v1.7.21-rc.1...v1.7.21)
* Upgrade to React SDK 3.14.0 and JS SDK 9.7.0
Changes in [1.7.21-rc.1](https://github.com/vector-im/element-web/releases/tag/v1.7.21-rc.1) (2021-02-10)
=========================================================================================================
[Full Changelog](https://github.com/vector-im/element-web/compare/v1.7.20...v1.7.21-rc.1)
* Upgrade to React SDK 3.14.0-rc.1 and JS SDK 9.7.0-rc.1
* Translations update from Weblate
[\#16427](https://github.com/vector-im/element-web/pull/16427)
* Add RegExp dotAll feature test
[\#16408](https://github.com/vector-im/element-web/pull/16408)
* Fix Electron type merging
[\#16405](https://github.com/vector-im/element-web/pull/16405)
* README: remove Jenkins reference
[\#16381](https://github.com/vector-im/element-web/pull/16381)
* Enable PostCSS Calc in webpack builds
[\#16307](https://github.com/vector-im/element-web/pull/16307)
* Add configuration security best practices to the README.
[\#16367](https://github.com/vector-im/element-web/pull/16367)
* Upgrade matrix-widget-api
[\#16347](https://github.com/vector-im/element-web/pull/16347)
Changes in [1.7.20](https://github.com/vector-im/element-web/releases/tag/v1.7.20) (2021-02-04)
===============================================================================================
[Full Changelog](https://github.com/vector-im/element-web/compare/v1.7.19...v1.7.20)
* Upgrade to React SDK 3.13.1
Changes in [1.7.19](https://github.com/vector-im/element-web/releases/tag/v1.7.19) (2021-02-03)
===============================================================================================
[Full Changelog](https://github.com/vector-im/element-web/compare/v1.7.19-rc.1...v1.7.19)
* Upgrade to React SDK 3.13.0 and JS SDK 9.6.0
* [Release] Upgrade matrix-widget-api
[\#16348](https://github.com/vector-im/element-web/pull/16348)
Changes in [1.7.19-rc.1](https://github.com/vector-im/element-web/releases/tag/v1.7.19-rc.1) (2021-01-29)
=========================================================================================================
[Full Changelog](https://github.com/vector-im/element-web/compare/v1.7.18...v1.7.19-rc.1)
* Upgrade to React SDK 3.13.0-rc.1 and JS SDK 9.6.0-rc.1
* Translations update from Weblate
[\#16314](https://github.com/vector-im/element-web/pull/16314)
* Use history replaceState instead of redirect for SSO flow
[\#16292](https://github.com/vector-im/element-web/pull/16292)
* Document the mobile guide toast option
[\#16301](https://github.com/vector-im/element-web/pull/16301)
* Update widget-api to beta.12
[\#16303](https://github.com/vector-im/element-web/pull/16303)
* Upgrade deps 2021-01
[\#16294](https://github.com/vector-im/element-web/pull/16294)
* Move to newer base image for Docker builds
[\#16275](https://github.com/vector-im/element-web/pull/16275)
* Docs for the VoIP translate pattern option
[\#16236](https://github.com/vector-im/element-web/pull/16236)
* Fix Riot->Element in permalinkPrefix docs
[\#16227](https://github.com/vector-im/element-web/pull/16227)
* Supply server_name for optional federation-capable Jitsi auth
[\#16215](https://github.com/vector-im/element-web/pull/16215)
* Fix Widget API version confusion
[\#16212](https://github.com/vector-im/element-web/pull/16212)
* Add Hebrew language
[\#16210](https://github.com/vector-im/element-web/pull/16210)
* Update widget-api to beta 11
[\#16177](https://github.com/vector-im/element-web/pull/16177)
* Fix develop Docker builds
[\#16192](https://github.com/vector-im/element-web/pull/16192)
* Skip the service worker for Electron
[\#16157](https://github.com/vector-im/element-web/pull/16157)
* Use isolated IPC API
[\#16137](https://github.com/vector-im/element-web/pull/16137)
Changes in [1.7.18](https://github.com/vector-im/element-web/releases/tag/v1.7.18) (2021-01-26)
===============================================================================================
[Full Changelog](https://github.com/vector-im/element-web/compare/v1.7.17...v1.7.18)
* Upgrade to React SDK 3.12.1 and JS SDK 9.5.1
Changes in [1.7.17](https://github.com/vector-im/element-web/releases/tag/v1.7.17) (2021-01-18)
===============================================================================================
[Full Changelog](https://github.com/vector-im/element-web/compare/v1.7.17-rc.1...v1.7.17)
* Upgrade to React SDK 3.12.0 and JS SDK 9.5.0
Changes in [1.7.17-rc.1](https://github.com/vector-im/element-web/releases/tag/v1.7.17-rc.1) (2021-01-13)
=========================================================================================================
[Full Changelog](https://github.com/vector-im/element-web/compare/v1.7.16...v1.7.17-rc.1)
* Upgrade to React SDK 3.12.0-rc.1 and JS SDK 9.5.0-rc.1
* Translations update from Weblate
[\#16131](https://github.com/vector-im/element-web/pull/16131)
* webplatform: Fix notification closing
[\#16028](https://github.com/vector-im/element-web/pull/16028)
* Stop building code and types for Element layer
[\#15999](https://github.com/vector-im/element-web/pull/15999)
Changes in [1.7.16](https://github.com/vector-im/element-web/releases/tag/v1.7.16) (2020-12-21)
===============================================================================================
[Full Changelog](https://github.com/vector-im/element-web/compare/v1.7.16-rc.1...v1.7.16)
* Upgrade to React SDK 3.11.1 and JS SDK 9.4.1
Changes in [1.7.16-rc.1](https://github.com/vector-im/element-web/releases/tag/v1.7.16-rc.1) (2020-12-16)
=========================================================================================================
[Full Changelog](https://github.com/vector-im/element-web/compare/v1.7.15...v1.7.16-rc.1)
* Upgrade to React SDK 3.11.0-rc.2 and JS SDK 9.4.0-rc.2
* Translations update from Weblate
[\#15979](https://github.com/vector-im/element-web/pull/15979)
* Bump ini from 1.3.5 to 1.3.7
[\#15949](https://github.com/vector-im/element-web/pull/15949)
* Document pull request previews
[\#15937](https://github.com/vector-im/element-web/pull/15937)
* Improve asset path for KaTeX fonts
[\#15939](https://github.com/vector-im/element-web/pull/15939)
* Fix an important semicolon
[\#15912](https://github.com/vector-im/element-web/pull/15912)
* Bump highlight.js from 10.1.2 to 10.4.1
[\#15898](https://github.com/vector-im/element-web/pull/15898)
* Add gitter.im to room directory
[\#15894](https://github.com/vector-im/element-web/pull/15894)
* Extend Platform to support idpId for SSO flows
[\#15771](https://github.com/vector-im/element-web/pull/15771)
* Include KaTeX CSS as a dependency
[\#15843](https://github.com/vector-im/element-web/pull/15843)
Changes in [1.7.15](https://github.com/vector-im/element-web/releases/tag/v1.7.15) (2020-12-07)
===============================================================================================
[Full Changelog](https://github.com/vector-im/element-web/compare/v1.7.15-rc.1...v1.7.15)
* Upgrade to React SDK 3.10.0 and JS SDK 9.3.0
Changes in [1.7.15-rc.1](https://github.com/vector-im/element-web/releases/tag/v1.7.15-rc.1) (2020-12-02)
=========================================================================================================
[Full Changelog](https://github.com/vector-im/element-web/compare/v1.7.14...v1.7.15-rc.1)
* Upgrade to React SDK 3.10.0-rc.1 and JS SDK 9.3.0-rc.1
* Include KaTeX CSS as a dependency
[\#15843](https://github.com/vector-im/element-web/pull/15843)
* Translations update from Weblate
[\#15884](https://github.com/vector-im/element-web/pull/15884)
* added katex.min.css to webpack for math support (main PR in matrix-react-
sdk)
[\#15277](https://github.com/vector-im/element-web/pull/15277)
* Rebrand package name and other details
[\#15828](https://github.com/vector-im/element-web/pull/15828)
* Bump highlight.js from 9.18.1 to 10.1.2
[\#15819](https://github.com/vector-im/element-web/pull/15819)
* Update branding of packaging artifacts
[\#15810](https://github.com/vector-im/element-web/pull/15810)
* Update the react-sdk reference in the lockfile
[\#15814](https://github.com/vector-im/element-web/pull/15814)
* Update widget API for good measure in Element Web
[\#15812](https://github.com/vector-im/element-web/pull/15812)
* Stop publishing Element to NPM
[\#15811](https://github.com/vector-im/element-web/pull/15811)
* Add inotify instance limit info to README
[\#15795](https://github.com/vector-im/element-web/pull/15795)
Changes in [1.7.14](https://github.com/vector-im/element-web/releases/tag/v1.7.14) (2020-11-23)
===============================================================================================
[Full Changelog](https://github.com/vector-im/element-web/compare/v1.7.14-rc.1...v1.7.14)
* Upgrade to React SDK 3.9.0 and JS SDK 9.2.0
Changes in [1.7.14-rc.1](https://github.com/vector-im/element-web/releases/tag/v1.7.14-rc.1) (2020-11-18)
=========================================================================================================
[Full Changelog](https://github.com/vector-im/element-web/compare/v1.7.13...v1.7.14-rc.1)
* Upgrade to React SDK 3.9.0-rc.1 and JS SDK 9.2.0-rc.1
* Translations update from Weblate
[\#15767](https://github.com/vector-im/element-web/pull/15767)
* Update the widget-api for element-web
[\#15717](https://github.com/vector-im/element-web/pull/15717)
Changes in [1.7.13](https://github.com/vector-im/element-web/releases/tag/v1.7.13) (2020-11-09)
===============================================================================================
[Full Changelog](https://github.com/vector-im/element-web/compare/v1.7.13-rc.1...v1.7.13)
* Upgrade to React SDK 3.8.0 and JS SDK 9.1.0
Changes in [1.7.13-rc.1](https://github.com/vector-im/element-web/releases/tag/v1.7.13-rc.1) (2020-11-04)
=========================================================================================================
[Full Changelog](https://github.com/vector-im/element-web/compare/v1.7.12...v1.7.13-rc.1)
* Upgrade to React SDK 3.8.0-rc.1 and JS SDK 9.1.0-rc.1
* Translations update from Weblate
[\#15644](https://github.com/vector-im/element-web/pull/15644)
* Add countly experiment to develop/nightly configs
[\#15614](https://github.com/vector-im/element-web/pull/15614)
* Add documentation for new UIFeature flag regarding room history settings
[\#15592](https://github.com/vector-im/element-web/pull/15592)
* Rename Docker repo in docs
[\#15590](https://github.com/vector-im/element-web/pull/15590)
* Fix Jitsi regressions with custom themes
[\#15575](https://github.com/vector-im/element-web/pull/15575)
Changes in [1.7.12](https://github.com/vector-im/element-web/releases/tag/v1.7.12) (2020-10-28)
===============================================================================================
[Full Changelog](https://github.com/vector-im/element-web/compare/v1.7.11...v1.7.12)
* Upgrade to React SDK 3.7.1 and JS SDK 9.0.1
* [Release] Fix Jitsi regressions with custom themes
[\#15577](https://github.com/vector-im/element-web/pull/15577)
Changes in [1.7.11](https://github.com/vector-im/element-web/releases/tag/v1.7.11) (2020-10-26)
===============================================================================================
[Full Changelog](https://github.com/vector-im/element-web/compare/v1.7.11-rc.1...v1.7.11)
* Upgrade to React SDK 3.7.0 and JS SDK 9.0.0
Changes in [1.7.11-rc.1](https://github.com/vector-im/element-web/releases/tag/v1.7.11-rc.1) (2020-10-21)
=========================================================================================================
[Full Changelog](https://github.com/vector-im/element-web/compare/v1.7.10...v1.7.11-rc.1)
* Upgrade to React SDK 3.7.0-rc.2 and JS SDK 9.0.0-rc.1
* Update Weblate URL
[\#15516](https://github.com/vector-im/element-web/pull/15516)
* Translations update from Weblate
[\#15517](https://github.com/vector-im/element-web/pull/15517)
* Jitsi accept theme variable and restyle
[\#15499](https://github.com/vector-im/element-web/pull/15499)
* Skip editor confirmation of upgrades
[\#15506](https://github.com/vector-im/element-web/pull/15506)
* Adjust for new widget messaging APIs
[\#15495](https://github.com/vector-im/element-web/pull/15495)
* Use HTTPS_PROXY environment variable for downloading external_api.min…
[\#15479](https://github.com/vector-im/element-web/pull/15479)
* Document customisation points
[\#15475](https://github.com/vector-im/element-web/pull/15475)
* Don't fatally end the Jitsi widget when it's not being used as a widget
[\#15466](https://github.com/vector-im/element-web/pull/15466)
* electron-platform: Pass the user/devce id pair when initializing the event
index.
[\#15455](https://github.com/vector-im/element-web/pull/15455)
Changes in [1.7.10](https://github.com/vector-im/element-web/releases/tag/v1.7.10) (2020-10-20)
===============================================================================================
[Full Changelog](https://github.com/vector-im/element-web/compare/v1.7.9...v1.7.10)
* [Release] Adjust for new widget messaging APIs
[\#15497](https://github.com/vector-im/element-web/pull/15497)
* Upgrade to React SDK 3.6.1
Changes in [1.7.9](https://github.com/vector-im/element-web/releases/tag/v1.7.9) (2020-10-12)
=============================================================================================
[Full Changelog](https://github.com/vector-im/element-web/compare/v1.7.9-rc.1...v1.7.9)
* Upgrade to React SDK 3.6.0 and JS SDK 8.5.0
Changes in [1.7.9-rc.1](https://github.com/vector-im/element-web/releases/tag/v1.7.9-rc.1) (2020-10-07)
=======================================================================================================
[Full Changelog](https://github.com/vector-im/element-web/compare/v1.7.8...v1.7.9-rc.1)
* Upgrade to React SDK 3.6.0-rc.1 and JS SDK 8.5.0-rc.1
* Update from Weblate
[\#15406](https://github.com/vector-im/element-web/pull/15406)
* Update Jest and JSDOM
[\#15402](https://github.com/vector-im/element-web/pull/15402)
* Add support for dehydration/fallback keys
[\#15398](https://github.com/vector-im/element-web/pull/15398)
* Remove riot-bot from sample config
[\#15376](https://github.com/vector-im/element-web/pull/15376)
* Switch to using the Widget API SDK for Jitsi widgets
[\#15102](https://github.com/vector-im/element-web/pull/15102)
* Remove workbox
[\#15352](https://github.com/vector-im/element-web/pull/15352)
* Disable workbox when running in webpack dev server, not in dev mode
[\#15345](https://github.com/vector-im/element-web/pull/15345)
* Update Riot -> Element in contribute.json
[\#15326](https://github.com/vector-im/element-web/pull/15326)
* Update Riot -> Element in redeploy.py
[\#15336](https://github.com/vector-im/element-web/pull/15336)
* Update Riot -> Element in docs/feature-flags.md
[\#15325](https://github.com/vector-im/element-web/pull/15325)
* Update Riot -> Element in element.io/README.md
[\#15327](https://github.com/vector-im/element-web/pull/15327)
* Update Riot -> Element in VectorAuthFooter
[\#15328](https://github.com/vector-im/element-web/pull/15328)
* Update Riot -> Element in VectorEmbeddedPage
[\#15329](https://github.com/vector-im/element-web/pull/15329)
* Update Riot -> Element in docs/review.md
[\#15330](https://github.com/vector-im/element-web/pull/15330)
* Update Riot -> Element in welcome.html
[\#15332](https://github.com/vector-im/element-web/pull/15332)
* Update Riot -> Element in issues-burndown.pl
[\#15333](https://github.com/vector-im/element-web/pull/15333)
* Update Riot -> Element in redeploy.py
[\#15334](https://github.com/vector-im/element-web/pull/15334)
* Update Riot -> Element in index.ts
[\#15335](https://github.com/vector-im/element-web/pull/15335)
* Update Riot -> Element Web in issue templates
[\#15324](https://github.com/vector-im/element-web/pull/15324)
* Give the Jitsi widget an icon to help with discovery
[\#15316](https://github.com/vector-im/element-web/pull/15316)
* Jitsi widget wrapper updates for hangup button
[\#15219](https://github.com/vector-im/element-web/pull/15219)
* Tidy up Service Worker, only run Workbox in production
[\#15271](https://github.com/vector-im/element-web/pull/15271)
* Remove conference handler
[\#15274](https://github.com/vector-im/element-web/pull/15274)
* Rebrand the webpack pipeline for Element
[\#15266](https://github.com/vector-im/element-web/pull/15266)
* Replace dummy sw.js with pre-caching and runtime-caching workbox SW
[\#15196](https://github.com/vector-im/element-web/pull/15196)
Changes in [1.7.8](https://github.com/vector-im/element-web/releases/tag/v1.7.8) (2020-09-28)
=============================================================================================
[Full Changelog](https://github.com/vector-im/element-web/compare/v1.7.8-rc.1...v1.7.8)
* Upgrade to React SDK 3.5.0 and JS SDK 8.4.1
Changes in [1.7.8-rc.1](https://github.com/vector-im/element-web/releases/tag/v1.7.8-rc.1) (2020-09-23)
=======================================================================================================
[Full Changelog](https://github.com/vector-im/element-web/compare/v1.7.7...v1.7.8-rc.1)
* Upgrade to React SDK 3.5.0-rc.1 and JS SDK 8.4.0-rc.1
* Update from Weblate
[\#15262](https://github.com/vector-im/element-web/pull/15262)
* Upgrade sanitize-html
[\#15260](https://github.com/vector-im/element-web/pull/15260)
* Document config for preferring Secure Backup setup methods
[\#15251](https://github.com/vector-im/element-web/pull/15251)
* Add end-user documentation for UI features
[\#15190](https://github.com/vector-im/element-web/pull/15190)
* Update git checkout instructions
[\#15218](https://github.com/vector-im/element-web/pull/15218)
* If no bug_report_endpoint_url, hide rageshaking from the App
[\#15201](https://github.com/vector-im/element-web/pull/15201)
* Bump node-fetch from 2.6.0 to 2.6.1
[\#15153](https://github.com/vector-im/element-web/pull/15153)
* Remove references to Travis CI
[\#15137](https://github.com/vector-im/element-web/pull/15137)
* Fix onNewScreen to use replace when going from roomId->roomAlias
[\#15127](https://github.com/vector-im/element-web/pull/15127)
* Enable Estonian in language menu
[\#15136](https://github.com/vector-im/element-web/pull/15136)
Changes in [1.7.7](https://github.com/vector-im/element-web/releases/tag/v1.7.7) (2020-09-14)
=============================================================================================
[Full Changelog](https://github.com/vector-im/element-web/compare/v1.7.6...v1.7.7)
* Upgrade to React SDK 3.4.1
Changes in [1.7.6](https://github.com/vector-im/element-web/releases/tag/v1.7.6) (2020-09-14)
=============================================================================================
[Full Changelog](https://github.com/vector-im/element-web/compare/v1.7.6-rc.1...v1.7.6)
* Upgrade to React SDK 3.4.0 and JS SDK 8.3.0
Changes in [1.7.6-rc.1](https://github.com/vector-im/element-web/releases/tag/v1.7.6-rc.1) (2020-09-09)
=======================================================================================================
[Full Changelog](https://github.com/vector-im/element-web/compare/v1.7.5...v1.7.6-rc.1)
* Upgrade to React SDK 3.4.0-rc.1 and JS SDK 8.3.0-rc.1
* Update from Weblate
[\#15125](https://github.com/vector-im/element-web/pull/15125)
* Support usage of Jitsi widgets with "openidtoken-jwt" auth
[\#15114](https://github.com/vector-im/element-web/pull/15114)
* Fix eslint ts override tsx matching and delint
[\#15064](https://github.com/vector-im/element-web/pull/15064)
* Add testing to review guidelines
[\#15050](https://github.com/vector-im/element-web/pull/15050)
Changes in [1.7.5](https://github.com/vector-im/element-web/releases/tag/v1.7.5) (2020-09-01)
=============================================================================================
[Full Changelog](https://github.com/vector-im/element-web/compare/v1.7.5-rc.1...v1.7.5)
## Security notice
Element Web 1.7.5 fixes an issue where encrypted state events could break incoming call handling.
Thanks to @awesome-michael from Awesome Technologies for responsibly disclosing this via Matrix's
Security Disclosure Policy.
## All changes
* Upgrade to React SDK 3.3.0 and JS SDK 8.2.0
Changes in [1.7.5-rc.1](https://github.com/vector-im/element-web/releases/tag/v1.7.5-rc.1) (2020-08-26)
=======================================================================================================
[Full Changelog](https://github.com/vector-im/element-web/compare/v1.7.4...v1.7.5-rc.1)
* Upgrade to React SDK 3.3.0-rc.1 and JS SDK 8.2.0-rc.1
* Update from Weblate
[\#15045](https://github.com/vector-im/element-web/pull/15045)
* Document .well-known E2EE secure backup setting
[\#15003](https://github.com/vector-im/element-web/pull/15003)
* Add docs for communities v2 prototyping feature flag
[\#15013](https://github.com/vector-im/element-web/pull/15013)
* Update links in README.md to point to Element
[\#14973](https://github.com/vector-im/element-web/pull/14973)
* Make kabyle translation available
[\#15027](https://github.com/vector-im/element-web/pull/15027)
* Change Riot to Element in readme
[\#15016](https://github.com/vector-im/element-web/pull/15016)
* Update links to element in the readme
[\#15014](https://github.com/vector-im/element-web/pull/15014)
* Link to Element in F-Droid as well
[\#15002](https://github.com/vector-im/element-web/pull/15002)
* Settings v3: Update documentation and configs for new feature flag behaviour
[\#14986](https://github.com/vector-im/element-web/pull/14986)
* Update jitsi.md with Element Android details
[\#14952](https://github.com/vector-im/element-web/pull/14952)
* TypeScript: enable es2019 lib for newer definitions
[\#14983](https://github.com/vector-im/element-web/pull/14983)
* Add reaction preview labs flags to develop
[\#14979](https://github.com/vector-im/element-web/pull/14979)
* Document new labs tweaks
[\#14958](https://github.com/vector-im/element-web/pull/14958)
Changes in [1.7.4](https://github.com/vector-im/element-web/releases/tag/v1.7.4) (2020-08-17)
=============================================================================================
[Full Changelog](https://github.com/vector-im/element-web/compare/v1.7.4-rc.1...v1.7.4)

View File

@@ -1,4 +0,0 @@
Contributing code to Element
============================
Element follows the same pattern as https://github.com/matrix-org/matrix-js-sdk/blob/master/CONTRIBUTING.rst.

4
CONTRIBUTING.rst Normal file
View File

@@ -0,0 +1,4 @@
Contributing code to Riot
=========================
Riot follows the same pattern as https://github.com/matrix-org/matrix-js-sdk/blob/master/CONTRIBUTING.rst.

View File

@@ -1,15 +1,18 @@
# Builder
FROM node:14-buster as builder
FROM node:12 as builder
# Support custom branches of the react-sdk and js-sdk. This also helps us build
# images of element-web develop.
# images of riot-web develop.
ARG USE_CUSTOM_SDKS=false
ARG REACT_SDK_REPO="https://github.com/matrix-org/matrix-react-sdk.git"
ARG REACT_SDK_BRANCH="master"
ARG JS_SDK_REPO="https://github.com/matrix-org/matrix-js-sdk.git"
ARG JS_SDK_BRANCH="master"
RUN apt-get update && apt-get install -y git dos2unix
RUN apt-get update && apt-get install -y git dos2unix \
# These packages are required for building Canvas on architectures like Arm
# See https://www.npmjs.com/package/canvas#compiling
build-essential libcairo2-dev libpango1.0-dev libjpeg-dev libgif-dev librsvg2-dev
WORKDIR /src
@@ -34,4 +37,4 @@ COPY --from=builder /src/webapp /app
RUN sed -i '3i\ \ \ \ application/wasm wasm\;' /etc/nginx/mime.types
RUN rm -rf /usr/share/nginx/html \
&& ln -s /app /usr/share/nginx/html
&& ln -s /app /usr/share/nginx/html

252
README.md
View File

@@ -11,7 +11,7 @@ Element has several tiers of support for different environments:
* Supported
* Definition: Issues **actively triaged**, regressions **block** the release
* Last 2 major versions of Chrome, Firefox, Safari, and Edge on desktop OSes
* Last 2 major versions of Chrome, Firefox, and Safari on desktop OSes
* Latest release of official Element Desktop app on desktop OSes
* Desktop OSes means macOS, Windows, and Linux versions for desktop devices
that are actively supported by the OS vendor and receive security updates
@@ -24,29 +24,29 @@ Element has several tiers of support for different environments:
* Everything else
For accessing Element on an Android or iOS device, we currently recommend the
native apps [element-android](https://github.com/vector-im/element-android)
and [element-ios](https://github.com/vector-im/element-ios).
native apps [riot-android](https://github.com/vector-im/riot-android)
and [riot-ios](https://github.com/vector-im/riot-ios).
Getting Started
===============
The easiest way to test Element is to just use the hosted copy at https://app.element.io.
The `develop` branch is continuously deployed to https://develop.element.io
The `develop` branch is continuously deployed by Jenkins at https://develop.element.io
for those who like living dangerously.
To host your own copy of Element, the quickest bet is to use a pre-built
released version of Element:
1. Download the latest version from https://github.com/vector-im/element-web/releases
1. Download the latest version from https://github.com/vector-im/riot-web/releases
1. Untar the tarball on your web server
1. Move (or symlink) the `element-x.x.x` directory to an appropriate name
1. Move (or symlink) the `riot-x.x.x` directory to an appropriate name
1. Configure the correct caching headers in your webserver (see below)
1. If desired, copy `config.sample.json` to `config.json` and edit it
as desired. See the [configuration docs](docs/config.md) for details.
1. Enter the URL into your browser and log into Element!
Releases are signed using gpg and the OpenPGP standard, and can be checked against the public key located
at https://packages.riot.im/element-release-key.asc.
at https://packages.riot.im/riot-release-key.asc.
Note that for the security of your chats will need to serve Element
over HTTPS. Major browsers also do not allow you to use VoIP/video
@@ -58,11 +58,8 @@ and thus allowed.
To install Element as a desktop application, see [Running as a desktop
app](#running-as-a-desktop-app) below.
Important Security Notes
========================
Separate domains
----------------
Important Security Note
=======================
We do not recommend running Element from the same domain name as your Matrix
homeserver. The reason is the risk of XSS (cross-site-scripting)
@@ -72,46 +69,7 @@ access to Element (or other apps) due to sharing the same domain.
We have put some coarse mitigations into place to try to protect against this
situation, but it's still not good practice to do it in the first place. See
https://github.com/vector-im/element-web/issues/1977 for more details.
Configuration best practices
----------------------------
Unless you have special requirements, you will want to add the following to
your web server configuration when hosting Element Web:
- The `X-Frame-Options: SAMEORIGIN` header, to prevent Element Web from being
framed and protect from [clickjacking][owasp-clickjacking].
- The `frame-ancestors 'none'` directive to your `Content-Security-Policy`
header, as the modern replacement for `X-Frame-Options` (though both should be
included since not all browsers support it yet, see
[this][owasp-clickjacking-csp]).
- The `X-Content-Type-Options: nosniff` header, to [disable MIME
sniffing][mime-sniffing].
- The `X-XSS-Protection: 1; mode=block;` header, for basic XSS protection in
legacy browsers.
[mime-sniffing]:
<https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types#mime_sniffing>
[owasp-clickjacking-csp]:
<https://cheatsheetseries.owasp.org/cheatsheets/Clickjacking_Defense_Cheat_Sheet.html#content-security-policy-frame-ancestors-examples>
[owasp-clickjacking]:
<https://cheatsheetseries.owasp.org/cheatsheets/Clickjacking_Defense_Cheat_Sheet.html>
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'";
```
Note: In case you are already setting a `Content-Security-Policy` header
elsewhere, you should modify it to include the `frame-ancestors` directive
instead of adding that last line.
https://github.com/vector-im/riot-web/issues/1977 for more details.
Building From Source
====================
@@ -124,8 +82,8 @@ guide](https://classic.yarnpkg.com/en/docs/install) if you do not have it alread
1. Install or update `node.js` so that your `node` is at least v10.x.
1. Install `yarn` if not present already.
1. Clone the repo: `git clone https://github.com/vector-im/element-web.git`.
1. Switch to the element-web directory: `cd element-web`.
1. Clone the repo: `git clone https://github.com/vector-im/riot-web.git`.
1. Switch to the riot-web directory: `cd riot-web`.
1. Install the prerequisites: `yarn install`.
* If you're using the `develop` branch, then it is recommended to set up a
proper development environment (see [Setting up a dev
@@ -141,17 +99,16 @@ guide](https://classic.yarnpkg.com/en/docs/install) if you do not have it alread
Note that `yarn dist` is not supported on Windows, so Windows users can run `yarn build`,
which will build all the necessary files into the `webapp` directory. The version of Element
will not appear in Settings without using the dist script. You can then mount the
`webapp` directory on your web server to actually serve up the app, which is
entirely static content.
`webapp` directory on your webserver to actually serve up the app, which is entirely static content.
Running as a Desktop app
========================
Element can also be run as a desktop app, wrapped in Electron. You can download a
pre-built version from https://element.io/get-started or, if you prefer,
pre-built version from https://riot.im/download/desktop/ or, if you prefer,
build it yourself.
To build it yourself, follow the instructions at https://github.com/vector-im/element-desktop.
To build it yourself, follow the instructions at https://github.com/vector-im/riot-desktop.
Many thanks to @aviraldg for the initial work on the Electron integration.
@@ -169,31 +126,31 @@ override the desktop app's default settings if desired.
Running from Docker
===================
The Docker image can be used to serve element-web as a web server. The easiest way to use
The Docker image can be used to serve riot-web as a web server. The easiest way to use
it is to use the prebuilt image:
```bash
docker run -p 80:80 vectorim/element-web
docker run -p 80:80 vectorim/riot-web
```
To supply your own custom `config.json`, map a volume to `/app/config.json`. For example,
if your custom config was located at `/etc/element-web/config.json` then your Docker command
if your custom config was located at `/etc/riot-web/config.json` then your Docker command
would be:
```bash
docker run -p 80:80 -v /etc/element-web/config.json:/app/config.json vectorim/element-web
docker run -p 80:80 -v /etc/riot-web/config.json:/app/config.json vectorim/riot-web
```
To build the image yourself:
```bash
git clone https://github.com/vector-im/element-web.git element-web
cd element-web
git clone https://github.com/vector-im/riot-web.git riot-web
cd riot-web
git checkout master
docker build .
docker build -t vectorim/riot-web .
```
If you're building a custom branch, or want to use the develop branch, check out the appropriate
element-web branch and then run:
riot-web branch and then run:
```bash
docker build -t \
docker build -t vectorim/riot-web:develop \
--build-arg USE_CUSTOM_SDKS=true \
--build-arg REACT_SDK_REPO="https://github.com/matrix-org/matrix-react-sdk.git" \
--build-arg REACT_SDK_BRANCH="develop" \
@@ -202,12 +159,6 @@ docker build -t \
.
```
Running in Kubernetes
=====================
The provided element-web docker image can also be run from within a Kubernetes cluster.
See the [Kubernetes example](docs/kubernetes.md) for more details.
config.json
===========
@@ -218,7 +169,7 @@ Labs Features
=============
Some features of Element may be enabled by flags in the `Labs` section of the settings.
Some of these features are described in [labs.md](https://github.com/vector-im/element-web/blob/develop/docs/labs.md).
Some of these features are described in [labs.md](https://github.com/vector-im/riot-web/blob/develop/docs/labs.md).
Caching requirements
====================
@@ -235,13 +186,13 @@ Element requires the following URLs not to be cached, when/if you are serving El
Development
===========
Before attempting to develop on Element you **must** read the [developer guide
Before attempting to develop on Riot you **must** read the [developer guide
for `matrix-react-sdk`](https://github.com/matrix-org/matrix-react-sdk#developer-guide), which
also defines the design, architecture and style for Element too.
Before starting work on a feature, it's best to ensure your plan aligns well
with our vision for Element. Please chat with the team in
[#element-dev:matrix.org](https://matrix.to/#/#element-dev:matrix.org) before you
with our vision for Riot. Please chat with the team in
[#riot-dev:matrix.org](https://matrix.to/#/#riot-dev:matrix.org) before you
start so we can ensure it's something we'd be willing to merge.
You should also familiarise yourself with the ["Here be Dragons" guide
@@ -274,6 +225,7 @@ First clone and build `matrix-js-sdk`:
``` bash
git clone https://github.com/matrix-org/matrix-js-sdk.git
pushd matrix-js-sdk
git checkout develop
yarn link
yarn install
popd
@@ -284,6 +236,7 @@ Then similarly with `matrix-react-sdk`:
```bash
git clone https://github.com/matrix-org/matrix-react-sdk.git
pushd matrix-react-sdk
git checkout develop
yarn link
yarn link matrix-js-sdk
yarn install
@@ -293,22 +246,27 @@ popd
Finally, build and start Element itself:
```bash
git clone https://github.com/vector-im/element-web.git
cd element-web
git clone https://github.com/vector-im/riot-web.git
cd riot-web
git checkout develop
yarn link matrix-js-sdk
yarn link matrix-react-sdk
yarn install
yarn reskindex
yarn start
```
Wait a few seconds for the initial build to finish; you should see something like:
```
[element-js] <s> [webpack.Progress] 100%
[element-js]
[element-js] 「wdm」: 1840 modules
[element-js] 「wdm」: Compiled successfully.
Hash: b0af76309dd56d7275c8
Version: webpack 1.12.14
Time: 14533ms
Asset Size Chunks Chunk Names
bundle.js 4.2 MB 0 [emitted] main
bundle.css 91.5 kB 0 [emitted] main
bundle.js.map 5.29 MB 0 [emitted] main
bundle.css.map 116 kB 0 [emitted] main
+ 1013 hidden modules
```
Remember, the command will not terminate since it runs the web server
and rebuilds source files when they change. This development server also
@@ -317,32 +275,25 @@ Wait a few seconds for the initial build to finish; you should see something lik
Configure the app by copying `config.sample.json` to `config.json` and
modifying it. See the [configuration docs](docs/config.md) for details.
Open http://127.0.0.1:8080/ in your browser to see your newly built Element.
Open http://127.0.0.1:8080/ in your browser to see your newly built Riot.
**Note**: The build script uses inotify by default on Linux to monitor directories
for changes. If the inotify limits are too low your build will fail silently or with
`Error: EMFILE: too many open files`. To avoid these issues, we recommend a watch limit
of at least `128M` and instance limit around `512`.
for changes. If the inotify watch limit is too low your build will silently fail.
To avoid this issue, we recommend a limit of at least 128M.
You may be interested in issues [#15750](https://github.com/vector-im/element-web/issues/15750) and
[#15774](https://github.com/vector-im/element-web/issues/15774) for further details.
To set a new inotify watch and instance limit, execute:
To set a new inotify watch limit, execute:
```
sudo sysctl fs.inotify.max_user_watches=131072
sudo sysctl fs.inotify.max_user_instances=512
sudo sysctl -p
$ sudo sysctl fs.inotify.max_user_watches=131072
$ sudo sysctl -p
```
If you wish, you can make the new limits permanent, by executing:
If you wish, you can make this new limit permanent, by executing:
```
echo fs.inotify.max_user_watches=131072 | sudo tee -a /etc/sysctl.conf
echo fs.inotify.max_user_instances=512 | sudo tee -a /etc/sysctl.conf
sudo sysctl -p
$ echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf
$ sudo sysctl -p
```
___
When you make changes to `matrix-react-sdk` or `matrix-js-sdk` they should be
@@ -385,81 +336,56 @@ To add a new translation, head to the [translating doc](docs/translating.md).
For a developer guide, see the [translating dev doc](docs/translating-dev.md).
[<img src="https://translate.element.io/widgets/element-web/-/multi-auto.svg" alt="translationsstatus" width="340">](https://translate.element.io/engage/element-web/?utm_source=widget)
[<img src="https://translate.riot.im/widgets/riot-web/-/multi-auto.svg" alt="translationsstatus" width="340">](https://translate.riot.im/engage/riot-web/?utm_source=widget)
Triaging issues
===============
We strive to completely cover all applicable issues with these core labels:
Issues will be triaged by the core team using the below set of tags.
1. __Type__ — Every issue is assigned a type:
- __[T-Defect](https://github.com/vector-im/element-web/labels/T-Defect):__
Bugs, crashes, hangs, vulnerabilities, or other reported problems
- __[T-Enhancement](https://github.com/vector-im/element-web/labels/T-Enhancement):__
New features, changes in functionality, performance boosts, user-facing
improvements
- __[T-Task](https://github.com/vector-im/element-web/labels/T-Task):__
Refactoring, enabling or disabling functionality, other engineering tasks
- __[T-Other](https://github.com/vector-im/element-web/labels/T-Other):__
Questions, user support, anything else
Tags are meant to be used in combination - e.g.:
* P1 critical bug == really urgent stuff that should be next in the bugfixing todo list
* "release blocker" == stuff which is blocking us from cutting the next release.
* P1 feature type:voip == what VoIP features should we be working on next?
2. __Severity__ — All issues labeled `T-Defect` are also assigned a severity:
* __[S-Critical](https://github.com/vector-im/element-web/labels/S-Critical):__
Prevents work, causes data loss, affects many users, and/or has no
workaround
* __[S-Major](https://github.com/vector-im/element-web/labels/S-Major):__
Severely degrades major functionality or product features, with no
satisfactory workaround
* __[S-Minor](https://github.com/vector-im/element-web/labels/S-Minor):__
Impairs non-critical functionality, or suitable workarounds exist
* __[S-Tolerable](https://github.com/vector-im/element-web/labels/S-Tolerable):__
Purely cosmetic or low / no impact to users
priority: **compulsory**
3. __Priority__ — All issues which are not `T-Other` are assigned a priority:
* __[P1](https://github.com/vector-im/element-web/labels/P1):__ Next
* __[P2](https://github.com/vector-im/element-web/labels/P2):__ Later
* __[P3](https://github.com/vector-im/element-web/labels/P3):__ Eventually
* __[P4](https://github.com/vector-im/element-web/labels/P4):__ Interesting —
Not yet scheduled, will accept patches
* __[P5](https://github.com/vector-im/element-web/labels/P5):__ Dubious —
Will not schedule, would consider patches
* P1: top priority - i.e. pool of stuff which we should be working on next
* P2: still need to fix, but lower than P1
* P3: non-urgent
* P4: interesting idea - bluesky some day
* P5: recorded for posterity/to avoid duplicates. No intention to resolves right now.
4. __Area__ — Most issues are assigned one or several "areas" using one of the
many `A-` prefixed labels, e.g. `A-Composer` or `A-Spaces`. Each area label
maps to a group of features or portion of the UI surface in the app.
bug or feature: **compulsory**
### Other common labels
* bug
* feature
We have a handful of other labels which are added on an as-needed basis, and not expected to be exhaustive:
bug severity: **compulsory, if bug**
* __Exceptions__ — Special flags for issues and pull requests:
* __[X-Needs-Info](https://github.com/vector-im/element-web/labels/X-Needs-Info):__
This issue is blocked pending further information from the reporter
* __[X-Regression](https://github.com/vector-im/element-web/labels/X-Regression):__
Denotes things breaking which previously worked
* __[X-Release-Blocker](https://github.com/vector-im/element-web/labels/X-Release-Blocker):__
Issues which must be resolved before making a release
* critical - whole app doesn't work
* major - entire feature doesn't work
* minor - partially broken feature (but still usable)
* cosmetic - feature works functionally but UI/UX is broken
* __[Easy](https://github.com/vector-im/element-web/labels/Easy)__ / __[Help
Wanted](https://github.com/vector-im/element-web/labels/Help%20Wanted)__ —
Well-defined issues which are suitable for folks new to the codebase
types
* type:* - refers to a particular part of the app; used to filter bugs
on a given topic - e.g. VOIP, signup, timeline, etc.
* __[A11y](https://github.com/vector-im/element-web/labels/A11y)__ /
__[Meta](https://github.com/vector-im/element-web/labels/Meta)__ /
__[I18n](https://github.com/vector-im/element-web/labels/I18n)__ /
__[Privacy](https://github.com/vector-im/element-web/labels/Privacy)__ /
__[Security](https://github.com/vector-im/element-web/labels/Security)__ —
Issues which fall under these conceptual themes (which apply to many software
projects and are not specific to Element)
additional categories (self-explanatory):
* __[Sponsored](https://github.com/vector-im/element-web/labels/Sponsored)__ —
Used internally by Element to denote issues with external funding
* release blocker
* ui/ux (think of this as cosmetic)
* network (specific to network conditions)
* platform specific
* accessibility
* maintenance
* performance
* i18n
* blocked - whether this issue currently can't be progressed due to outside factors
### Ad hoc labels (`Z-`)
We have reserved the `Z-` prefix for ad hoc labels.
Any member of the core team is welcome to create labels beginning with `Z-` for
any purpose, such as tracking personal areas of interest or providing a common
way to label cross-repo initiatives. The prefix avoids interference with the
project's main labels.
community engagement
* easy
* hacktoberfest
* bounty? - proposal to be included in a bounty programme
* bounty - included in Status Open Bounty

View File

@@ -3,14 +3,12 @@ module.exports = {
"presets": [
["@babel/preset-env", {
"targets": [
"last 2 Chrome versions",
"last 2 Firefox versions",
"last 2 Safari versions",
"last 2 Edge versions",
"last 2 Chrome versions", "last 2 Firefox versions", "last 2 Safari versions"
],
}],
"@babel/preset-typescript",
"@babel/preset-react",
"@babel/preset-flow",
"@babel/preset-react"
],
"plugins": [
["@babel/plugin-proposal-decorators", {legacy: true}],
@@ -18,9 +16,8 @@ module.exports = {
"@babel/plugin-proposal-numeric-separator",
"@babel/plugin-proposal-class-properties",
"@babel/plugin-proposal-object-rest-spread",
"@babel/plugin-proposal-optional-chaining",
"@babel/plugin-proposal-nullish-coalescing-operator",
"@babel/plugin-transform-flow-comments",
"@babel/plugin-syntax-dynamic-import",
"@babel/plugin-transform-runtime",
],
"@babel/plugin-transform-runtime"
]
};

View File

@@ -25,7 +25,13 @@
"bug_report_endpoint_url": "https://element.io/bugreports/submit",
"defaultCountryCode": "GB",
"showLabsSettings": false,
"features": { },
"features": {
"feature_new_spinner": "labs",
"feature_pinning": "labs",
"feature_custom_status": "labs",
"feature_custom_tags": "labs",
"feature_state_counters": "labs"
},
"default_federate": true,
"default_theme": "light",
"roomDirectory": {
@@ -33,6 +39,7 @@
"matrix.org"
]
},
"welcomeUserId": "@riot-bot:matrix.org",
"piwik": {
"url": "https://piwik.riot.im/",
"whitelistedHSUrls": ["https://matrix.org"],

View File

@@ -1,13 +1,13 @@
{
"name": "Element",
"name": "Riot",
"description": "A glossy Matrix collaboration client for the web.",
"repository": {
"url": "https://github.com/vector-im/element-web",
"url": "https://github.com/vector-im/riot-web",
"license": "Apache License 2.0"
},
"bugs": {
"list": "https://github.com/vector-im/element-web/issues",
"report": "https://github.com/vector-im/element-web/issues/new/choose"
"list": "https://github.com/vector-im/riot-web/issues",
"report": "https://github.com/vector-im/riot-web/issues/new/choose"
},
"keywords": [
"chat",

View File

@@ -74,7 +74,7 @@ Key:
Notes:
+ A task begins when all its dependencies (arrows going into it) are fulfilled.
+ The success of setting up rageshake is never asserted, element-web has a fallback path for running without IDB (and thus rageshake).
+ The success of setting up rageshake is never asserted, riot-web has a fallback path for running without IDB (and thus rageshake).
+ Everything is awaited to be settled before the Modernizr check, to allow it to make use of things like i18n if they are successful.
Underlying dependencies:

52
docs/conferencing.md Normal file
View File

@@ -0,0 +1,52 @@
# VoIP Conferencing
This is a draft proposal for a naive voice/video conferencing implementation for
Matrix clients. There are many possible conferencing architectures possible for
Matrix (Multipoint Conferencing Unit (MCU); Stream Forwarding Unit (SFU); Peer-
to-Peer mesh (P2P), etc; events shared in the group room; events shared 1:1;
possibly even out-of-band signalling).
This is a starting point for a naive MCU implementation which could provide one
possible Matrix-wide solution in future, which retains backwards compatibility
with standard 1:1 calling.
* A client chooses to initiate a conference for a given room by starting a
voice or video call with a 'conference focus' user. This is a virtual user
(typically Application Service) which implements a conferencing bridge. It
isn't defined how the client discovers or selects this user.
* The conference focus user MUST join the room in which the client has
initiated the conference - this may require the client to invite the
conference focus user to the room, depending on the room's `join_rules`. The
conference focus user needs to be in the room to let the bridge eject users
from the conference who have left the room in which it was initiated, and aid
discovery of the conference by other users in the room. The bridge
identifies the room to join based on the user ID by which it was invited.
The format of this identifier is implementation dependent for now.
* If a client leaves the group chat room, they MUST be ejected from the
conference. If a client leaves the 1:1 room with the conference focus user,
they SHOULD be ejected from the conference.
* For now, rooms can contain multiple conference focus users - it's left to
user or client implementation to select which to converge on. In future this
could be mediated using a state event (e.g. `im.vector.call.mcu`), but we
can't do that right now as by default normal users can't set arbitrary state
events on a room.
* To participate in the conference, other clients initiates a standard 1:1
voice or video call to the conference focus user.
* For best UX, clients SHOULD show the ongoing voice/video call in the UI
context of the group room rather than 1:1 with the focus user. If a client
recognises a conference user present in the room, it MAY chose to highlight
this in the UI (e.g. with a "conference ongoing" notification, to aid
discovery). Clients MAY hide the 1:1 room with the focus user (although in
future this room could be used for floor control or other direct
communication with the conference focus)
* When all users have left the conference, the 'conference focus' user SHOULD
leave the room.
* If a conference focus user joins a room but does not receive a 1:1 voice or
video call, it SHOULD time out after a period of time and leave the room.

View File

@@ -22,15 +22,12 @@ For a good example, see https://develop.element.io/config.json.
`default_hs_url` is specified. When multiple sources are specified, it is unclear
which should take priority and therefore the application cannot continue.
* As of Element 1.4.0, identity servers are optional. See [Identity servers](#identity-servers) below.
1. `sso_immediate_redirect`: When `true`, Element will assume the default server supports SSO
and attempt to send the user there to continue (if they aren't already logged in). Default
`false`. Note that this disables all usage of the welcome page.
1. `features`: Lookup of optional features that may be force-enabled (`true`) or force-disabled (`false`).
When features are not listed here, their defaults will be used, and users can turn them on/off if `showLabsSettings`
allows them to. The available optional experimental features vary from release to release and are
[documented](labs.md). The feature flag process is [documented](feature-flags.md) as well.
1. `showLabsSettings`: Shows the "labs" tab of user settings. Useful to allow users to turn on experimental features
they might not otherwise have access to.
1. `features`: Lookup of optional features that may be `enable`d, `disable`d, or
exposed to the user in the `labs` section of settings. The available
optional experimental features vary from release to release and are [documented](labs.md). The feature flag process is
[documented](feature-flags.md) as well.
1. `showLabsSettings`: Shows the "labs" tab of user settings even when no `features` are enabled
or present. Useful for getting at settings which may be otherwise hidden.
1. `brand`: String to pass to your homeserver when configuring email notifications, to let the
homeserver know what email template to use when talking to you.
1. `branding`: Configures various branding and logo details, such as:
@@ -51,7 +48,7 @@ For a good example, see https://develop.element.io/config.json.
1. `integrations_widgets_urls`: list of URLs to the REST interface for the widget integrations server.
1. `bug_report_endpoint_url`: endpoint to send bug reports to (must be running a
https://github.com/matrix-org/rageshake server). Bug reports are sent when a user clicks
"Send Logs" within the application. Bug reports can be disabled/hidden by leaving the
"Send Logs" within the application. Bug reports can be disabled by leaving the
`bug_report_endpoint_url` out of your config file.
1. `roomDirectory`: config for the public room directory. This section is optional.
1. `roomDirectory.servers`: List of other homeservers' directories to include in the drop
@@ -75,9 +72,6 @@ For a good example, see https://develop.element.io/config.json.
1. `homeUrl`: Content shown on the inside of the app when a specific room is
not selected. By default, no home page is configured. If one is set, a
button to access it will be shown in the top left menu.
1. `loginForWelcome`: Overrides `welcomeUrl` to make the welcome page be the
same page as the login page when `true`. This effectively disables the
welcome page.
1. `defaultCountryCode`: The ISO 3166 alpha2 country code to use when showing
country selectors, like the phone number input on the registration page.
Defaults to `GB` if the given code is unknown or not provided.
@@ -88,8 +82,8 @@ For a good example, see https://develop.element.io/config.json.
default homeserver when signing up or logging in.
1. `permalinkPrefix`: Used to change the URL that Element generates permalinks with.
By default, this is "https://matrix.to" to generate matrix.to (spec) permalinks.
Set this to your Element instance URL if you run an unfederated server (eg:
"https://element.example.org").
Set this to your Riot instance URL if you run an unfederated server (eg:
"https://riot.example.org").
1. `jitsi`: Used to change the default conference options. Learn more about the
Jitsi options at [jitsi.md](./jitsi.md).
1. `preferredDomain`: The domain name of the preferred Jitsi instance. Defaults
@@ -107,35 +101,6 @@ For a good example, see https://develop.element.io/config.json.
Defaults to false (3rd party identity options are shown).
1. `default_federate`: Default option for room federation when creating a room
Defaults to true (room federation enabled).
1. `desktopBuilds`: Used to alter promotional links to the desktop app. By default
the builds are considered available and accessible from https://element.io. This
config option is typically used in the context of encouraging encrypted message
search capabilities (Seshat). All the options listed below are required if this
option is specified.
1. `available`: When false, the desktop app will not be promoted to the user.
1. `logo`: An HTTP URL to the avatar for the desktop build. Should be 24x24, ideally
an SVG.
1. `url`: An HTTP URL for where to send the user to download the desktop build.
1. `mobileBuilds`: Used to alter promotional links to the mobile app. By default the
builds are considered available and accessible from https://element.io. This config
option is typically used in a context of encouraging the user to try the mobile app
instead of a mobile/incompatible browser.
1. `ios`: The URL to the iOS build. If `null`, it will be assumed to be not available.
If not set, the default element.io builds will be used.
1. `android`: The URL to the Android build. If `null`, it will be assumed to be not available.
If not set, the default element.io builds will be used.
1. `fdroid`: The URL to the FDroid build. If `null`, it will be assumed to be not available.
If not set, the default element.io builds will be used.
1. `mobileGuideToast`: Whether to show a toast a startup which nudges users on
iOS and Android towards the native mobile apps. The toast redirects to the
mobile guide if they accept. Defaults to false.
1. `audioStreamUrl`: If supplied, show an option on Jitsi widgets to stream
audio using Jitsi's live streaming feature. This option is experimental and
may be removed at any time without notice.
1. `voip`: Behaviour related to calls
1. `obeyAssertedIdentity`: If set, MSC3086 asserted identity messages sent
on VoIP calls will cause the call to appear in the room corresponding to the
asserted identity. This *must* only be set in trusted environments.
Note that `index.html` also has an og:image meta tag that is set to an image
hosted on riot.im. This is the image used if links to your copy of Element
@@ -178,45 +143,4 @@ decentralised.
Desktop app configuration
=========================
See https://github.com/vector-im/element-desktop#user-specified-configjson
UI Features
===========
Parts of the UI can be disabled using UI features. These are settings which appear
under `settingDefaults` and can only be `true` (default) or `false`. When `false`,
parts of the UI relating to that feature will be disabled regardless of the user's
preferences.
Currently, the following UI feature flags are supported:
* `UIFeature.urlPreviews` - Whether URL previews are enabled across the entire application.
* `UIFeature.feedback` - Whether prompts to supply feedback are shown.
* `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
is shown.
* `UIFeature.shareSocial` - Whether or not the social icons on the share room/event dialog
are shown.
* `UIFeature.identityServer` - Whether or not functionality requiring an identity server
is shown. When disabled, the user will not be able to interact with the identity
server (sharing email addresses, 3PID invites, etc).
* `UIFeature.thirdPartyId` - Whether or not UI relating to third party identifiers (3PIDs)
is shown. Typically this is considered "contact information" on the homeserver, and is
not directly related to the identity server.
* `UIFeature.registration` - Whether or not the registration page is accessible. Typically
useful if accounts are managed externally.
* `UIFeature.passwordReset` - Whether or not the password reset page is accessible. Typically
useful if accounts are managed externally.
* `UIFeature.deactivate` - Whether or not the deactivate account button is accessible. Typically
useful if accounts are managed externally.
* `UIFeature.advancedEncryption` - Whether or not advanced encryption options are shown to the
user.
* `UIFeature.roomHistorySettings` - Whether or not the room history settings are shown to the user.
This should only be used if the room history visibility options are managed by the server.
See https://github.com/vector-im/riot-desktop#user-specified-configjson

View File

@@ -1,34 +0,0 @@
# Customisations
Element Web and the React SDK support "customisation points" that can be used to
easily add custom logic specific to a particular deployment of Element Web.
An example of this is the [security customisations
module](https://github.com/matrix-org/matrix-react-sdk/blob/develop/src/customisations/Security.ts).
This module in the React SDK only defines some empty functions and their types:
it does not do anything by default.
To make use of these customisation points, you will first need to fork Element
Web so that you can add your own code. Even though the default module is part of
the React SDK, you can still override it from the Element Web layer:
1. Copy the default customisation module to
`element-web/src/customisations/YourNameSecurity.ts`
2. Edit customisations points and make sure export the ones you actually want to
activate
3. Tweak the Element build process to use the customised module instead of the
default by adding this to the `additionalPlugins` array in `webpack.config.js`:
```js
new webpack.NormalModuleReplacementPlugin(
/src[\/\\]customisations[\/\\]Security\.ts/,
path.resolve(__dirname, 'src/customisations/YourNameSecurity.ts'),
),
```
If we add more customisation modules in the future, we'll likely improve these
steps to remove the need for build changes like the above.
By isolating customisations to their own module, this approach should remove the
chance of merge conflicts when updating your fork, and thus simplify ongoing
maintenance.

View File

@@ -7,57 +7,10 @@ For private room creation, Element will default to encryption on but give you th
Set the following on your homeserver's
`/.well-known/matrix/client` config:
```json
{
"io.element.e2ee": {
"im.vector.riot.e2ee": {
"default": false
}
}
```
# Secure backup
By default, Element strongly encourages (but does not require) users to set up
Secure Backup so that cross-signing identity key and message keys can be
recovered in case of a disaster where you lose access to all active devices.
## Requiring secure backup
To require Secure Backup to be configured before Element can be used, set the
following on your homeserver's `/.well-known/matrix/client` config:
```json
{
"io.element.e2ee": {
"secure_backup_required": true
}
}
```
## Preferring setup methods
By default, Element offers users a choice of a random key or user-chosen
passphrase when setting up Secure Backup. If a homeserver admin would like to
only offer one of these, you can signal this via the
`/.well-known/matrix/client` config, for example:
```json
{
"io.element.e2ee": {
"secure_backup_setup_methods": ["passphrase"]
}
}
```
The field `secure_backup_setup_methods` is an array listing the methods the
client should display. Supported values currently include `key` and
`passphrase`. If the `secure_backup_setup_methods` field is not present or
exists but does not contain any supported methods, Element will fallback to the
default value of: `["key", "passphrase"]`.
# Compatibility
The settings above were first proposed under a `im.vector.riot.e2ee` key, which
is now deprecated. Element will check for either key, preferring
`io.element.e2ee` if both exist.

View File

@@ -8,7 +8,7 @@ For example, flags make the following things possible:
* Extended testing of a feature via labs on develop
* Enabling features when ready instead of the first moment the code is released
* Testing a feature with a specific set of users (by enabling only on a specific
Element instance)
Riot instance)
The size of the feature controlled by a feature flag may vary widely: it could
be a large project like reactions or a smaller change to an existing algorithm.
@@ -35,7 +35,7 @@ clients commit to doing the associated clean up work once a feature stabilises.
When starting work on a feature, we should create a matching feature flag:
1. Add a new
[setting](https://github.com/matrix-org/matrix-react-sdk/blob/develop/src/settings/Settings.ts)
[setting](https://github.com/matrix-org/matrix-react-sdk/blob/develop/src/settings/Settings.js)
of the form:
```js
"feature_cats": {
@@ -47,9 +47,17 @@ When starting work on a feature, we should create a matching feature flag:
```
2. Check whether the feature is enabled as appropriate:
```js
SettingsStore.getValue("feature_cats")
SettingsStore.isFeatureEnabled("feature_cats")
```
3. Document the feature in the [labs documentation](https://github.com/vector-im/element-web/blob/develop/docs/labs.md)
3. Add the feature to the set of labs on
[develop](https://github.com/vector-im/riot-web/blob/develop/riot.im/develop/config.json)
and [nightly](https://github.com/vector-im/riot-desktop/blob/develop/riot.im/nightly/config.json):
```json
"features": {
"feature_cats": "labs"
},
```
4. Document the feature in the [labs documentation](https://github.com/vector-im/riot-web/blob/develop/docs/labs.md)
With these steps completed, the feature is disabled by default, but can be
enabled on develop and nightly by interested users for testing.
@@ -59,49 +67,69 @@ The following lists a few common options.
## Enabling by default on develop and nightly
Set the feature to `true` in the
[develop](https://github.com/vector-im/element-web/blob/develop/element.io/develop/config.json)
Set the feature to `enable` in the
[develop](https://github.com/vector-im/riot-web/blob/develop/riot.im/develop/config.json)
and
[nightly](https://github.com/vector-im/element-desktop/blob/develop/element.io/nightly/config.json)
[nightly](https://github.com/vector-im/riot-desktop/blob/develop/riot.im/nightly/config.json)
configs:
```json
"features": {
"feature_cats": true
"feature_cats": "enable"
},
```
## Enabling by default on staging, app, and release
Set the feature to `true` in the
[staging / app](https://github.com/vector-im/element-web/blob/develop/element.io/app/config.json)
Set the feature to `enable` in the
[staging / app](https://github.com/vector-im/riot-web/blob/develop/riot.im/app/config.json)
and
[release](https://github.com/vector-im/element-desktop/blob/develop/element.io/release/config.json)
[release](https://github.com/vector-im/riot-desktop/blob/develop/riot.im/release/config.json)
configs.
**Note:** The above will only enable the feature for https://app.element.io and official Element
Desktop builds. It will not be enabled for self-hosted installed, custom desktop builds, etc. To
cover these cases, change the setting's `default` in `Settings.ts` to `true`.
**Warning:** While this does mean the feature is enabled by default for
https://app.element.io and official Element Desktop builds, it will not be enabled by
default for self-hosted installs, custom desktop builds, etc. To cover those
cases as well, the best options at the moment are converting to a regular
setting defaulted on or to remove the flag. Simply enabling the existing flag by
default in `Settings.js`
[does not work currently](https://github.com/vector-im/riot-web/issues/10360).
## Feature deployed successfully
Once we're confident that a feature is working well, we should remove or convert the flag.
Once we're confident that a feature is working well, we should remove the flag:
If the feature is meant to be turned off/on by the user:
1. Remove `isFeature` from the [setting](https://github.com/matrix-org/matrix-react-sdk/blob/develop/src/settings/Settings.ts)
2. Change the `default` to `true` (if desired).
3. Remove the feature from the [labs documentation](https://github.com/vector-im/element-web/blob/develop/docs/labs.md)
4. Celebrate! 🥳
If the feature is meant to be forced on (non-configurable):
1. Remove the [setting](https://github.com/matrix-org/matrix-react-sdk/blob/develop/src/settings/Settings.ts)
2. Remove all `getValue` lines that test for the feature.
3. Remove the feature from the [labs documentation](https://github.com/vector-im/element-web/blob/develop/docs/labs.md)
4. If applicable, remove the feature state from
[develop](https://github.com/vector-im/element-web/blob/develop/element.io/develop/config.json),
[nightly](https://github.com/vector-im/element-desktop/blob/develop/element.io/nightly/config.json),
[staging / app](https://github.com/vector-im/element-web/blob/develop/element.io/app/config.json),
1. Remove the [setting](https://github.com/matrix-org/matrix-react-sdk/blob/develop/src/settings/Settings.js)
2. Remove all `isFeatureEnabled` lines that test for the feature's setting
3. Remove the feature from the [labs documentation](https://github.com/vector-im/riot-web/blob/develop/docs/labs.md)
4. Remove feature state from
[develop](https://github.com/vector-im/riot-web/blob/develop/riot.im/develop/config.json),
[nightly](https://github.com/vector-im/riot-desktop/blob/develop/riot.im/nightly/config.json),
[staging / app](https://github.com/vector-im/riot-web/blob/develop/riot.im/app/config.json),
and
[release](https://github.com/vector-im/element-desktop/blob/develop/element.io/release/config.json)
[release](https://github.com/vector-im/riot-desktop/blob/develop/riot.im/release/config.json)
configs
5. Celebrate! 🥳
## Convert to a regular setting (optional)
Sometimes we decide a feature should always be user-controllable as a setting
even after it has been fully deployed. In that case, we would craft a new,
regular setting:
1. Remove the feature flag from
[settings](https://github.com/matrix-org/matrix-react-sdk/blob/develop/src/settings/Settings.js)
and add a regular setting with the appropriate levels for your feature
2. Replace the `isFeatureEnabled` lines with `getValue` or similar calls
according to the [settings
docs](https://github.com/matrix-org/matrix-react-sdk/blob/develop/docs/settings.md)
(checking carefully, as we may want a different mix of code paths when the
feature is always present but gated by a setting)
3. Remove the feature from the [labs documentation](https://github.com/vector-im/riot-web/blob/develop/docs/labs.md)
4. Remove feature state from
[develop](https://github.com/vector-im/riot-web/blob/develop/riot.im/develop/config.json),
[nightly](https://github.com/vector-im/riot-desktop/blob/develop/riot.im/nightly/config.json),
[staging / app](https://github.com/vector-im/riot-web/blob/develop/riot.im/app/config.json),
and
[release](https://github.com/vector-im/riot-desktop/blob/develop/riot.im/release/config.json)
configs

Binary file not shown.

Before

Width:  |  Height:  |  Size: 155 KiB

View File

@@ -40,7 +40,7 @@ should start a new conference on your Jitsi server.
domain will appear later in the URL as a configuration parameter.
**Hint**: If you want everyone on your homeserver to use the same Jitsi server by
default, and you are using element-web 1.6 or newer, set the following on your homeserver's
default, and you are using riot-web 1.6 or newer, set the following on your homeserver's
`/.well-known/matrix/client` config:
```json
{
@@ -50,22 +50,7 @@ default, and you are using element-web 1.6 or newer, set the following on your h
}
```
## Element Android
Element Android (1.0.5+) supports custom Jitsi domains, similar to Element Web above.
1:1 calls, or calls between you and one other person, do not use Jitsi. Instead, those
calls work directly between clients or via TURN servers configured on the respective
homeservers.
For rooms with more than 2 joined members, when creating a Jitsi conference via call/video buttons of the toolbar (not via integration manager), Element Android will create a widget using the [wrapper](https://github.com/vector-im/element-web/blob/develop/docs/jitsi-dev.md) hosted on `app.element.io`.
The domain used is the one specified by the `/.well-known/matrix/client` endpoint, and if not present it uses the fallback defined in `config.xml` (jitsi.riot.im)
For active Jitsi widgets in the room, a native Jitsi widget UI is created and points to the instance specified in the `domain` key of the widget content data.
Element Android manages allowed native widgets permissions a bit differently than web widgets (as the data shared are different and never shared with the widget URL). For Jitsi widgets, permissions are requested only once per domain (consent saved in account data).
## Element iOS
## Mobile app support
Currently the Element mobile apps do not support custom Jitsi servers and will instead
use the default `jitsi.riot.im` server. When users on the mobile apps join the call,

View File

@@ -1,187 +0,0 @@
Running in Kubernetes
=====================
In case you would like to deploy element-web in a kubernetes cluster you can use
the provided Kubernetes example below as a starting point. Note that this example assumes the
Nginx ingress to be installed.
Note that the content of the required `config.json` is defined inside this yaml because it needs
to be put in your Kubernetes cluster as a `ConfigMap`.
So to use it you must create a file with this content as a starting point and modify it so it meets
the requirements of your environment.
Then you can deploy it to your cluster with something like `kubectl apply -f my-element-web.yaml`.
# This is an example of a POSSIBLE config for deploying a single element-web instance in Kubernetes
# Use the element-web namespace to put it all in.
apiVersion: v1
kind: Namespace
metadata:
name: element-web
---
# The config.json file is to be put into Kubernetes as a config file in such a way that
# the element web instance can read it.
# The code below shows how this can be done with the config.sample.json content.
apiVersion: v1
kind: ConfigMap
metadata:
name: element-config
namespace: element-web
data:
config.json: |
{
"default_server_config": {
"m.homeserver": {
"base_url": "https://matrix-client.matrix.org",
"server_name": "matrix.org"
},
"m.identity_server": {
"base_url": "https://vector.im"
}
},
"disable_custom_urls": false,
"disable_guests": false,
"disable_login_language_selector": false,
"disable_3pid_login": false,
"brand": "Element",
"integrations_ui_url": "https://scalar.vector.im/",
"integrations_rest_url": "https://scalar.vector.im/api",
"integrations_widgets_urls": [
"https://scalar.vector.im/_matrix/integrations/v1",
"https://scalar.vector.im/api",
"https://scalar-staging.vector.im/_matrix/integrations/v1",
"https://scalar-staging.vector.im/api",
"https://scalar-staging.riot.im/scalar/api"
],
"bug_report_endpoint_url": "https://element.io/bugreports/submit",
"defaultCountryCode": "GB",
"showLabsSettings": false,
"features": { },
"default_federate": true,
"default_theme": "light",
"roomDirectory": {
"servers": [
"matrix.org"
]
},
"piwik": {
"url": "https://piwik.riot.im/",
"whitelistedHSUrls": ["https://matrix.org"],
"whitelistedISUrls": ["https://vector.im", "https://matrix.org"],
"siteId": 1
},
"enable_presence_by_hs_url": {
"https://matrix.org": false,
"https://matrix-client.matrix.org": false
},
"settingDefaults": {
"breadcrumbs": true
},
"jitsi": {
"preferredDomain": "jitsi.riot.im"
}
}
---
# A deployment of the element-web for a single instance
apiVersion: apps/v1
kind: Deployment
metadata:
name: element
namespace: element-web
spec:
selector:
matchLabels:
app: element
replicas: 1
template:
metadata:
labels:
app: element
spec:
containers:
- name: element
image: vectorim/element-web:latest
volumeMounts:
- name: config-volume
mountPath: /app/config.json
subPath: config.json
ports:
- containerPort: 80
name: element
protocol: TCP
readinessProbe:
httpGet:
path: /
port: element
initialDelaySeconds: 2
periodSeconds: 3
livenessProbe:
httpGet:
path: /
port: element
initialDelaySeconds: 10
periodSeconds: 10
volumes:
- name: config-volume
configMap:
name: element-config
---
# Wrap it all in a Service
apiVersion: v1
kind: Service
metadata:
name: element
namespace: element-web
spec:
selector:
app: element
ports:
- name: default
protocol: TCP
port: 80
targetPort: 80
---
# An ingress definition to expose the service via a hostname
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: element
namespace: element-web
annotations:
kubernetes.io/ingress.class: nginx
nginx.ingress.kubernetes.io/configuration-snippet: |
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'";
spec:
rules:
- host: element.example.nl
http:
paths:
- pathType: Prefix
path: /
backend:
service:
name: element
port:
number: 80
---

View File

@@ -7,22 +7,9 @@ to `Settings->Labs`. This list is non-exhaustive and subject to change, chat in
**Be warned! Labs features are not finalised, they may be fragile, they may change, they may be
dropped. Ask in the room if you are unclear about any details here.**
## Submit Abuse Report to Moderators [MSC3215](https://github.com/matrix-org/matrix-doc/pull/3215) support (`feature_report_to_moderators`)
## New spinner design (`feature_new_spinner`)
A new version of the "Report" dialog that lets users send abuse reports directly to room moderators,
if the room supports it.
## Matrix Spaces [MSC1772](https://github.com/matrix-org/matrix-doc/pull/1772) support (`feature_spaces`)
Enables showing, using, creating, and managing spaces. Create Spaces from the all new Space Panel (to left of Room List).
Incompatible with (will disable) `feature_custom_tags`, `feature_communities_v2_prototypes` and stable Communities/Groups support.
Still in heavy development.
## Render LaTeX maths in messages (`feature_latex_maths`)
Enables rendering of LaTeX maths in messages using [KaTeX](https://katex.org/). LaTeX between single dollar-signs is interpreted as inline maths and double dollar-signs as display maths (i.e. centred on its own line).
Replaces the old spinner image with a new, svg-based one featuring a sleeker design.
## Message pinning (`feature_pinning`)
@@ -108,32 +95,7 @@ theme definition.
For some sample themes, check out [aaronraimist/element-themes](https://github.com/aaronraimist/element-themes).
## Message preview tweaks
# Message preview tweaks
To enable message previews for reactions in all rooms, enable `feature_roomlist_preview_reactions_all`.
To enable message previews for reactions in DMs, enable `feature_roomlist_preview_reactions_dms`, ignored when it is enabled for all rooms.
## Communities v2 prototyping (`feature_communities_v2_prototypes`) [In Development]
**This is a highly experimental implementation for parts of the communities v2 experience.** It does not
represent what communities v2 will look/feel like and can/will change without notice. Due to the early
stages this feature is in and the requirement for a compatible homeserver, we will not be accepting issues
or feedback for this functionality at this time.
## Dehydrated devices (`feature_dehydration`)
Allows users to receive encrypted messages by creating a device that is stored
encrypted on the server, as described in [MSC2697](https://github.com/matrix-org/matrix-doc/pull/2697).
## Voice messages (`feature_voice_messages`)
Offers a way to send more time-sensitive information through the power of voice. When enabled, use the microphone
icon on the lower right to start recording your message. You will have a chance to review after you're done recording,
and if it sounds fine then send it off for the rest of the room to hear.
Voice messages are automatically downloaded to ensure they are ready for playback as soon as possible.
## Do not disturb (`feature_dnd`)
Enables UI for turning on "do not disturb" mode for the current device. When DND mode is engaged, popups
and notification noises are suppressed. Not perfect, but can help reduce noise.

View File

@@ -1,3 +1,60 @@
# Native Node Modules
This documentation moved to the [`element-desktop`](https://github.com/vector-im/element-desktop/blob/develop/docs/native-node-modules.md) repository.
For some features, the desktop version of Element can make use of native Node
modules. These allow Riot to integrate with the desktop in ways that a browser
cannot.
While native modules enable powerful new features, they must be complied for
each operating system. For official Element releases, we will always build these
modules from source to ensure we can trust the compiled output. In the future,
we may offer a pre-compiled path for those who want to use these features in a
custom build of Element without installing the various build tools required.
Do note that compiling a module for a particular operating system
(Linux/macOS/Windows) will need to be done on that operating system.
Cross-compiling from a host OS for a different target OS may be possible, but
we don't support this flow with Element dependencies at this time.
At the moment, we need to make some changes to the Element release process before
we can support native Node modules at release time, so these features are
currently disabled by default until that is resolved. The following sections
explain the manual steps you can use with a custom build of Element to enable
these features if you'd like to try them out.
## Adding Seshat for search in E2E encrypted rooms
Seshat is a native Node module that adds support for local event indexing and
full text search in E2E encrypted rooms.
Since Seshat is written in Rust, the Rust compiler and related tools need to be
installed before installing Seshat itself. To install Rust please consult the
official Rust [documentation](https://www.rust-lang.org/tools/install).
Seshat also depends on the SQLCipher library to store its data in encrypted form
on disk. You'll need to install it via your OS package manager.
After installing the Rust compiler and SQLCipher, Seshat support can be added
using yarn inside the `electron_app/` directory:
yarn add matrix-seshat
You will have to rebuild the native libraries against electron's version of
of node rather than your system node, using the `electron-build-env` tool.
This is also needed to when pulling in changes to Seshat using `yarn link`.
Again from the `electron_app/` directory:
yarn add electron-build-env
Recompiling Seshat itself can be done like so:
yarn run electron-build-env -- --electron 6.1.1 -- neon build matrix-seshat --release
Please make sure to include all the `--` as well as the `--release` command line
switch at the end. Modify your electron version accordingly depending on the
version that is installed on your system.
After this is done the Electron version of Element can be run from the main folder
as usual using:
yarn electron

View File

@@ -1,33 +0,0 @@
# Pull Request Previews
Pull requests to the React SDK layer (and in the future other layers as well)
automatically set up a preview site with a full deployment of Element with the
changes from the pull request added in so that anyone can easily test and review
them. This is especially useful for checking visual and interactive changes.
To access the preview site, scroll down to the bottom of the PR where the
various CI results are displayed:
![Pull request: checks section](./img/pr-checks.png)
The checks section could be collapsed at first, so you may need to click "Show
all checks" to reveal them. Look for an entry that mentions `deploy-preview`. It
may be at the end of the list, so you may need scroll a bit to see it. To access
the preview site, click the "Details" link in the deploy preview row.
**Important:** Please always use test accounts when logging into preview sites,
as they may contain unreviewed and potentially dangerous code that could damage
your account, exfiltrate encryption keys, etc.
## FAQs
### Are preview sites created for pull requests from contributors?
Yes, they are created for all PRs from any author.
### Do preview sites expire after some time period?
No, there is no expiry date, so they should remain accessible indefinitely, but
of course they obviously aren't meant to live beyond the development workflow,
so please don't rely on them for anything important. They may disappear at any
time without notice.

View File

@@ -14,7 +14,6 @@ When reviewing code, here are some things we look for and also things we avoid:
* Performance
* Accessibility
* Security
* Quality via automated and manual testing
* Comments and documentation where needed
* Sharing knowledge of different areas among the team
* Ensuring it's something we're comfortable maintaining for the long term
@@ -35,7 +34,6 @@ When reviewing code, here are some things we look for and also things we avoid:
* Reviewers should be explicit about required versus optional changes
* Reviews are conversations and the PR author should feel comfortable
discussing and pushing back on changes before making them
* Reviewers are encouraged to ask for tests where they believe it is reasonable
* Core team should lead by example through their tone and language
* Take the time to thank and point out good code changes
* Using softer language like "please" and "what do you think?" goes a long way
@@ -43,7 +41,7 @@ When reviewing code, here are some things we look for and also things we avoid:
### Workflow
* Authors should request review from the element-web team by default (if someone on
* Authors should request review from the riot-web team by default (if someone on
the team is clearly the expert in an area, a direct review request to them may
be more appropriate)
* Reviewers should remove the team review request and request review from
@@ -58,43 +56,6 @@ When reviewing code, here are some things we look for and also things we avoid:
* Assign issues only when in progress to indicate to others what can be picked
up
## Code Quality
In the past, we have occasionally written different kinds of tests for
Element and the SDKs, but it hasn't been a consistent focus. Going forward, we'd
like to change that.
* For new features, code reviewers will expect some form of automated testing to
be included by default
* For bug fixes, regression tests are of course great to have, but we don't want
to block fixes on this, so we won't require them at this time
The above policy is not a strict rule, but instead it's meant to be a
conversation between the author and reviewer. As an author, try to think about
writing a test when making your next change. As a reviewer, try to think about
how you might test the area of code you are reviewing. If the reviewer agrees
it would be quite difficult to test some new feature, then it's okay for them to
accept the change without tests for now, but we'd eventually like to be more
strict about this further down the road.
If you do spot areas that are quite hard to test today, please let us know in
[#element-dev:matrix.org](https://matrix.to/#/#element-dev:matrix.org). We can
work on improving the app architecture and testing helpers so that future tests
are easier for everyone to write, but we won't know which parts are difficult
unless people shout when stumbling through them.
We recognise that this testing policy will slow things down a bit, but overall
it should encourage better long-term health of the app and give everyone more
confidence when making changes as coverage increases over time.
For changes guarded by a feature flag, we currently lean towards prioritising
our ability to evolve quickly using such flags and thus we will not currently
require tests to appear at the same time as the initial landing of features
guarded by flags, as long as (for new flagged features going forward) the
feature author understands that they are effectively deferring part of their
work (adding tests) until later and tests are expected to appear before the
feature can be enabled by default.
## Design and Product Review
We want to ensure that all changes to Element fit with our design and product
@@ -110,11 +71,12 @@ functionality is:
required (though may still be useful) since we can continue tweaking
As it can be difficult to review design work from looking at just the changed
files in a PR, a [preview site](./pr-previews.md) that includes your changes
will be added automatically so that anyone who's interested can try them out
easily.
files in a PR, authors should be prepared for Design and / or Product teams to
request a link to an ad-hoc build of Element (hosted anywhere) that can be used for
the review. In the future, we [hope to automate
this](https://github.com/vector-im/riot-web/issues/12624) for every PR.
Before starting work on a feature, it's best to ensure your plan aligns well
with our vision for Element. Please chat with the team in
[#element-dev:matrix.org](https://matrix.to/#/#element-dev:matrix.org) before
you start so we can ensure it's something we'd be willing to merge.
[#element-dev:matrix.org](https://matrix.to/#/#element-dev:matrix.org) before you
start so we can ensure it's something we'd be willing to merge.

View File

@@ -52,7 +52,7 @@ other changes:
- skins/vector/themes/foo/css
- skins/vector/themes/foo/img
- skins/vector/themes/foo/fonts
- ideally element-web would contain almost nothing but skins/vector directory.
- ideally riot-web would contain almost nothing but skins/vector directory.
- ability to entirely replace CSS rather than override it for a given theme
- e.g. if we replace `Login.js` with `StatusLogin.js`, then we should similarly be able to replace `_Login.scss` with `_StatusLogin.scss`.

View File

@@ -6,28 +6,27 @@
- Be able to understand English
- Be able to understand the language you want to translate Element into
## Step 0: Join #element-translations:matrix.org
## Step 0: Join #riotweb-translations:matrix.org
1. Come and join https://matrix.to/#/#element-translations:matrix.org for general discussion
2. Join https://matrix.to/#/#element-translators:matrix.org for language-specific rooms
3. Read scrollback and/or ask if anyone else is working on your language, and co-ordinate if needed. In general little-or-no coordination is needed though :)
1. Come and join https://matrix.to/#/#riotweb-translations:matrix.org
2. Read scrollback and/or ask if anyone else is working on your language, and co-ordinate if needed. In general little-or-no coordination is needed though :)
## Step 1: Preparing your Weblate Profile
1. Head to https://translate.element.io and register either via Github or email
1. Head to https://translate.riot.im and register either via Github or email
2. After registering check if you got an email to verify your account and click the link (if there is none head to step 1.4)
3. Log into weblate
4. Head to https://translate.element.io/accounts/profile/ and select the languages you know and maybe another language you know too.
6. Head to https://translate.element.io/accounts/profile/#subscriptions and select Element Web as Project
4. Head to https://translate.riot.im/accounts/profile/ and select the languages you know and maybe another language you know too.
6. Head to https://translate.riot.im/accounts/profile/#subscriptions and select Element Web as Project
## How to check if your language already is being translated
Go to https://translate.element.io/projects/element-web/ and visit the 2 sub-projects.
Go to https://translate.riot.im/projects/riot-web/ and visit the 2 sub-projects.
If your language is listed go to Step 2a and if not go to Step 2b
## Step 2a: Helping on existing languages.
1. Head to one of the projects listed https://translate.element.io/projects/element-web/
1. Head to one of the projects listed https://translate.riot.im/projects/riot-web/
2. Click on the ``translate`` button on the right side of your language
3. Fill in the translations in the writeable field. You will see the original English string and the string of your second language above.
@@ -35,7 +34,7 @@ Head to the explanations under Steb 2b
## Step 2b: Adding a new language
1. Go to one of the projects listed https://translate.element.io/projects/element-web/
1. Go to one of the projects listed https://translate.riot.im/projects/riot-web/
2. Click the ``Start new translation`` button at the bottom
3. Select a language
4. Start translating like in 2a.3

View File

@@ -6,7 +6,7 @@ official element.io distribution, but these files may be useful if you want to
inspect the configuration used there.
Element Desktop uses a separate config (see
https://github.com/vector-im/element-desktop/tree/develop/element.io).
https://github.com/vector-im/riot-desktop/tree/develop/element.io).
Deployment scripts (such as app/deploy.py) are meant to be run on the web server
hosting the Element installation.

View File

@@ -12,7 +12,8 @@
],
"hosting_signup_link": "https://element.io/matrix-services?utm_source=element-web&utm_medium=web",
"bug_report_endpoint_url": "https://element.io/bugreports/submit",
"showLabsSettings": false,
"features": {
},
"piwik": {
"url": "https://piwik.riot.im/",
"siteId": 1,
@@ -20,9 +21,7 @@
},
"roomDirectory": {
"servers": [
"matrix.org",
"gitter.im",
"libera.chat"
"matrix.org"
]
},
"enable_presence_by_hs_url": {
@@ -38,15 +37,5 @@
"url": "https://element.io/cookie-policy",
"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"
}
]
}

View File

@@ -1,6 +1,6 @@
#!/usr/bin/env python
#
# download and unpack a element-web tarball.
# download and unpack a riot-web tarball.
#
# Allows `bundles` to be extracted to a common directory, and a link to
# config.json to be added.

View File

@@ -1,8 +1,8 @@
{
"default_server_name": "matrix.org",
"brand": "Element",
"integrations_ui_url": "https://scalar.vector.im/",
"integrations_rest_url": "https://scalar.vector.im/api",
"integrations_ui_url": "https://scalar-staging.vector.im/",
"integrations_rest_url": "https://scalar-staging.vector.im/api",
"integrations_widgets_urls": [
"https://scalar.vector.im/_matrix/integrations/v1",
"https://scalar.vector.im/api",
@@ -12,7 +12,21 @@
],
"hosting_signup_link": "https://element.io/matrix-services?utm_source=element-web&utm_medium=web",
"bug_report_endpoint_url": "https://element.io/bugreports/submit",
"showLabsSettings": true,
"features": {
"feature_new_spinner": "labs",
"feature_pinning": "labs",
"feature_custom_status": "labs",
"feature_custom_tags": "labs",
"feature_state_counters": "labs",
"feature_many_integration_managers": "labs",
"feature_mjolnir": "labs",
"feature_dm_verification": "labs",
"feature_bridge_state": "labs",
"feature_presence_in_room_list": "labs",
"feature_custom_themes": "labs",
"feature_roomlist_preview_reactions_dms": "labs",
"feature_roomlist_preview_reactions_all": "labs"
},
"piwik": {
"url": "https://piwik.riot.im/",
"siteId": 1,
@@ -20,9 +34,7 @@
},
"roomDirectory": {
"servers": [
"matrix.org",
"gitter.im",
"libera.chat"
"matrix.org"
]
},
"enable_presence_by_hs_url": {
@@ -38,15 +50,5 @@
"url": "https://element.io/cookie-policy",
"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"
}
]
}

View File

@@ -1,11 +1,12 @@
{
"name": "element-web",
"version": "1.7.33",
"name": "riot-web",
"productName": "Riot",
"version": "1.7.4",
"description": "A feature-rich client for Matrix.org",
"author": "New Vector Ltd.",
"repository": {
"type": "git",
"url": "https://github.com/vector-im/element-web"
"url": "https://github.com/vector-im/riot-web"
},
"license": "Apache-2.0",
"files": [
@@ -29,132 +30,123 @@
"scripts": {
"i18n": "matrix-gen-i18n",
"prunei18n": "matrix-prune-i18n",
"diff-i18n": "cp src/i18n/strings/en_EN.json src/i18n/strings/en_EN_orig.json && matrix-gen-i18n && matrix-compare-i18n-files src/i18n/strings/en_EN_orig.json src/i18n/strings/en_EN.json",
"diff-i18n": "cp src/i18n/strings/en_EN.json src/i18n/strings/en_EN_orig.json && yarn i18n && node scripts/compare-file.js src/i18n/strings/en_EN_orig.json src/i18n/strings/en_EN.json",
"reskindex": "reskindex -h src/header",
"reskindex:watch": "reskindex -h src/header -w",
"reskindex:watch-react": "node scripts/yarn-sub.js matrix-react-sdk reskindex:watch",
"clean": "rimraf lib webapp",
"build": "yarn clean && yarn build:genfiles && yarn build:bundle",
"build-stats": "yarn clean && yarn build:genfiles && yarn build:bundle-stats",
"build": "yarn clean && yarn build:genfiles && yarn build:compile && yarn build:types && yarn build:bundle",
"build-stats": "yarn clean && yarn build:genfiles && yarn build:compile && yarn build:types && yarn build:bundle-stats",
"build:jitsi": "node scripts/build-jitsi.js",
"build:res": "node scripts/copy-res.js",
"build:genfiles": "yarn reskindex && yarn build:res && yarn build:jitsi",
"build:modernizr": "modernizr -c .modernizr.json -d src/vector/modernizr.js",
"build:compile": "babel -d lib --verbose --extensions \".ts,.js,.tsx\" src",
"build:bundle": "webpack --progress --bail --mode production",
"build:bundle-stats": "webpack --progress --bail --mode production --json > webpack-stats.json",
"build:types": "tsc --emitDeclarationOnly --jsx react",
"dist": "scripts/package.sh",
"start": "concurrently --kill-others-on-fail --prefix \"{time} [{name}]\" -n reskindex,reskindex-react,res,element-js \"yarn reskindex:watch\" \"yarn reskindex:watch-react\" \"yarn start:res\" \"yarn start:js\"",
"start:https": "concurrently --kill-others-on-fail --prefix \"{time} [{name}]\" -n reskindex,reskindex-react,res,element-js \"yarn reskindex:watch\" \"yarn reskindex:watch-react\" \"yarn start:res\" \"yarn start:js --https\"",
"start": "concurrently --kill-others-on-fail --prefix \"{time} [{name}]\" -n reskindex,reskindex-react,res,riot-js \"yarn reskindex:watch\" \"yarn reskindex:watch-react\" \"yarn start:res\" \"yarn start:js\"",
"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 --progress --mode development --disable-host-check",
"start:js": "webpack-dev-server --host=0.0.0.0 --output-filename=bundles/_dev_/[name].js --output-chunk-filename=bundles/_dev_/[name].js -w --progress --mode development",
"lint": "yarn lint:types && yarn lint:js && yarn lint:style",
"lint:js": "eslint --max-warnings 0 src",
"lint:js-fix": "eslint --fix src",
"lint:js": "eslint src",
"lint:types": "tsc --noEmit --jsx react",
"lint:style": "stylelint 'res/css/**/*.scss'",
"test": "jest"
},
"dependencies": {
"@matrix-org/olm": "https://gitlab.matrix.org/api/v4/projects/27/packages/npm/@matrix-org/olm/-/@matrix-org/olm-3.2.3.tgz",
"browser-request": "^0.3.3",
"gfm.css": "^1.1.2",
"highlight.js": "^10.5.0",
"jsrsasign": "^10.2.0",
"katex": "^0.12.0",
"highlight.js": "^9.13.1",
"matrix-js-sdk": "github:matrix-org/matrix-js-sdk#develop",
"matrix-react-sdk": "github:matrix-org/matrix-react-sdk#develop",
"matrix-widget-api": "^0.1.0-beta.15",
"olm": "https://packages.matrix.org/npm/olm/olm-3.1.4.tgz",
"prop-types": "^15.7.2",
"react": "^17.0.2",
"react-dom": "^17.0.2",
"sanitize-html": "^2.3.2",
"ua-parser-js": "^0.7.24"
"react": "^16.9.0",
"react-dom": "^16.9.0",
"sanitize-html": "^1.19.1",
"ua-parser-js": "^0.7.19",
"url": "^0.11.0"
},
"devDependencies": {
"@babel/core": "^7.12.10",
"@babel/eslint-parser": "^7.12.10",
"@babel/eslint-plugin": "^7.12.10",
"@babel/plugin-proposal-class-properties": "^7.12.1",
"@babel/plugin-proposal-decorators": "^7.12.12",
"@babel/plugin-proposal-export-default-from": "^7.12.1",
"@babel/plugin-proposal-nullish-coalescing-operator": "^7.12.1",
"@babel/plugin-proposal-numeric-separator": "^7.12.7",
"@babel/plugin-proposal-object-rest-spread": "^7.12.1",
"@babel/plugin-proposal-optional-chaining": "^7.12.7",
"@babel/plugin-syntax-dynamic-import": "^7.8.3",
"@babel/plugin-transform-runtime": "^7.12.10",
"@babel/preset-env": "^7.12.11",
"@babel/preset-react": "^7.12.10",
"@babel/preset-typescript": "^7.12.7",
"@babel/register": "^7.12.10",
"@babel/runtime": "^7.12.5",
"@principalstudio/html-webpack-inject-preload": "^1.2.7",
"@babel/cli": "^7.7.5",
"@babel/core": "^7.7.5",
"@babel/plugin-proposal-class-properties": "^7.7.4",
"@babel/plugin-proposal-decorators": "^7.7.4",
"@babel/plugin-proposal-export-default-from": "^7.7.4",
"@babel/plugin-proposal-numeric-separator": "^7.7.4",
"@babel/plugin-proposal-object-rest-spread": "^7.7.4",
"@babel/plugin-syntax-dynamic-import": "^7.7.4",
"@babel/plugin-transform-flow-comments": "^7.7.4",
"@babel/plugin-transform-runtime": "^7.7.6",
"@babel/preset-env": "^7.7.6",
"@babel/preset-flow": "^7.7.4",
"@babel/preset-react": "^7.7.4",
"@babel/preset-typescript": "^7.7.4",
"@babel/register": "^7.7.4",
"@babel/runtime": "^7.7.6",
"@types/flux": "^3.1.9",
"@types/modernizr": "^3.5.3",
"@types/node": "^14.14.22",
"@types/react": "^17.0.2",
"@types/react-dom": "^17.0.2",
"@types/sanitize-html": "^2.3.1",
"@typescript-eslint/eslint-plugin": "^4.17.0",
"@typescript-eslint/parser": "^4.17.0",
"autoprefixer": "^9.8.6",
"babel-jest": "^26.6.3",
"babel-loader": "^8.2.2",
"chokidar": "^3.5.1",
"concurrently": "^5.3.0",
"cpx": "^1.5.0",
"css-loader": "^3.6.0",
"eslint": "7.18.0",
"eslint-config-google": "^0.14.0",
"eslint-plugin-matrix-org": "github:matrix-org/eslint-plugin-matrix-org#main",
"eslint-plugin-react": "^7.22.0",
"eslint-plugin-react-hooks": "^4.2.0",
"@types/node": "^12.12.41",
"@types/react": "16.9",
"@types/react-dom": "^16.9.4",
"autoprefixer": "^9.7.3",
"babel-eslint": "^10.0.3",
"babel-jest": "^24.9.0",
"babel-loader": "^8.0.6",
"canvas": "^2.6.1",
"chokidar": "^3.3.1",
"concurrently": "^4.0.1",
"cpx": "^1.3.2",
"css-loader": "^3.3.2",
"eslint": "7.3.1",
"eslint-config-matrix-org": "^0.1.2",
"eslint-plugin-babel": "^4.1.2",
"eslint-plugin-flowtype": "^2.50.3",
"eslint-plugin-react": "^7.11.1",
"eslint-plugin-react-hooks": "^2.2.0",
"extract-text-webpack-plugin": "^4.0.0-beta.0",
"fake-indexeddb": "^3.1.2",
"file-loader": "^5.1.0",
"fake-indexeddb": "^3.0.0",
"file-loader": "^5.0.2",
"fs-extra": "^0.30.0",
"html-webpack-plugin": "^4.5.2",
"jest": "^26.6.3",
"jest-environment-jsdom-sixteen": "^1.0.3",
"json-loader": "^0.5.7",
"loader-utils": "^1.4.0",
"html-webpack-plugin": "^3.2.0",
"jest": "^24.9.0",
"jest-environment-jsdom-fourteen": "^1.0.1",
"json-loader": "^0.5.3",
"loader-utils": "^1.2.3",
"matrix-mock-request": "^1.2.3",
"matrix-react-test-utils": "^0.2.3",
"matrix-web-i18n": "github:matrix-org/matrix-web-i18n",
"mini-css-extract-plugin": "^0.12.0",
"minimist": "^1.2.5",
"mkdirp": "^1.0.4",
"modernizr": "^3.11.7",
"node-fetch": "^2.6.1",
"optimize-css-assets-webpack-plugin": "^5.0.4",
"matrix-react-test-utils": "^0.2.2",
"mini-css-extract-plugin": "^0.8.0",
"minimist": "^1.2.0",
"mkdirp": "^0.5.1",
"modernizr": "^3.6.0",
"node-fetch": "^2.6.0",
"optimize-css-assets-webpack-plugin": "^5.0.3",
"postcss-easings": "^2.0.0",
"postcss-extend": "^1.0.5",
"postcss-hexrgba": "^2.0.1",
"postcss-hexrgba": "^2.0.0",
"postcss-import": "^12.0.1",
"postcss-loader": "^3.0.0",
"postcss-mixins": "^6.2.3",
"postcss-nested": "^4.2.3",
"postcss-nested": "^4.2.1",
"postcss-preset-env": "^6.7.0",
"postcss-scss": "^2.1.1",
"postcss-scss": "^2.0.0",
"postcss-simple-vars": "^5.0.2",
"postcss-strip-inline-comments": "^0.1.5",
"rimraf": "^3.0.2",
"rimraf": "^2.4.3",
"shell-escape": "^0.2.0",
"simple-proxy-agent": "^1.1.0",
"stylelint": "^13.9.0",
"stylelint-config-standard": "^20.0.0",
"stylelint-scss": "^3.18.0",
"terser-webpack-plugin": "^2.3.8",
"typescript": "^4.1.3",
"webpack": "^4.46.0",
"webpack-cli": "^3.3.12",
"webpack-dev-server": "^3.11.2",
"worker-loader": "^2.0.0"
"stylelint": "^12.0.1",
"terser-webpack-plugin": "^2.3.0",
"typescript": "^3.7.3",
"webpack": "^4.41.2",
"webpack-cli": "^3.3.10",
"webpack-dev-server": "^3.9.0"
},
"jest": {
"testEnvironment": "jest-environment-jsdom-sixteen",
"testEnvironment": "jest-environment-jsdom-fourteen",
"testMatch": [
"<rootDir>/test/**/*-test.[tj]s"
"<rootDir>/test/**/*-test.js"
],
"setupFilesAfterEnv": [
"<rootDir>/node_modules/matrix-react-sdk/test/setupTests.js"
@@ -167,13 +159,7 @@
"^react$": "<rootDir>/node_modules/react",
"^react-dom$": "<rootDir>/node_modules/react-dom",
"^matrix-js-sdk$": "<rootDir>/node_modules/matrix-js-sdk/src",
"^matrix-react-sdk$": "<rootDir>/node_modules/matrix-react-sdk/src",
"decoderWorker\\.min\\.js": "<rootDir>/node_modules/matrix-react-sdk/__mocks__/empty.js",
"decoderWorker\\.min\\.wasm": "<rootDir>/node_modules/matrix-react-sdk/__mocks__/empty.js",
"waveWorker\\.min\\.js": "<rootDir>/node_modules/matrix-react-sdk/__mocks__/empty.js",
"context-filter-polyfill": "<rootDir>/node_modules/matrix-react-sdk/__mocks__/empty.js",
"FontManager.ts": "<rootDir>/node_modules/matrix-react-sdk/__mocks__/FontManager.js",
"workers/(.+)\\.worker\\.ts": "<rootDir>/node_modules/matrix-react-sdk/__mocks__/workerMock.js"
"^matrix-react-sdk$": "<rootDir>/node_modules/matrix-react-sdk/src"
},
"transformIgnorePatterns": [
"/node_modules/(?!matrix-js-sdk).+$",

View File

@@ -38,12 +38,14 @@ do
echo "Upgrading $i to $latestver..."
yarn add -E $i@$latestver
git add -u
git commit -m "Upgrade $i to $latestver"
# The `-e` flag opens the editor and gives you a chance to check
# the upgrade for correctness.
git commit -m "Upgrade $i to $latestver" -e
fi
fi
done
./node_modules/matrix-js-sdk/release.sh -n -z "$orig_args"
./node_modules/matrix-js-sdk/release.sh -u vector-im -z "$orig_args"
release="${1#v}"
tag="v${release}"

View File

@@ -22,7 +22,7 @@ limitations under the License.
background: -moz-linear-gradient(top, #c5e0f7 0%, #ffffff 100%);
background: -webkit-linear-gradient(top, #c5e0f7 0%, #ffffff 100%);
background: linear-gradient(to bottom, #c5e0f7 0%, #ffffff 100%);
filter: progid:dximagetransform.microsoft.gradient(startColorstr='#c5e0f7', endColorstr='#ffffff', GradientType=0);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#c5e0f7', endColorstr='#ffffff',GradientType=0 );
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
width: 100%;
min-height: 100%;
@@ -41,7 +41,7 @@ limitations under the License.
margin-left: 4px;
margin-right: 4px;
min-width: 80px;
background-color: #03b381;
background-color: #03B381;
color: #fff;
cursor: pointer;
padding: 12px 22px;
@@ -54,7 +54,7 @@ limitations under the License.
}
.mx_HomePage_header {
color: #2e2f32;
color: #2E2F32;
display: flex;
align-items: center;
justify-content: center;
@@ -95,7 +95,7 @@ limitations under the License.
}
.mx_FooterLink {
color: #368bd6;
color: #368BD6;
text-decoration: none;
}
}

View File

@@ -1 +1 @@
self.addEventListener('fetch', () => {});
self.addEventListener('fetch',() => {});

View File

@@ -169,7 +169,7 @@ we don't have an account and should hide them. No account == no guest account ei
</style>
<div class="mx_Parent">
<a href="https://element.io" target="_blank" rel="noopener">
<a href="https://riot.im" target="_blank" rel="noopener">
<img src="welcome/images/logo.svg" alt="" class="mx_Logo"/>
</a>
<h1 class="mx_Header_title">_t("Welcome to Element")</h1>
@@ -185,7 +185,7 @@ we don't have an account and should hide them. No account == no guest account ei
</div>
<!-- The comments below are meant to be used by Ansible as a quick way
to strip out the marked content when desired.
See https://github.com/vector-im/element-web/issues/8622.
See https://github.com/vector-im/riot-web/issues/8622.
TODO: Strip out these comments and rely on the guest flag -->
<!-- BEGIN Ansible: Remove these lines when guest access is disabled -->
<div class="mx_ButtonRow mx_WelcomePage_guestFunctions">

View File

@@ -7,7 +7,6 @@ const fs = require("fs");
const path = require("path");
const mkdirp = require("mkdirp");
const fetch = require("node-fetch");
const ProxyAgent = require("simple-proxy-agent");
console.log("Making webapp directory");
mkdirp.sync("webapp");
@@ -15,13 +14,7 @@ mkdirp.sync("webapp");
// curl -s https://jitsi.riot.im/libs/external_api.min.js > ./webapp/jitsi_external_api.min.js
console.log("Downloading Jitsi script");
const fname = path.join("webapp", "jitsi_external_api.min.js");
const options = {};
if (process.env.HTTPS_PROXY) {
options.agent = new ProxyAgent(process.env.HTTPS_PROXY, {tunnel: true});
}
fetch("https://jitsi.riot.im/libs/external_api.min.js", options).then(res => {
fetch("https://jitsi.riot.im/libs/external_api.min.js").then(res => {
const stream = fs.createWriteStream(fname);
return new Promise((resolve, reject) => {
res.body.pipe(stream);

View File

@@ -6,7 +6,7 @@
set -ex
rm dist/element-*.tar.gz || true # rm previous artifacts without failing if it doesn't exist
rm dist/riot-*.tar.gz || true # rm previous artifacts without failing if it doesn't exist
# Since the deps are fetched from git, we can rev-parse
REACT_SHA=$(cd node_modules/matrix-react-sdk; git rev-parse --short=12 HEAD)
@@ -14,4 +14,4 @@ JSSDK_SHA=$(cd node_modules/matrix-js-sdk; git rev-parse --short=12 HEAD)
VECTOR_SHA=$(git rev-parse --short=12 HEAD) # use the ACTUAL SHA rather than assume develop
CI_PACKAGE=true DIST_VERSION=$VECTOR_SHA-react-$REACT_SHA-js-$JSSDK_SHA scripts/package.sh
CI_PACKAGE=true DIST_VERSION=$VECTOR_SHA-react-$REACT_SHA-js-$JSSDK_SHA scripts/package.sh -d

10
scripts/compare-file.js Normal file
View File

@@ -0,0 +1,10 @@
const fs = require("fs");
if (process.argv.length < 4) throw new Error("Missing source and target file arguments");
const sourceFile = fs.readFileSync(process.argv[2], 'utf8');
const targetFile = fs.readFileSync(process.argv[3], 'utf8');
if (sourceFile !== targetFile) {
throw new Error("Files do not match");
}

View File

@@ -21,19 +21,16 @@ const INCLUDE_LANGS = [
{'value': 'en_US', 'label': 'English (US)'},
{'value': 'eo', 'label': 'Esperanto'},
{'value': 'es', 'label': 'Español'},
{'value': 'et', 'label': 'Eesti'},
{'value': 'eu', 'label': 'Euskara'},
{'value': 'fi', 'label': 'Suomi'},
{'value': 'fr', 'label': 'Français'},
{'value': 'gl', 'label': 'Galego'},
{'value': 'he', 'label': 'עברית'},
{'value': 'hi', 'label': 'हिन्दी'},
{'value': 'hu', 'label': 'Magyar'},
{'value': 'is', 'label': 'íslenska'},
{'value': 'it', 'label': 'Italiano'},
{'value': 'ja', 'label': '日本語'},
{'value': 'jbo', 'label': 'banjubu\'o'},
{'value': 'kab', 'label': 'Taqbaylit'},
{'value': 'ko', 'label': '한국어'},
{'value': 'lt', 'label': 'Lietuvių'},
{'value': 'lv', 'label': 'Latviešu'},
@@ -69,7 +66,7 @@ const COPY_LIST = [
["res/vector-icons/**", "webapp/vector-icons"],
["res/decoder-ring/**", "webapp/decoder-ring"],
["node_modules/matrix-react-sdk/res/media/**", "webapp/media"],
["node_modules/@matrix-org/olm/olm_legacy.js", "webapp", { directwatch: 1 }],
["node_modules/olm/olm_legacy.js", "webapp", { directwatch: 1 }],
["./config.json", "webapp", { directwatch: 1 }],
["contribute.json", "webapp"],
];

View File

@@ -1,6 +1,6 @@
#!/usr/bin/env python
#
# download and unpack a element-web tarball.
# download and unpack a riot-web tarball.
#
# Allows `bundles` to be extracted to a common directory, and a link to
# config.json to be added.

View File

@@ -32,7 +32,6 @@ cd react-sdk
yarn link
yarn link matrix-js-sdk
yarn --network-timeout=100000 install
yarn reskindex
cd ../
echo "Setting up element-web with react-sdk and js-sdk packages"

View File

@@ -70,19 +70,24 @@ function dodep() {
##############################
echo -en 'travis_fold:start:matrix-js-sdk\r'
echo 'Setting up matrix-js-sdk'
dodep matrix-org matrix-js-sdk
pushd matrix-js-sdk
yarn link
yarn install --pure-lockfile
yarn install
yarn build
popd
yarn link matrix-js-sdk
echo -en 'travis_fold:end:matrix-js-sdk\r'
##############################
echo -en 'travis_fold:start:matrix-react-sdk\r'
echo 'Setting up matrix-react-sdk'
dodep matrix-org matrix-react-sdk
@@ -90,12 +95,14 @@ dodep matrix-org matrix-react-sdk
pushd matrix-react-sdk
yarn link
yarn link matrix-js-sdk
yarn install --pure-lockfile
yarn reskindex
yarn install
yarn build
popd
yarn link matrix-react-sdk
echo -en 'travis_fold:end:matrix-react-sdk\r'
##############################
# Link the reskindex binary in place: if we used `yarn link`,

View File

@@ -18,7 +18,7 @@ my $gh = Net::GitHub->new(
login => 'ara4n', pass => read_password("github password: "),
);
$gh->set_default_user_repo('vector-im', 'element-web');
$gh->set_default_user_repo('vector-im', 'riot-web');
#my @issues = $gh->issue->repos_issues({ state => 'all', milestone => 3 });
my @issues = $gh->issue->repos_issues({ state => 'all' });

View File

@@ -18,7 +18,7 @@ my $gh = Net::GitHub->new(
login => 'ara4n', pass => read_password("github password: "),
);
$gh->set_default_user_repo('vector-im', 'element-web');
$gh->set_default_user_repo('vector-im', 'riot-web');
#my @issues = $gh->issue->repos_issues({ state => 'all', milestone => 3 });
my @issues = $gh->issue->repos_issues({ state => 'all' });

View File

@@ -16,20 +16,20 @@ yarn build
cp config.sample.json webapp/
mkdir -p dist
cp -r webapp element-$version
cp -r webapp riot-$version
# Just in case you have a local config, remove it before packaging
rm element-$version/config.json || true
rm riot-$version/config.json || true
# if $version looks like semver with leading v, strip it before writing to file
if [[ ${version} =~ ^v[[:digit:]]+\.[[:digit:]]+\.[[:digit:]]+(-.+)?$ ]]; then
echo ${version:1} > element-$version/version
echo ${version:1} > riot-$version/version
else
echo ${version} > element-$version/version
echo ${version} > riot-$version/version
fi
tar chvzf dist/element-$version.tar.gz element-$version
rm -r element-$version
tar chvzf dist/riot-$version.tar.gz riot-$version
rm -r riot-$version
echo
echo "Packaged dist/element-$version.tar.gz"
echo "Packaged dist/riot-$version.tar.gz"

View File

@@ -1,6 +1,6 @@
#!/usr/bin/env python
#
# auto-deploy script for https://develop.element.io
# auto-deploy script for https://riot.im/develop
#
# Listens for buildkite webhook pokes (https://buildkite.com/docs/apis/webhooks)
# When it gets one, downloads the artifact from buildkite
@@ -191,7 +191,7 @@ def deploy_tarball(artifact, build_dir):
# Download the tarball here as buildkite needs auth to do this
# we don't pgp-sign buildkite artifacts, relying on HTTPS and buildkite
# not being evil. If that's not good enough for you, don't use develop.element.io.
# not being evil. If that's not good enough for you, don't use riot.im/develop.
resp = requests.get(artifact['download_url'], stream=True, headers=req_headers())
resp.raise_for_status()
with open(artifact['filename'], 'wb') as ofp:

View File

@@ -1,5 +1,5 @@
/*
Copyright 2020, 2021 New Vector Ltd
Copyright 2020 New Vector Ltd
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@@ -15,23 +15,7 @@ limitations under the License.
*/
import "matrix-react-sdk/src/@types/global"; // load matrix-react-sdk's type extensions first
import type { Renderer } from "react-dom";
type ElectronChannel =
"app_onAction" |
"before-quit" |
"check_updates" |
"install_update" |
"ipcCall" |
"ipcReply" |
"loudNotification" |
"preferences" |
"seshat" |
"seshatReply" |
"setBadgeCount" |
"update-downloaded" |
"userDownloadCompleted" |
"userDownloadOpen";
import type {Renderer} from "react-dom";
declare global {
interface Window {
@@ -39,20 +23,15 @@ declare global {
matrixChat: ReturnType<Renderer>;
// electron-only
electron?: Electron;
ipcRenderer: any;
// opera-only
opera?: any;
opera: any;
// https://developer.mozilla.org/en-US/docs/Web/API/InstallTrigger
InstallTrigger: any;
}
interface Electron {
on(channel: ElectronChannel, listener: (event: Event, ...args: any[]) => void): void;
send(channel: ElectronChannel, ...args: any[]): void;
}
interface Navigator {
// PWA badging extensions https://w3c.github.io/badging/
setAppBadge?(count: number): Promise<void>;

View File

@@ -27,55 +27,7 @@ interface IProps {
}
const CompatibilityView: React.FC<IProps> = ({ onAccept }) => {
const { brand, mobileBuilds } = SdkConfig.get();
let ios = null;
const iosCustomUrl = mobileBuilds?.ios;
if (iosCustomUrl !== null) { // could be undefined or a string
ios = <>
<p><strong>iOS</strong> (iPhone or iPad)</p>
<a
href={iosCustomUrl || "https://apps.apple.com/app/vector/id1083446067"}
target="_blank"
className="mx_ClearDecoration"
>
<img height="48" src="themes/element/img/download/apple.svg" alt="Apple App Store" />
</a>
</>;
}
let android = [<p className="mx_Spacer" key="header"><strong>Android</strong></p>];
const andCustomUrl = mobileBuilds?.android;
const fdroidCustomUrl = mobileBuilds?.fdroid;
if (andCustomUrl !== null) { // undefined or string
android.push(<a
href={andCustomUrl || "https://play.google.com/store/apps/details?id=im.vector.app"}
target="_blank"
className="mx_ClearDecoration"
key="android"
>
<img height="48" src="themes/element/img/download/google.svg" alt="Google Play Store" />
</a>);
}
if (fdroidCustomUrl !== null) { // undefined or string
android.push(<a
href={fdroidCustomUrl || "https://f-droid.org/repository/browse/?fdid=im.vector.app"}
target="_blank"
className="mx_ClearDecoration"
key="fdroid"
>
<img height="48" src="themes/element/img/download/fdroid.svg" alt="F-Droid" />
</a>);
}
if (android.length === 1) { // just a header, meaning no links
android = [];
}
let mobileHeader = <h2 id="step2_heading">{ _t("Use %(brand)s on mobile", { brand }) }</h2>;
if (!android.length && !ios) {
mobileHeader = null;
}
const brand = SdkConfig.get().brand;
return <div className="mx_ErrorView">
<div className="mx_ErrorView_container">
<div className="mx_HomePage_header">
@@ -102,11 +54,11 @@ const CompatibilityView: React.FC<IProps> = ({ onAccept }) => {
'or <safariLink>Safari</safariLink> for the best experience.',
{},
{
'chromeLink': (sub) => <a href="https://www.google.com/chrome">{ sub }</a>,
'firefoxLink': (sub) => <a href="https://firefox.com">{ sub }</a>,
'safariLink': (sub) => <a href="https://apple.com/safari">{ sub }</a>,
'chromeLink': (sub) => <a href="https://www.google.com/chrome">{sub}</a>,
'firefoxLink': (sub) => <a href="https://firefox.com">{sub}</a>,
'safariLink': (sub) => <a href="https://apple.com/safari">{sub}</a>,
},
) }
)}
</p>
<p>
{ _t(
@@ -124,9 +76,21 @@ const CompatibilityView: React.FC<IProps> = ({ onAccept }) => {
<div className="mx_HomePage_col">
<div className="mx_HomePage_row">
<div>
{ mobileHeader }
{ ios }
{ android }
<h2 id="step2_heading">Use Element on mobile</h2>
<p><strong>iOS</strong> (iPhone or iPad)</p>
<a href="https://apps.apple.com/app/vector/id1083446067" target="_blank"
className="mx_ClearDecoration">
<img height="48" src="themes/element/img/download/apple.svg" alt="Apple App Store" />
</a>
<p className="mx_Spacer"><strong>Android</strong></p>
<a href="https://play.google.com/store/apps/details?id=im.vector.app" target="_blank"
className="mx_ClearDecoration">
<img height="48" src="themes/element/img/download/google.svg" alt="Google Play Store" />
</a>
<a href="https://f-droid.org/repository/browse/?fdid=im.vector.alpha" target="_blank"
className="mx_ClearDecoration">
<img height="48" src="themes/element/img/download/fdroid.svg" alt="F-Droid" />
</a>
</div>
</div>
</div>

View File

@@ -27,7 +27,7 @@ interface IProps {
messages?: string[];
}
const ErrorView: React.FC<IProps> = ({ title, messages }) => {
const ErrorView: React.FC<IProps> = ({title, messages}) => {
return <div className="mx_ErrorView">
<div className="mx_ErrorView_container">
<div className="mx_HomePage_header">
@@ -40,9 +40,9 @@ const ErrorView: React.FC<IProps> = ({ title, messages }) => {
<div className="mx_HomePage_row">
<div>
<h2 id="step1_heading">{ title }</h2>
{ messages && messages.map(msg => <p key={msg}>
{messages && messages.map(msg => <p key={msg}>
{ msg }
</p>) }
</p>)}
</div>
</div>
</div>

View File

@@ -16,6 +16,8 @@ See the License for the specific language governing permissions and
limitations under the License.
*/
'use strict';
import EmbeddedPage from 'matrix-react-sdk/src/components/structures/EmbeddedPage';
import sanitizeHtml from 'sanitize-html';
import { _t } from 'matrix-react-sdk/src/languageHandler';
@@ -24,9 +26,9 @@ export default class VectorEmbeddedPage extends EmbeddedPage {
static replaces = 'EmbeddedPage';
// we're overriding the base component here, for Element-specific tweaks
translate(s: string) {
translate(s) {
s = sanitizeHtml(_t(s));
// ugly fix for https://github.com/vector-im/element-web/issues/4243
// ugly fix for https://github.com/vector-im/riot-web/issues/4243
// eslint-disable-next-line max-len
s = s.replace(/\[matrix\]/, '<a href="https://matrix.org" target="_blank" rel="noreferrer noopener"><img width="79" height="34" alt="Matrix" style="padding-left: 1px;vertical-align: middle" src="welcome/images/matrix.svg"/></a>');
return s;

View File

@@ -22,9 +22,9 @@ import { _t } from 'matrix-react-sdk/src/languageHandler';
const VectorAuthFooter = () => {
const brandingConfig = SdkConfig.get().branding;
let links = [
{ "text": "Blog", "url": "https://element.io/blog" },
{ "text": "Twitter", "url": "https://twitter.com/element_hq" },
{ "text": "GitHub", "url": "https://github.com/vector-im/element-web" },
{"text": "Blog", "url": "https://element.io/blog"},
{"text": "Twitter", "url": "https://twitter.com/element_hq"},
{"text": "GitHub", "url": "https://github.com/vector-im/riot-web"},
];
if (brandingConfig && brandingConfig.authFooterLinks) {
@@ -35,14 +35,14 @@ const VectorAuthFooter = () => {
for (const linkEntry of links) {
authFooterLinks.push(
<a href={linkEntry.url} key={linkEntry.text} target="_blank" rel="noreferrer noopener">
{ linkEntry.text }
{linkEntry.text}
</a>,
);
}
return (
<div className="mx_AuthFooter">
{ authFooterLinks }
{authFooterLinks}
<a href="https://matrix.org" target="_blank" rel="noreferrer noopener">{ _t('Powered by Matrix') }</a>
</div>
);

View File

@@ -15,11 +15,18 @@ See the License for the specific language governing permissions and
limitations under the License.
*/
'use strict';
import React from 'react';
import PropTypes from 'prop-types';
import SdkConfig from 'matrix-react-sdk/src/SdkConfig';
export default class VectorAuthHeaderLogo extends React.PureComponent {
static replaces = 'AuthHeaderLogo';
static replaces = 'AuthHeaderLogo'
static propTypes = {
icon: PropTypes.string,
}
render() {
const brandingConfig = SdkConfig.get().branding;

View File

@@ -14,12 +14,12 @@ See the License for the specific language governing permissions and
limitations under the License.
*/
import React, { CSSProperties } from 'react';
import React from 'react';
import * as sdk from 'matrix-react-sdk/src/index';
import SdkConfig from 'matrix-react-sdk/src/SdkConfig';
export default class VectorAuthPage extends React.PureComponent {
static replaces = 'AuthPage';
static replaces = 'AuthPage'
static welcomeBackgroundUrl;
@@ -48,12 +48,12 @@ export default class VectorAuthPage extends React.PureComponent {
background: `center/cover fixed url(${VectorAuthPage.getWelcomeBackgroundUrl()})`,
};
const modalStyle: CSSProperties = {
const modalStyle = {
position: 'relative',
background: 'initial',
};
const blurStyle: CSSProperties = {
const blurStyle = {
position: 'absolute',
top: 0,
right: 0,
@@ -63,7 +63,7 @@ export default class VectorAuthPage extends React.PureComponent {
background: pageStyle.background,
};
const modalContentStyle: CSSProperties = {
const modalContentStyle = {
display: 'flex',
zIndex: 1,
background: 'rgba(255, 255, 255, 0.59)',

View File

@@ -1 +0,0 @@
../../docs/customisations.md

View File

@@ -57,7 +57,7 @@ export default class Favicon {
private readyCb = () => {};
constructor(params: Partial<IParams> = {}) {
this.params = { ...defaults, ...params };
this.params = {...defaults, ...params};
this.icons = Favicon.getIcons();
// create work canvas
@@ -125,7 +125,7 @@ export default class Favicon {
}
private circle(n: number | string, opts?: Partial<IParams>) {
const params = { ...this.params, ...opts };
const params = {...this.params, ...opts};
const opt = this.options(n, params);
let more = false;
@@ -214,7 +214,7 @@ export default class Favicon {
if (!this.isReady) {
this.readyCb = () => {
this.badge(content, opts);
};
}
return;
}

View File

@@ -1,36 +1,35 @@
{
"Dismiss": "أهمِل",
"Dismiss": "تجاهل",
"Unknown device": "جهاز مجهول",
"You need to be using HTTPS to place a screen-sharing call.": "عليك استعمال ميفاق HTTPS للاتصال بمشاركة الشاشة.",
"You need to be using HTTPS to place a screen-sharing call.": "تحتاج الى استخدام الاتصال الآمن (HTTPS) للسماح بمشاركة الشاشة.",
"powered by Matrix": "مشغل بواسطة Matrix",
"Welcome to Element": "مرحبًا بك في Element",
"Decentralised, encrypted chat &amp; collaboration powered by [matrix]": "دردشة وتعاون غير مركزي معمّى، تدعمه [matrix]",
"Create Account": "أنشِئ حسابًا",
"Explore rooms": "استكشِف الغرف",
"Sign In": ِج",
"Missing indexeddb worker script!": "سكربت عامل indexeddb ناقص!",
"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.": "الضبط غير صالح: لم تحدّد خادومًا مبدئيًا.",
"Your Element is misconfigured": "لم يُضبط تطبيق Element كما ينبغي",
"Your Element configuration contains invalid JSON. Please correct the problem and reload the page.": "يحتوي ضبط تطبيق Element على تنسيق JSON غير صالح. من فضلك صحّح المشكلة وأعِد تحميل الصفحة.",
"The message from the parser is: %(message)s": "الرسالة القادمة من المحلّل: %(message)s",
"Invalid JSON": "تنسيق JSON غير صالح",
"Unable to load config file: please refresh the page to try again.": "تعذّر تحميل ملف الضبط: من فضلك أنعِش الصفحة لمعاودة المحاولة.",
"Unexpected error preparing the app. See console for details.": "حدث عُطل غير متوقع أثناء تجهيز التطبيق. طالِع المِعراض للتفاصيل.",
"Download Completed": "اكتمل التنزيل",
"Open": "افتح",
"Open user settings": "افتح إعدادات المستخدم",
"Previous/next recently visited room or community": "الغرفة أو المجتمع التالي/السابق الذي زرته حديثًا",
"%(brand)s Desktop (%(platformName)s)": "%(brand)s لسطح المكتب (%(platformName)s)",
"Go to your browser to complete Sign In": "افتح المتصفح لإكمال الولوج",
"%(appName)s (%(browserName)s, %(osName)s)": "%(appName)s (%(browserName)s، %(osName)s)",
"Unsupported browser": "متصفح غير مدعوم",
"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 ميزات متقدمة في المتصفحات لا يدعمها متصفحك الحالي.",
"Please install <chromeLink>Chrome</chromeLink>, <firefoxLink>Firefox</firefoxLink>, or <safariLink>Safari</safariLink> for the best experience.": "من فضلك ثبّت <chromeLink>كروم</chromeLink> أو <firefoxLink>فَيَرفُكس</firefoxLink> أو <safariLink>سفاري</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.": "يمكنك مواصل استعمال متصفحك الحالي ولكن قد لا تعمل بعض المزايا (أو كلها) وقد لا يظهر التطبيق كما ينبغي له أن يظهر.",
"I understand the risks and wish to continue": "أفهم المخاطرة وأود المواصلة",
"Go to element.io": "انتقل إلى element.io",
"Failed to start": "فشل البدء",
"Powered by Matrix": "تدعمه «ماترِكس»"
"Welcome to Element": "مرحبا بك في Element",
"Decentralised, encrypted chat &amp; collaboration powered by [matrix]": "دردشة مشفرة غير مركزية &amp;تطبيق تعاوني مدعوم بواسطة [matrix]",
"Create Account": "انشاء حساب",
"Explore rooms": "استكشف غرف المحادثات",
"Sign In": "الدخول",
"Missing indexeddb worker script!": "منفذ السكريبت الخاص ب Indexeddb غير موجود!",
"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.": "اعدادات خاطئة: لم يتم تحديد السيرفر الافتراضي.",
"Your Element is misconfigured": "تطبيقك معد بطريقة خاطئة",
"Your Element configuration contains invalid JSON. Please correct the problem and reload the page.": "اعداداتك تحتوى على بنية JSON غير صحيحة. يرجى تصحيح المشكلة واعادة تحديث الصفحة.",
"The message from the parser is: %(message)s": "الرسالة من المدقق هي:%(message)s",
"Invalid JSON": "JSON خاطئ",
"Unable to load config file: please refresh the page to try again.": "لم نستطع تحميل ملف الاعداد: يرجى تحديث الصفحة للمحاولة مرة اخرى.",
"Unexpected error preparing the app. See console for details.": "حدث خطأ غير متوقع عند تجهيز التطبيق. انظر الى منصة التحكم للمزيد من التفاصيل.",
"Download Completed": "تم اكتمال التحميل",
"Open": "فتح",
"Open user settings": "فتح اعدادات المستخدم",
"Previous/next recently visited room or community": "السابقة/اللاحقة الغرفة او المجتمع الذي تمت زيارته مؤخرا",
"%(brand)s Desktop (%(platformName)s)": "%(brand)s سطح المكتب (%(platformName)s)",
"Go to your browser to complete Sign In": "اذهب الى المتصفح لاكمال تسجيل الدخول",
"%(appName)s (%(browserName)s, %(osName)s)": "%(appName)s (%(browserName)s, %(osName)s)",
"Unsupported browser": "متصفح غير متوافق",
"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 يستخدم مزايا المتصفح المتقدمة والتي لا يدعمها متصفحك الحالي.",
"Please install <chromeLink>Chrome</chromeLink>, <firefoxLink>Firefox</firefoxLink>, or <safariLink>Safari</safariLink> for the best experience.": "يرجى تثبيت <chromeLink>Chrome</chromeLink>, <firefoxLink>Firefox</firefoxLink>, or <safariLink>Safari</safariLink> for the best experience.",
"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",
"Failed to start": "فشل الاقلاع"
}

View File

@@ -31,7 +31,5 @@
"Download Completed": "Свалянето завърши",
"Open": "Отвори",
"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",
"Use %(brand)s on mobile": "Използвайте %(brand)s на мобилен телефон"
"%(brand)s uses advanced browser features which aren't supported by your current browser.": "%(brand)s използва модерни функции на браузъра, които не се поддържат от Вашия."
}

View File

@@ -1,35 +1 @@
{
"Missing indexeddb worker script!": "Nedostaje indexeddb radna skripta!",
"Invalid configuration: can only specify one of default_server_config, default_server_name, or default_hs_url.": "Neispravna konfiguracija: navesti se samo može jedan od default_server_config, default_server_name ili default_hs_url.",
"Invalid configuration: no default server specified.": "Neispravna konfiguracija: nije naveden zadani server.",
"Your Element is misconfigured": "Vaš element je pogrešno konfiguriran",
"Your Element configuration contains invalid JSON. Please correct the problem and reload the page.": "Konfiguracija vašeg elementa sadrži nevažeći JSON. Ispravite problem i ponovo učitajte stranicu.",
"The message from the parser is: %(message)s": "Poruka parsera je: %(message)s",
"Invalid JSON": "Nevažeći JSON",
"Unable to load config file: please refresh the page to try again.": "Nije moguće učitati konfiguracijsku datoteku: osvježite stranicu i pokušajte ponovo.",
"Unexpected error preparing the app. See console for details.": "Neočekivana greška prilikom pripreme aplikacije. Pogledajte konzolu za detalje.",
"Download Completed": "Preuzimanje završeno",
"Open": "Otvori",
"Dismiss": "Odbaci",
"Open user settings": "Otvori korisničke postavke",
"Previous/next recently visited room or community": "Prethodna / sljedeća nedavno posjećena soba ili zajednica",
"%(brand)s Desktop (%(platformName)s)": "%(brand)s Radna povrsina (%(platformName)s)",
"Go to your browser to complete Sign In": "Idite na svoj pretraživač da biste dovršili prijavu",
"Unknown device": "Nepoznat uređaj",
"%(appName)s (%(browserName)s, %(osName)s)": "%(appName)s (%(browserName)s, %(osName)s)",
"You need to be using HTTPS to place a screen-sharing call.": "Morate koristiti HTTPS za upućivanje poziva za dijeljenje ekrana.",
"Powered by Matrix": "Pokretano uz Matrix",
"Unsupported browser": "Nepodržani pretraživač",
"Your browser can't run %(brand)s": "Vaš pretraživač ne može pokretati %(brand)s",
"%(brand)s uses advanced browser features which aren't supported by your current browser.": "%(brand)s koristi napredne funkcije pretraživača koje vaš trenutni pretraživač ne podržava.",
"Please install <chromeLink>Chrome</chromeLink>, <firefoxLink>Firefox</firefoxLink>, or <safariLink>Safari</safariLink> for the best experience.": "Molimo instalirajte <chromeLink>Chrome</chromeLink>, <firefoxLink>Firefox</firefoxLink> ili <safariLink>Safari</safariLink> za najbolje iskustvo.",
"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.": "Možete nastaviti koristiti svoj trenutni pretraživač, ali neke ili sve funkcije možda neće raditi, a izgled i dojam aplikacije mogu biti neispravani.",
"I understand the risks and wish to continue": "Razumijem rizike i želim nastaviti",
"Go to element.io": "Idite na element.io",
"Failed to start": "Pokretanje nije uspjelo",
"Welcome to Element": "Dobrodošli u Element",
"Decentralised, encrypted chat &amp; collaboration powered by [matrix]": "Decentralizirani, šifrirani razgovor &amp; suradnja pokrenuta [matrix]",
"Sign In": "Prijavite se",
"Create Account": "Otvori račun",
"Explore rooms": "Istražite sobe"
}
{}

View File

@@ -1,38 +1,14 @@
{
"Dismiss": "Omet",
"Unknown device": "Dispositiu desconegut",
"Welcome to Element": "Benvingut/da a Element",
"You need to be using HTTPS to place a screen-sharing call.": "Has d'utilitzar HTTPS per poder fer una trucada amb pantalla compartida.",
"Welcome to Element": "Us donem la benvinguda a Element",
"You need to be using HTTPS to place a screen-sharing call.": "Heu d'utilitzar HTTPS per poder fer una trucada amb pantalla compartida.",
"powered by Matrix": "amb tecnologia de Matrix",
"Decentralised, encrypted chat &amp; collaboration powered by [matrix]": "Xat descentralitzat, xifrat i col·laboratiu amb tecnologia de [matrix]",
"Decentralised, encrypted chat &amp; collaboration powered by [matrix]": "Xat descentralitzat, encriptat i col·laboratiu amb tecnologia de [matrix]",
"Create Account": "Crea un compte",
"Explore rooms": "Explora sales",
"Sign In": "Inicia sessió",
"Invalid configuration: no default server specified.": "Configuració invàlida: no s'ha especificat cap servidor predeterminat.",
"Invalid JSON": "JSON invàlid",
"Go to your browser to complete Sign In": "Vés al navegador per completar l'inici de sessió",
"Invalid configuration: can only specify one of default_server_config, default_server_name, or default_hs_url.": "Configuració invàlida: només pots especificar una únic default_server_config, default_server_name, o default_hs_url.",
"Your Element is misconfigured": "Element està mal configurat",
"Your Element configuration contains invalid JSON. Please correct the problem and reload the page.": "La configuració d'Element conté un JSON invàlid. Soluciona el problema i actualitza la pàgina.",
"The message from the parser is: %(message)s": "El missatge de l'analitzador és: %(message)s",
"Unable to load config file: please refresh the page to try again.": "No s'ha pogut carregar el fitxer de configuració: actualitza la pàgina per tornar-ho a provar.",
"Unexpected error preparing the app. See console for details.": "Error inesperat durant la preparació de l'aplicació. Consulta la consola pels a més detalls.",
"Download Completed": "Baixada completada",
"Open": "Obre",
"Open user settings": "Obre la configuració d'usuari",
"Previous/next recently visited room or community": "Anterior/següent sala o comunitat visitada recentment",
"%(brand)s Desktop (%(platformName)s)": "%(brand)s d'escriptori (%(platformName)s)",
"%(appName)s (%(browserName)s, %(osName)s)": "%(appName)s (%(browserName)s, %(osName)s)",
"Powered by Matrix": "Amb tecnologia de Matrix",
"Unsupported browser": "Navegador no compatible",
"Your browser can't run %(brand)s": "El teu navegador no pot executar %(brand)s",
"%(brand)s uses advanced browser features which aren't supported by your current browser.": "%(brand)s utilitza funcions del navegador avançades que no són compatibles amb el teu navegador actual.",
"Please install <chromeLink>Chrome</chromeLink>, <firefoxLink>Firefox</firefoxLink>, or <safariLink>Safari</safariLink> for the best experience.": "Instal·la <chromeLink>Chrome</chromeLink>, <firefoxLink>Firefox</firefoxLink>, o <safariLink>Safari</safariLink> per obtenir la millor 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.": "Pots continuar utilitzant el teu navegador actual, però algunes o totes les funcions podrien no funcionar i l'aspecte de l'aplicació podria ser incorrecte.",
"I understand the risks and wish to continue": "Entenc els riscos i vull continuar",
"Go to element.io": "Vés a element.io",
"Failed to start": "Ha fallat l'inici",
"Missing indexeddb worker script!": "Falta l'script del treballador indexeddb!",
"Use %(brand)s on mobile": "Utilitza %(brand)s al mòbil",
"Switch to space by number": "Canvia d'espai per número"
"Explore rooms": "Exploreu les sales",
"Sign In": "Inicia la sessió",
"Invalid configuration: no default server specified.": "Configuració no vàlida: no s'ha especificat cap servidor per defecte.",
"Invalid JSON": "JSON no vàlid",
"Go to your browser to complete Sign In": "Aneu al vostre navegador per completar l'inici de sessió"
}

View File

@@ -2,7 +2,7 @@
"Welcome to Element": "Vítá vás Element",
"Unknown device": "Neznámé zařízení",
"You need to be using HTTPS to place a screen-sharing call.": "Pro uskutečnění hovoru se sdílením obrazovky musíte používat HTTPS.",
"Dismiss": "Zavřít",
"Dismiss": "Zahodit",
"powered by Matrix": "používá protokol Matrix",
"Decentralised, encrypted chat &amp; collaboration powered by [matrix]": "Decentralizovaný, šifrovaný chat a spolupráce na platformě [matrix]",
"Sign In": "Přihlásit se",
@@ -28,11 +28,5 @@
"Please install <chromeLink>Chrome</chromeLink>, <firefoxLink>Firefox</firefoxLink>, or <safariLink>Safari</safariLink> for the best experience.": "Pro nejlepší zážitek si prosím nainstalujte prohlížeč <chromeLink>Chrome</chromeLink>, <firefoxLink>Firefox</firefoxLink>, nebo <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.": "Můžete pokračovat v užívání vašeho současného prohlížeče, ale některé (nebo dokonce všechny) funkce nemusí fungovat a vzhled a chování aplikace nemusí být správné.",
"I understand the risks and wish to continue": "Rozumím a přesto chci pokračovat",
"Go to element.io": "Přejít na element.io",
"Failed to start": "Nepovedlo se nastartovat",
"Powered by Matrix": "Běží na Matrixu",
"%(brand)s Desktop (%(platformName)s)": "%(brand)s pro desktopový počítač (%(platformName)s)",
"Missing indexeddb worker script!": "Nenačetl se skript spravující indexdb!",
"Use %(brand)s on mobile": "Používání %(brand)s v mobilních zařízeních",
"Switch to space by number": "Přepnout na prostor podle čísla"
"Go to element.io": "Přejít na element.io"
}

View File

@@ -9,28 +9,13 @@
"Invalid JSON": "Ugyldig JSON",
"Unexpected error preparing the app. See console for details.": "Uventet fejl ved forberedelse af appen. Se konsollen for detaljer.",
"Invalid configuration: can only specify one of default_server_config, default_server_name, or default_hs_url.": "Ugyldig konfiguration: kan kun angive en af default_server_config, default_server_name eller default_hs_url.",
"Invalid configuration: no default server specified.": "Ugyldig konfiguration: Ingen standardserver er angivet.",
"Invalid configuration: no default server specified.": "Ugyldig konfiguration: ingen standardserver angivet.",
"Sign In": "Log ind",
"Create Account": "Opret brugerkonto",
"Explore rooms": "Udforsk rum",
"Missing indexeddb worker script!": "Manglende indexeddb worker script!",
"Unable to load config file: please refresh the page to try again.": "Ikke i stand til at indlæse konfigurationsfil: Genopfrisk venligst siden for at prøve igen.",
"Unable to load config file: please refresh the page to try again.": "Ikke i stand til at loade config fil: genopfrisk venligst siden for at prøve igen.",
"Open user settings": "Åbn brugerindstillinger",
"Previous/next recently visited room or community": "Forrige/næste besøgte rum eller fællesskab",
"Go to your browser to complete Sign In": "Gå til din browser for at færdiggøre Log ind",
"Go to element.io": "Gå til element.io",
"I understand the risks and wish to continue": "Jeg forstår risikoen og ønsker at fortsætte",
"Unsupported browser": "Browser ikke understøttet",
"Open": "Åbn",
"Download Completed": "Hentning færdig",
"Your Element configuration contains invalid JSON. Please correct the problem and reload the page.": "Din Element konfiguration indeholder ugyldig JSON. Løs venligst problemet og genindlæs siden.",
"Your Element is misconfigured": "Din Element er konfigureret forkert",
"Your browser can't run %(brand)s": "Din browser kan ikke køre %(brand)s",
"Powered by Matrix": "Drevet af Matrix",
"%(appName)s (%(browserName)s, %(osName)s)": "%(appName)s (%(browserName)s, %(osName)s)",
"Failed to start": "Opstart mislykkedes",
"%(brand)s Desktop (%(platformName)s)": "%(brand)s Desktop %(platformName)s",
"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.": "Du kan fortsætte med at bruge din nuværende browser, men du kan opleve at visse eller alle funktioner ikke vil fungere korrekt.",
"Please install <chromeLink>Chrome</chromeLink>, <firefoxLink>Firefox</firefoxLink>, or <safariLink>Safari</safariLink> for the best experience.": "Venligst installer <chromeLink>Chrome</chromeLink>,<firefoxLink>Firefox</firefoxLink> eller <safariLink>Safari</safariLink> for den bedste oplevelse.",
"%(brand)s uses advanced browser features which aren't supported by your current browser.": "%(brand)s bruger avanceret browser funktioner som ikke er understøttet af din nuværende browser."
"Go to your browser to complete Sign In": "Gå til din browser for at færdiggøre Log ind"
}

View File

@@ -2,37 +2,35 @@
"powered by Matrix": "betrieben mit Matrix",
"Dismiss": "Ausblenden",
"Unknown device": "Unbekanntes Gerät",
"You need to be using HTTPS to place a screen-sharing call.": "Du musst HTTPS nutzen, um einen Anruf mit Bildschirmfreigabe durchzuführen.",
"You need to be using HTTPS to place a screen-sharing call.": "Du musst HTTPS nutzen um einen Anruf mit Bildschirmfreigabe durchzuführen.",
"Welcome to Element": "Willkommen bei Element",
"Decentralised, encrypted chat &amp; collaboration powered by [matrix]": "Dezentrale, verschlüsselte Chat- &amp; Kollaborationslösung basierend auf [matrix]",
"Decentralised, encrypted chat &amp; collaboration powered by [matrix]": "Dezentrale, verschlüsselte Chat- &amp; Kollaborationslösung unterstützt von [matrix]",
"Sign In": "Anmelden",
"Create Account": "Konto erstellen",
"Explore rooms": "Räume erkunden",
"Unexpected error preparing the app. See console for details.": "Unerwarteter Fehler bei der Vorbereitung der App. Siehe in die Konsole für mehr Details.",
"Create Account": "Account erstellen",
"Explore rooms": "Erkunde Räume",
"Unexpected error preparing the app. See console for details.": "Unerwarteter Fehler bei der Vorbereitung der App. Siehe Konsole für Details.",
"Invalid configuration: can only specify one of default_server_config, default_server_name, or default_hs_url.": "Ungültige Konfiguration: Es kann nur eine der Optionen default_server_config, default_server_name oder default_hs_url angegeben werden.",
"Invalid configuration: no default server specified.": "Ungültige Konfiguration: Es wurde kein Standardserver angegeben.",
"The message from the parser is: %(message)s": "Die Nachricht des Parsers ist: %(message)s",
"Invalid JSON": "Ungültiges JSON",
"Go to your browser to complete Sign In": "Gehe zu deinem Browser, um die Anmeldung abzuschließen",
"Open user settings": "Benutzereinstellungen öffnen",
"Unable to load config file: please refresh the page to try again.": "Konfigurationsdatei kann nicht geladen werden: Bitte aktualisiere die Seite, um es erneut zu versuchen.",
"Missing indexeddb worker script!": "Fehlendes indexeddb-Arbeitsskript!",
"Open user settings": "Öffne Nutzer-Einstellungen",
"Unable to load config file: please refresh the page to try again.": "Konfigurationsdatei kann nicht geladen werden: Bitte aktualisieren Sie die Seite, um es erneut zu versuchen.",
"Missing indexeddb worker script!": "Fehlendes indexeddb Worker-Skript!",
"Previous/next recently visited room or community": "Vorheriger/nächster kürzlich besuchter Raum oder Community",
"Unsupported browser": "Nicht unterstützter Browser",
"Go to element.io": "Gehe zu element.io",
"Failed to start": "Start fehlgeschlagen",
"%(brand)s Desktop (%(platformName)s)": "%(brand)s Desktop (%(platformName)s)",
"%(appName)s (%(browserName)s, %(osName)s)": "%(appName)s (%(browserName)s, %(osName)s)",
"Please install <chromeLink>Chrome</chromeLink>, <firefoxLink>Firefox</firefoxLink>, or <safariLink>Safari</safariLink> for the best experience.": "Bitte installiere <chromeLink>Chrome</chromeLink>, <firefoxLink>Firefox</firefoxLink> oder <safariLink>Safari</safariLink> für das beste Erlebnis.",
"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.": "Du kannst deinen aktuellen Browser weiterhin verwenden. Es ist aber möglich, dass nicht alles richtig funktioniert oder das Aussehen der App inkorrekt ist.",
"Please install <chromeLink>Chrome</chromeLink>, <firefoxLink>Firefox</firefoxLink>, or <safariLink>Safari</safariLink> for the best experience.": "Bitte installiere <chromeLink>Chrome</chromeLink>, <firefoxLink>Firefox</firefoxLink>, oder <safariLink>Safari</safariLink> für das beste Erlebnis.",
"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.": "Du kannst mit diesem Browser weitermachen, aber einiges könnte nicht funktionieren und die Darstellung könnte fehlerhaft sein.",
"I understand the risks and wish to continue": "Ich verstehe die Risiken und möchte fortfahren",
"Your Element is misconfigured": "Dein Element ist falsch konfiguriert",
"Your Element configuration contains invalid JSON. Please correct the problem and reload the page.": "Deine Elementkonfiguration enthält ungültiges JSON. Bitte korrigiere das Problem und lade die Seite neu.",
"Download Completed": "Herunterladen fertiggestellt",
"Your Element is misconfigured": "Dein Element ist fehlkonfiguriert",
"Your Element configuration contains invalid JSON. Please correct the problem and reload the page.": "Deine Element Konfiguration enthält ungültiges JSON. Bitte korrigiere das Problem und lade die Seite neu.",
"Download Completed": "Download fertiggestellt",
"Open": "Öffnen",
"%(brand)s uses advanced browser features which aren't supported by your current browser.": "%(brand)s verwendet erweiterte Browserfunktionen, die von deinem Browser nicht unterstützt werden.",
"%(brand)s uses advanced browser features which aren't supported by your current browser.": "%(brand)s verwendet erweiterte Browserfunktionen, die von Ihrem aktuellen Browser nicht unterstützt werden.",
"Your browser can't run %(brand)s": "Dein Browser kann %(brand)s nicht ausführen",
"Powered by Matrix": "Betrieben mit Matrix",
"Use %(brand)s on mobile": "Verwende %(brand)s am Handy",
"Switch to space by number": "Zum n-ten Space wechseln"
"Powered by Matrix": "Betrieben von Matrix"
}

View File

@@ -4,33 +4,13 @@
"You need to be using HTTPS to place a screen-sharing call.": "Απαιτείται η χρήση HTTPS για την πραγματοποίηση κλήσης διαμοιρασμού επιφάνειας εργασίας.",
"powered by Matrix": "λειτουργεί με το Matrix",
"Welcome to Element": "Καλώς ήλθατε στο Element",
"Decentralised, encrypted chat &amp; collaboration powered by [matrix]": "Αποκεντρωμένη, κρυπτογραφημένη συνεργασία συνομιλίας χρησιμοποιώντας το [matrix]",
"Decentralised, encrypted chat &amp; collaboration powered by [matrix]": "Αποκεντρωμένη, κρυπτογραφημένη συνομιλία και συνεργασία χρησιμοποιώντας το [matrix]",
"Sign In": "Σύνδεση",
"Create Account": "Δημιουργία Λογαριασμού",
"The message from the parser is: %(message)s": "Το μήνυμα από τον αναλυτή είναι: %(message)s",
"Invalid JSON": "Μη έγκυρο JSON",
"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: 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.": "Μη έγκυρη ρύθμιση παραμέτρων: δεν έχει οριστεί προκαθορισμένος διακομιστής.",
"Explore rooms": "Εξερευνήστε δωμάτια",
"Open": "Άνοιγμα",
"Go to your browser to complete Sign In": "Μεταβείτε στο πρόγραμμα περιήγησής σας για να ολοκληρώσετε τη σύνδεση",
"Powered by Matrix": "Με την υποστήριξη του Matrix",
"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> για καλύτερη εμπειρία χρήσης.",
"Your Element is misconfigured": "Το Element σας δεν εχει ρυθμιστεί σωστά",
"Your Element configuration contains invalid JSON. Please correct the problem and reload the page.": "Η ρύθμιση του Element περιέχει μη έγκυρο JSON. Διορθώστε το πρόβλημα και φορτώστε ξανά τη σελίδα.",
"Unable to load config file: please refresh the page to try again.": "Δεν είναι δυνατή η φόρτωση του αρχείου config: ανανεώστε τη σελίδα για να δοκιμάσετε ξανά.",
"Download Completed": "Η λήψη ολοκληρώθηκε",
"Open user settings": "Ανοίξτε τις ρυθμίσεις χρήστη",
"Previous/next recently visited room or community": "Προηγούμενο / επόμενο δωμάτιο ή κοινότητα που επισκεφτήκατε πρόσφατα",
"Unsupported browser": "Μη υποστηριζόμενο πρόγραμμα περιήγησης",
"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 χρησιμοποιεί προηγμένες δυνατότητες προγράμματος περιήγησης που δεν υποστηρίζονται από το τρέχον πρόγραμμα περιήγησής σας.",
"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",
"Failed to start": "Αποτυχία έναρξης",
"%(appName)s (%(browserName)s, %(osName)s)": "%(appName)s (%(browserName)s, %(osName)s)",
"%(brand)s Desktop (%(platformName)s)": "%(brand)s Desktop (%(platformName)s)",
"Missing indexeddb worker script!": "Απουσία indexeddb worker script!"
"Explore rooms": "Εξερευνήστε δωμάτια"
}

View File

@@ -1,4 +1,5 @@
{
"Missing indexeddb worker script!": "Missing indexeddb worker script!",
"Invalid configuration: can only specify one of default_server_config, default_server_name, or default_hs_url.": "Invalid configuration: can only specify one of default_server_config, default_server_name, or default_hs_url.",
"Invalid configuration: no default server specified.": "Invalid configuration: no default server specified.",
"Your Element is misconfigured": "Your Element is misconfigured",
@@ -10,7 +11,6 @@
"Download Completed": "Download Completed",
"Open": "Open",
"Dismiss": "Dismiss",
"Switch to space by number": "Switch to space by number",
"Open user settings": "Open user settings",
"Previous/next recently visited room or community": "Previous/next recently visited room or community",
"%(brand)s Desktop (%(platformName)s)": "%(brand)s Desktop (%(platformName)s)",
@@ -19,7 +19,6 @@
"%(appName)s (%(browserName)s, %(osName)s)": "%(appName)s (%(browserName)s, %(osName)s)",
"You need to be using HTTPS to place a screen-sharing call.": "You need to be using HTTPS to place a screen-sharing call.",
"Powered by Matrix": "Powered by Matrix",
"Use %(brand)s on mobile": "Use %(brand)s on mobile",
"Unsupported browser": "Unsupported browser",
"Your browser can't run %(brand)s": "Your browser can't run %(brand)s",
"%(brand)s uses advanced browser features which aren't supported by your current browser.": "%(brand)s uses advanced browser features which aren't supported by your current browser.",

View File

@@ -12,25 +12,5 @@
"Invalid JSON": "Invalid JSON",
"Unexpected error preparing the app. See console for details.": "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.": "Invalid configuration: can only specify one of default_server_config, default_server_name, or default_hs_url.",
"Invalid configuration: no default server specified.": "Invalid configuration: no default server specified.",
"Failed to start": "Failed to start",
"Go to element.io": "Go to element.io",
"I understand the risks and wish to continue": "I understand the risks and wish to continue",
"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.",
"Please install <chromeLink>Chrome</chromeLink>, <firefoxLink>Firefox</firefoxLink>, or <safariLink>Safari</safariLink> for the best experience.": "Please install <chromeLink>Chrome</chromeLink>, <firefoxLink>Firefox</firefoxLink>, or <safariLink>Safari</safariLink> for the best experience.",
"%(brand)s uses advanced browser features which aren't supported by your current browser.": "%(brand)s uses advanced browser features which aren't supported by your current browser.",
"Your browser can't run %(brand)s": "Your browser can't run %(brand)s",
"Unsupported browser": "Unsupported browser",
"Powered by Matrix": "Powered by Matrix",
"%(appName)s (%(browserName)s, %(osName)s)": "%(appName)s (%(browserName)s, %(osName)s)",
"Go to your browser to complete Sign In": "Go to your browser to complete Sign In",
"%(brand)s Desktop (%(platformName)s)": "%(brand)s Desktop (%(platformName)s)",
"Previous/next recently visited room or community": "Previous/next recently visited room or community",
"Open user settings": "Open user settings",
"Open": "Open",
"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",
"Missing indexeddb worker script!": "Missing indexeddb worker script!"
"Invalid configuration: no default server specified.": "Invalid configuration: no default server specified."
}

View File

@@ -32,6 +32,5 @@
"Your Element configuration contains invalid JSON. Please correct the problem and reload the page.": "Via agordaro de Elemento enhavas nevalidajn datumojn de JSON. Bonvolu korekti la problemon kaj aktualigi la paĝon.",
"Your browser can't run %(brand)s": "Via foliumilo ne povas ruli %(brand)s",
"%(brand)s uses advanced browser features which aren't supported by your current browser.": "%(brand)s uzas specialajn funkciojn de foliumilo, kiujn via nuna foliumilo ne subtenas.",
"Powered by Matrix": "Povigata de Matrix",
"Use %(brand)s on mobile": "Uzi %(brand)s telefone"
"Powered by Matrix": "Povigata de Matrix"
}

View File

@@ -3,36 +3,33 @@
"Dismiss": "Omitir",
"powered by Matrix": "con el poder de Matrix",
"You need to be using HTTPS to place a screen-sharing call.": "Debes usar HTTPS para hacer una llamada con pantalla compartida.",
"Welcome to Element": "Te damos la bienvenida a Element",
"Decentralised, encrypted chat &amp; collaboration powered by [matrix]": "Conversaciones cifradas y descentralizadas. Funciona con [matrix]",
"Welcome to Element": "Bienvenido a Element",
"Decentralised, encrypted chat &amp; collaboration powered by [matrix]": "Conversaciones cifradas y descentralizadas y colaboración con el poder de [matrix]",
"Sign In": "Iniciar sesión",
"Create Account": "Crear cuenta",
"Explore rooms": "Explorar salas",
"Unexpected error preparing the app. See console for details.": "Error inesperado preparando la aplicación. Ver la consola para más detalles.",
"Unexpected error preparing the app. See console for details.": "Error inesperado preparando la aplicación. Vea la consola para más detalles.",
"Invalid configuration: can only specify one of default_server_config, default_server_name, or default_hs_url.": "Configuración errónea: sólo puede especificar uno de default_server_config, default_server_name, o default_hs_url.",
"Invalid configuration: no default server specified.": "Configuración errónea: no se ha especificado servidor.",
"The message from the parser is: %(message)s": "El mensaje del parser es: %(message)s",
"Invalid JSON": "JSON inválido",
"Open user settings": "Abrir opciones de usuario",
"Go to your browser to complete Sign In": "Abre tu navegador web para completar el registro",
"Missing indexeddb worker script!": Falta el Worker script “indexeddb”!",
"Unable to load config file: please refresh the page to try again.": "No se ha podido cargar el archivo de configuración. Recarga la página para intentarlo otra vez.",
"Missing indexeddb worker script!": "¡Worker script “indexeddb” faltante!",
"Unable to load config file: please refresh the page to try again.": "No se ha podido cargar el archivo de configuración. Recarga la página para intentar nuevamente.",
"Previous/next recently visited room or community": "Anterior/siguiente sala o comunidad visitada recientemente",
"%(brand)s Desktop (%(platformName)s)": "%(brand)s de escritorio (%(platformName)s)",
"%(brand)s Desktop (%(platformName)s)": "%(brand)s Desktop (%(platformName)s)",
"%(appName)s (%(browserName)s, %(osName)s)": "%(appName)s (%(browserName)s, %(osName)s)",
"Unsupported browser": "Navegador no compatible",
"Unsupported browser": "Navegador no soportado",
"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>, o <safariLink>Safari</safariLink> para la mejor experiencia.",
"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.": "Puedes seguir utilizando tu navegador actual, pero puede que algunas funcionalidades no estén disponibles o que algunas partes de la aplicación se muestren de forma incorrecta.",
"I understand the risks and wish to continue": "Entiendo los riesgos y quiero continuar",
"I understand the risks and wish to continue": "Entiendo los riesgos y deseo continuar",
"Go to element.io": "Ir a element.io",
"Failed to start": "Fallo al iniciar",
"Your Element is misconfigured": "Tu aplicación Element está mal configurada",
"Your Element configuration contains invalid JSON. Please correct the problem and reload the page.": "Tu configuración de Element contiene JSON inválido. Por favor corrígelo e inténtelo de nuevo.",
"Your Element is misconfigured": "Su Element está mal configurado",
"Your Element configuration contains invalid JSON. Please correct the problem and reload the page.": "Su configuración de Element contiene JSON inválido. Por favor corríjalo e inténtelo de nuevo.",
"Download Completed": "Descarga completada",
"Open": "Abrir",
"Your browser can't run %(brand)s": "Tu navegador no es compatible con %(brand)s",
"%(brand)s uses advanced browser features which aren't supported by your current browser.": "%(brand)s usa funciones avanzadas que su navegador actual no soporta.",
"Powered by Matrix": "Funciona con Matrix",
"Use %(brand)s on mobile": "Usar %(brand)s en modo móvil",
"Switch to space by number": "Cambiar a espacio por número"
"Your browser can't run %(brand)s": "Su navegador es compatible con %(brand)s",
"%(brand)s uses advanced browser features which aren't supported by your current browser.": "%(brand)s utiliza funciones avanzadas no soportadas por su navegador."
}

View File

@@ -3,7 +3,7 @@
"Invalid JSON": "Vigane JSON",
"Unknown device": "Tundmatu seade",
"Invalid configuration: no default server specified.": "Vigane seadistus: vaikimisi server on määramata.",
"Unable to load config file: please refresh the page to try again.": "Seadistuste faili laadimine ei õnnestunud: uuesti proovimiseks palun laadi leht uuesti.",
"Unable to load config file: please refresh the page to try again.": "Seadistuste faili laadimine ei õnnestunud: uuesti proovimiseks palun lae leht uuesti.",
"Unexpected error preparing the app. See console for details.": "Rakenduse ettevalmistamisel tekkis ootamatu viga. Täpsema teabe leiad konsoolist.",
"Open user settings": "Ava kasutaja seadistused",
"Go to your browser to complete Sign In": "Sisselogimiseks ava oma brauser",
@@ -15,7 +15,7 @@
"Previous/next recently visited room or community": "Eelmine/järgmine hiljuti kasutatud jututuba või kogukond",
"You need to be using HTTPS to place a screen-sharing call.": "Ekraani jagava kõne jaoks pead kasutama HTTPS-ühendust.",
"powered by Matrix": "põhineb Matrix'il",
"Welcome to Element": "Tere tulemast kasutama suhtlusrakendust Element",
"Welcome to Element": "Tere tulemast Element kasutajaks",
"Sign In": "Logi sisse",
"Create Account": "Loo konto",
"%(brand)s Desktop (%(platformName)s)": "%(brand)s'i töölauaversioon (%(platformName)s)",
@@ -29,10 +29,8 @@
"Download Completed": "Allalaadimine on lõpetatud",
"Open": "Ava",
"Your Element is misconfigured": "Sinu Element on valesti seadistatud",
"Your Element configuration contains invalid JSON. Please correct the problem and reload the page.": "Sinu Element'i seadistustes on vigased JSON-vormingus andmed. Palun paranda see viga ja laadi leht uuesti.",
"Your Element configuration contains invalid JSON. Please correct the problem and reload the page.": "Sinu Element'i seadistustes on vigased JSON-vormingus andmed. Palun paranda see viga ja lae leht uuesti.",
"Your browser can't run %(brand)s": "%(brand)s ei toimi sinu brauseris",
"%(brand)s uses advanced browser features which aren't supported by your current browser.": "%(brand)s kasutab mitmeid uusi brauseri-põhiseid tehnoloogiaid, mis ei ole veel sinu veebibrauseris toetatud.",
"Powered by Matrix": "Põhineb Matrix'il",
"Use %(brand)s on mobile": "Kasuta %(brand)s rakendust nutiseadmes",
"Switch to space by number": "Vaata kogukonnakeskust tema numbri alusel"
"Powered by Matrix": "Põhineb Matrix'il"
}

View File

@@ -26,13 +26,11 @@
"%(appName)s (%(browserName)s, %(osName)s)": "%(appName)s%(browserName)s، %(osName)s",
"Unsupported browser": "مرورگر پش‬تبانی نشده",
"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 از ویژگی های پیشرفته مرورگر استفاده میکند که در مرورگر فعلی شما پشتیبانی نمیشوند.",
"%(brand)s uses advanced browser features which aren't supported by your current browser.": "%(brand)s از ویژگی های پیشرفته مرورگر استفاده میکند که که در مرورگر فعلی شما پشتیبانی نمیشوند.",
"Please install <chromeLink>Chrome</chromeLink>, <firefoxLink>Firefox</firefoxLink>, or <safariLink>Safari</safariLink> for the best experience.": "لطفا برای تجربه بهتر <chromeLink>کروم</chromeLink>، <firefoxLink>فایرفاکس</firefoxLink>، یا <safariLink>سافاری</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.": "شما میتوانید با مرورگر فعلی خود ادامه دهید، اما ممکن است برخی یا کل ویژگی ها کار نکنند و نگاه و احساس از برنامه ممکن است درست نباشد.",
"I understand the risks and wish to continue": "از خطرات این کار آگاهم و مایلم که ادامه بدهم",
"Go to element.io": "برو به element.io",
"Failed to start": "مشکل در آغاز",
"Powered by Matrix": "قدرت‌گرفته از ماتریکس",
"Use %(brand)s on mobile": "استفاده از %(brand)s روی گوشی",
"Switch to space by number": "تغییر به فضا با شماره"
"Powered by Matrix": "قدرت‌گرفته از ماتریکس"
}

View File

@@ -4,12 +4,12 @@
"Unknown device": "Appareil inconnu",
"You need to be using HTTPS to place a screen-sharing call.": "Vous devez utiliser HTTPS pour effectuer un appel avec partage décran.",
"Welcome to Element": "Bienvenue sur Element",
"Decentralised, encrypted chat &amp; collaboration powered by [matrix]": "Messagerie et collaboration décentralisées et chiffrées, propulsées par [matrix]",
"Decentralised, encrypted chat &amp; collaboration powered by [matrix]": "Discussion &amp; collaboration décentralisées et chiffrées, propulsées par [matrix]",
"Sign In": "Se connecter",
"Create Account": "Créer un compte",
"Explore rooms": "Parcourir les salons",
"Explore rooms": "Explorer les salons",
"Unexpected error preparing the app. See console for details.": "Une erreur inattendue est survenue pendant la préparation de lapplication. Consultez la console pour avoir des détails.",
"Invalid configuration: can only specify one of default_server_config, default_server_name, or default_hs_url.": "Configuration invalide : il ne faut spécifier quun des trois champs parmis default_server_config, default_server_name et default_hs_url.",
"Invalid configuration: can only specify one of default_server_config, default_server_name, or default_hs_url.": "Configuration invalide : il ne faut spécifier quun des trois champs entre default_server_config, default_server_name et default_hs_url.",
"Invalid configuration: no default server specified.": "Configuration invalide : aucun serveur par défaut spécifié.",
"The message from the parser is: %(message)s": "Le message de lanalyseur est : %(message)s",
"Invalid JSON": "JSON non valide",
@@ -21,7 +21,7 @@
"%(appName)s (%(browserName)s, %(osName)s)": "%(appName)s (%(browserName)s, %(osName)s)",
"Unsupported browser": "Navigateur non pris en charge",
"Please install <chromeLink>Chrome</chromeLink>, <firefoxLink>Firefox</firefoxLink>, or <safariLink>Safari</safariLink> for the best experience.": "Veuillez installer <chromeLink>Chrome</chromeLink>, <firefoxLink>Firefox</firefoxLink> ou <safariLink>Safari</safariLink> pour une expérience optimale.",
"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.": "Vous pouvez continuer à utiliser votre navigateur actuel, mais vous risquez de trouver que certaines fonctionnalités et/ou lapparence de lapplication sont incorrectes.",
"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.": "Vous pouvez continuer à utiliser votre navigateur actuel, mais vous risquez de trouver que certaines fonctionnalités et/ou l'apparence de l'application sont incorrectes.",
"I understand the risks and wish to continue": "Je comprends les risques et souhaite continuer",
"Go to element.io": "Aller vers element.io",
"Failed to start": "Échec au démarrage",
@@ -31,7 +31,5 @@
"Your Element is misconfigured": "Votre Element est mal configuré",
"Your Element configuration contains invalid JSON. Please correct the problem and reload the page.": "La configuration de votre Element contient du JSON invalide. Veuillez corriger le problème et recharger la page.",
"Your browser can't run %(brand)s": "Votre navigateur ne peut pas exécuter %(brand)s",
"%(brand)s uses advanced browser features which aren't supported by your current browser.": "%(brand)s nécessite des fonctionnalités avancées que votre navigateur actuel ne prend pas en charge.",
"Powered by Matrix": "Propulsé par Matrix",
"Use %(brand)s on mobile": "Utiliser %(brand)s sur téléphone"
"%(brand)s uses advanced browser features which aren't supported by your current browser.": "%(brand)s nécessite des fonctionnalités avancées que votre navigateur actuel ne supporte pas."
}

View File

@@ -7,31 +7,5 @@
"Decentralised, encrypted chat &amp; collaboration powered by [matrix]": "Meán comhrá agus comhoibriú, díláraithe agus criptithe, cumhachtaithe ag [matrix]",
"Sign In": "Sínigh Isteach",
"Create Account": "Déan cuntas a chruthú",
"Explore rooms": "Breathnaigh thart ar na seomraí",
"Your browser can't run %(brand)s": "Níl do bhrabhsálaí comhoiriúnach do %(brand)s",
"Go to your browser to complete Sign In": "Oscail do bhrabhsálaí agus críochnaigh an clárú",
"Your Element configuration contains invalid JSON. Please correct the problem and reload the page.": "Coinníonn do chumraíocht JSON neamhbhailí. Ceartaigh an fadhb agus athlódáil an leathanach le do thoil.",
"Your Element is misconfigured": "Níl do fheidhmchlár Element cumraithe i gceart",
"Previous/next recently visited room or community": "roimhe/chéad eile, seomra nó pobal is déanaí",
"Failed to start": "Theip chun tosú",
"I understand the risks and wish to continue": "Tuigim na rioscaí agus ba mhaith liom lean ar aghaidh",
"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.": "An féidir leat úsáid do bhrabhsálaí reatha, ach nár oibrí roinnt nó gach gné agus nár thaispeántar an feidhmchlár i gceart.",
"Please install <chromeLink>Chrome</chromeLink>, <firefoxLink>Firefox</firefoxLink>, or <safariLink>Safari</safariLink> for the best experience.": "Suiteáil <chromeLink>Chrome</chromeLink>, <firefoxLink>Firefox</firefoxLink>, or <safariLink>Safari</safariLink> chun an taithí is fearr a fháil.",
"%(brand)s uses advanced browser features which aren't supported by your current browser.": "Úsáideann %(brand)s gnéithe ardforbartha nach bhfuil ar fáil faoi do bhrabhsálaí reatha.",
"Unsupported browser": "Brabhsálaí gan tacaíocht",
"%(appName)s (%(browserName)s, %(osName)s)": "%(appName)s (%(browserName)s, %(osName)s)",
"%(brand)s Desktop (%(platformName)s)": "%(brand)s deisce (%(platformName)s)",
"Unexpected error preparing the app. See console for details.": "Earráid nuair an feidhmchlár a hullmhú. Feic sa consól le haghaidh eolas.",
"Unable to load config file: please refresh the page to try again.": "Ní féidir an comhad cumraíochta a lódáil. Athnuaigh an leathanach chun déanamh iarracht arís le do thoil.",
"Download Completed": "Íoslódáil críochnaithe",
"Invalid JSON": "JSON neamhbhailí",
"The message from the parser is: %(message)s": "Is í an teachtaireacht as an parsálaí: %(message)s",
"Invalid configuration: no default server specified.": "Cumraíocht neamhbhailí: Níl aon freastalaí réamhshocraithe a sonrú.",
"Invalid configuration: can only specify one of default_server_config, default_server_name, or default_hs_url.": "Cumraíocht neamhbhailí: ní féidir ach ceann de default_server_config, default_server_name, nó default_hs_url a shonrú.",
"Missing indexeddb worker script!": "An script oibrí \"indexeddb\" ag iarraidh!",
"Powered by Matrix": "Cumhachtaithe ag Matrix",
"Go to element.io": "Téigh go element.io",
"Open user settings": "Oscail socruithe úsáideora",
"Open": "Oscail",
"Use %(brand)s on mobile": "Úsáid %(brand)s ar guthán póca"
"Explore rooms": "Breathnaigh thart ar na seomraí"
}

View File

@@ -12,7 +12,7 @@
"Invalid JSON": "JSON non válido",
"Unexpected error preparing the app. See console for details.": "Fallo non agardado ao preparar a app. Detalles na consola.",
"Invalid configuration: can only specify one of default_server_config, default_server_name, or default_hs_url.": "Configuración non válida: só se pode indicar un de default_server_config, default_server_name, ou default_hs_url.",
"Invalid configuration: no default server specified.": "Configuración non válida: non se indicou servidor por defecto.",
"Invalid configuration: no default server specified.": "Configuración non válida: non se indicou servidor por omisión.",
"Missing indexeddb worker script!": "Falta o script indexeddb!",
"Unable to load config file: please refresh the page to try again.": "Non se cargou o ficheiro de configuración: actualiza a páxina para reintentalo.",
"Open user settings": "Abrir axustes da usuaria",
@@ -32,7 +32,5 @@
"Your Element configuration contains invalid JSON. Please correct the problem and reload the page.": "A configuración de Element contén JSON non válido. Corrixe o problema e recarga a páxina.",
"Your browser can't run %(brand)s": "O teu navegador non pode executar %(brand)s",
"%(brand)s uses advanced browser features which aren't supported by your current browser.": "%(brand)s utiliza características avanzadas do navegador que non están dispoñibles no teu navegador.",
"Powered by Matrix": "Funciona grazas a Matrix",
"Use %(brand)s on mobile": "Utiliza %(brand)s no móbil",
"Switch to space by number": "Cambiar a espazo polo número"
"Powered by Matrix": "Funciona grazas a Matrix"
}

View File

@@ -1,37 +1,13 @@
{
"Dismiss": "התעלם",
"Dismiss": "שחרר",
"powered by Matrix": "מופעל ע\"י Matrix",
"Unknown device": "מכשיר לא ידוע",
"You need to be using HTTPS to place a screen-sharing call.": "עליך להשתמש ב HTTPS בכדי לבצע שיחת ווידאו משותפת.",
"Welcome to Element": "ברוכים הבאים ל Element",
"Decentralised, encrypted chat &amp; collaboration powered by [matrix]": א'ט וכלי שיתוף פעולה מבוזר ומוצפן &amp; מופעל באמצעות [matrix]",
"Decentralised, encrypted chat &amp; collaboration powered by [matrix]": "צ'ט מוצפן &amp; ושת\"פ נעשה ע\"י ה [matrix]",
"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.",
"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.": "תצורה שגויה: לא צוין שרת ברירת מחדל.",
"Open user settings": "פתח הגדרות משתמש",
"Go to your browser to complete Sign In": "עבור לדפדפן להמשך ההתחברות",
"Explore rooms": "גלה חדרים",
"Create Account": "יצירת חשבון",
"Sign In": "כניסה",
"Previous/next recently visited room or community": "הבא\\קודם חדרים וקהילות שביקרתם לאחרונה",
"Open": "פתח",
"Download Completed": "ההורדה הושלמה",
"Unexpected error preparing the app. See console for details.": "שגיאה לא צפויה במהלך טעינת האפליקציה. ראו קונסול לפרטים נוספים.",
"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.": "האלמנט מכיל הגדרת JSON שגויה, אנא תקנו את הבעיה ואתחלו את הדף.",
"Your Element is misconfigured": "האלמנט מוגדר באופן שגוי",
"Go to element.io": "חזור לאתר הראשי: element.io",
"I understand the risks and wish to continue": "הסיכונים מובנים לי ואני מעוניינ/ת להמשיך",
"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.": "ניתן להמשיך ולהשתמש בדפדפן זה, אך ייתכן שחלק מן התכונות והמאפיינים לא יעבדו כשורה או ייראו כשגויים.",
"Please install <chromeLink>Chrome</chromeLink>, <firefoxLink>Firefox</firefoxLink>, or <safariLink>Safari</safariLink> for the best experience.": "נא התקן את דפדפן <chromeLink>כרום</chromeLink>, <firefoxLink>פיירפוקס</firefoxLink> או <safariLink>סאפרי</safariLink> בשביל החוויה הטובה ביותר.",
"Failed to start": "כשל בהעלאת התוכנה",
"%(brand)s uses advanced browser features which aren't supported by your current browser.": "%(brand)s משתמש בתכונות דפדפן מתקדמות שאינן נתמכות בדפדפן הנוכחי שלך.",
"Your browser can't run %(brand)s": "הדפדפן שלך לא יכול להריץ %(brand)s",
"Unsupported browser": "דפדפן לא נתמך",
"Powered by Matrix": "מופעל על ידי מטריקס",
"%(appName)s (%(browserName)s, %(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",
"Missing indexeddb worker script!": "סקריפט indexeddb worker חסר!",
"Switch to space by number": "עבור אל 'Space' על פי מספרו"
"Open user settings": "פתיחת הגדרות משתמש",
"Go to your browser to complete Sign In": "עבור לדפדפן להמשך ההתחברות"
}

View File

@@ -2,37 +2,35 @@
"Dismiss": "Eltüntetés",
"powered by Matrix": "a gépházban: Matrix",
"Unknown device": "Ismeretlen eszköz",
"You need to be using HTTPS to place a screen-sharing call.": "Képernyőmegosztás indításához HTTPS-t kell használnia.",
"Welcome to Element": "Üdvözli az Element",
"You need to be using HTTPS to place a screen-sharing call.": "Képernyőmegosztás indításához HTTPS-t kell használnod.",
"Welcome to Element": "Üdvözöl a Element",
"Decentralised, encrypted chat &amp; collaboration powered by [matrix]": "Decentralizált, titkosított csevegés és kollaboráció [matrix] alapokon",
"Sign In": "Bejelentkezés",
"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.",
"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 nézd meg 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: 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",
"Go to your browser to complete Sign In": "A böngészőben fejezze be a bejelentkezést",
"Go to your browser to complete Sign In": "A böngészőben fejezd be a bejelentkezést",
"Open user settings": "Felhasználói beállítások megnyitása",
"Missing indexeddb worker script!": "Hiányzó indexeddb worker parancsfájl!",
"Unable to load config file: please refresh the page to try again.": "A konfigurációs fájlt nem sikerült betölteni: frissítse az oldalt és próbálja meg újra.",
"Unable to load config file: please refresh the page to try again.": "A konfigurációs fájlt nem sikerült betölteni: frissítsd az oldalt és próbáld meg újra.",
"Previous/next recently visited room or community": "Előző/következő nemrég meglátogatott szobák vagy közösségek",
"%(brand)s Desktop (%(platformName)s)": "Asztali %(brand)s (%(platformName)s)",
"%(appName)s (%(browserName)s, %(osName)s)": "%(appName)s (%(browserName)s, %(osName)s)",
"Unsupported browser": "A böngésző nem támogatott",
"Please install <chromeLink>Chrome</chromeLink>, <firefoxLink>Firefox</firefoxLink>, or <safariLink>Safari</safariLink> for the best experience.": "A legjobb élmény érdékében telepítsen <chromeLink>Chrome-ot</chromeLink>, <firefoxLink>Firefoxot</firefoxLink> vagy <safariLink>Safarit</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.": "Folytathatja a jelenlegi böngészőjével, de néhány vagy az összes funkció használhatatlan lehet, vagy hibák lehetnek az alkalmazás kinézetében és viselkedésében.",
"Please install <chromeLink>Chrome</chromeLink>, <firefoxLink>Firefox</firefoxLink>, or <safariLink>Safari</safariLink> for the best experience.": "A legjobb élmény eléréséhez kérlek telepíts <chromeLink>Chrome-ot</chromeLink>, <firefoxLink>Firefoxot</firefoxLink> vagy <safariLink>Safarit</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.": "Folytathatod a jelenlegi böngésződdel, de néhány vagy az összes funkció használhatatlan lehet, vagy hibák lehetnek az alkalmazás kinézetében és viselkedésében.",
"I understand the risks and wish to continue": "Megértettem a kockázatot és folytatom",
"Go to element.io": "Irány a element.io",
"Failed to start": "Az indítás sikertelen",
"Download Completed": "A letöltés befejeződött",
"Open": "Megnyitás",
"Your Element is misconfigured": "Az Element hibásan van beállítva",
"Your Element configuration contains invalid JSON. Please correct the problem and reload the page.": "Az Element érvénytelen JSON-t tartalmazó konfigurációval rendelkezik. Javítsa és töltse újra az oldalt.",
"Your browser can't run %(brand)s": "A böngészője nem tudja futtatni ezt: %(brand)s",
"%(brand)s uses advanced browser features which aren't supported by your current browser.": "%(brand)s speciális böngészőfunkciókat használ, amelyeket a jelenlegi böngészője nem támogat.",
"Powered by Matrix": "A gépházban: Matrix",
"Use %(brand)s on mobile": "Mobilon használd ezt: %(brand)s",
"Switch to space by number": "Tér váltás számmal"
"Your Element configuration contains invalid JSON. Please correct the problem and reload the page.": "Az Element érvénytelen JSON-t tartalmazó konfigurációval rendelkezik. Kérlek javítsd és töltsd újra az oldalt.",
"Your browser can't run %(brand)s": "A böngésződ nem tudja futtatni ezt: %(brand)s",
"%(brand)s uses advanced browser features which aren't supported by your current browser.": "%(brand)s haladó böngésző funkciókat használ amiket a jelenlegi böngésződ nem támogat.",
"Powered by Matrix": "A gépházban: Matrix"
}

View File

@@ -4,35 +4,5 @@
"Unknown device": "Perangkat Tidak Diketahui",
"You need to be using HTTPS to place a screen-sharing call.": "Anda perlu menggunakan HTTPS untuk melakukan panggilan berbagi-layar.",
"Welcome to Element": "Selamat datang di Element",
"Decentralised, encrypted chat &amp; collaboration powered by [matrix]": "Obrolan terenkripsi, terdesentralisasi &amp; kolaborasi didukung oleh [matrix]",
"Your Element configuration contains invalid JSON. Please correct the problem and reload the page.": "Konfigurasi Element Anda mengandung JSON yang tidak valid. Mohon perbaiki masalahnya dan muat ulang halaman nya.",
"Invalid configuration: no default server specified.": "Konfigurasi tidak valid: server default belum ditentukan.",
"Missing indexeddb worker script!": "Tidak ada script worker indexeddb!",
"Explore rooms": "Jelajahi ruang",
"Create Account": "Buat Akun",
"Switch to space by number": "Beralih ke ruang dengan nomor",
"Go to your browser to complete Sign In": "Buka browser Anda untuk menyelesaikan Masuk",
"Sign In": "Masuk",
"Failed to start": "Gagal untuk memulai",
"Go to element.io": "Buka element.io",
"I understand the risks and wish to continue": "Saya memahami risikonya dan ingin melanjutkan",
"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.": "Anda dapat lanjut menggunakan browser Anda saat ini, tetapi beberapa atau semua fitur mungkin tidak berfungsi dan tampilan serta nuansa aplikasi mungkin salah.",
"Please install <chromeLink>Chrome</chromeLink>, <firefoxLink>Firefox</firefoxLink>, or <safariLink>Safari</safariLink> for the best experience.": "Mohon instal <chromeLink>Chrome</chromeLink>, <firefoxLink>Firefox</firefoxLink>, atau <safariLink>Safari</safariLink> untuk pengalaman terbaik.",
"%(brand)s uses advanced browser features which aren't supported by your current browser.": "%(brand)s menggunakan fitur browser lanjutan yang tidak didukung oleh browser Anda saat ini.",
"Your browser can't run %(brand)s": "Browser Anda tidak bisa menjalankan %(brand)s",
"Unsupported browser": "Browser tidak didukung",
"Use %(brand)s on mobile": "Gunakan %(brand)s di ponsel",
"Powered by Matrix": "Didukung oleh Matrix",
"%(appName)s (%(browserName)s, %(osName)s)": "%(appName)s (%(browserName)s, %(osName)s)",
"%(brand)s Desktop (%(platformName)s)": "%(brand)s Desktop (%(platformName)s)",
"Previous/next recently visited room or community": "Ruangan atau komunitas yang baru saja dikunjungi sebelum/berikutnya",
"Open user settings": "Buka pengaturan pengguna",
"Open": "Buka",
"Download Completed": "Unduh Selesai",
"Unexpected error preparing the app. See console for details.": "Kesalahan tak terduga saat menyiapkan aplikasi. Lihat konsol untuk detail.",
"Unable to load config file: please refresh the page to try again.": "Tidak bisa muat file konfigurasi: mohon segarkan halaman untuk mencoba lagi.",
"Invalid JSON": "JSON tidak valid",
"The message from the parser is: %(message)s": "Pesan dari pengurai adalah: %(message)s",
"Your Element is misconfigured": "Element Anda salah dikonfigurasi",
"Invalid configuration: can only specify one of default_server_config, default_server_name, or default_hs_url.": "Konfigurasi tidak valid: hanya bisa menentukan satu dari default_server_config, default_server_name, atau default_hs_url."
"Decentralised, encrypted chat &amp; collaboration powered by [matrix]": "Obrolan terenkripsi, terdesentralisasi &amp; kolaborasi didukung oleh [matrix]"
}

View File

@@ -2,7 +2,7 @@
"powered by Matrix": "keyrt með Matrix",
"Welcome to Element": "Velkomin í Element",
"Unknown device": "Óþekkt tæki",
"Dismiss": "Hunsa",
"Dismiss": "Hafna",
"You need to be using HTTPS to place a screen-sharing call.": "Þú verður að nota HTTPS til að hringja samtal með deilingu á skjá.",
"Decentralised, encrypted chat &amp; collaboration powered by [matrix]": "Dulritað dreifvinnsluspjall &amp; samstarfstól keyrt með [matrix]",
"Open": "Opna",
@@ -18,20 +18,5 @@
"%(appName)s (%(browserName)s, %(osName)s)": "%(appName)s (%(browserName)s, %(osName)s)",
"Please install <chromeLink>Chrome</chromeLink>, <firefoxLink>Firefox</firefoxLink>, or <safariLink>Safari</safariLink> for the best experience.": "vinsamlegast setja upp <chromeLink>Chrome</chromeLink>, <firefoxLink>Firefox</firefoxLink>, eða <safariLink>Safari</safariLink> fyrir besta reynsluna.",
"I understand the risks and wish to continue": "Ég skil áhættuna og óska að halda áfram",
"Go to element.io": "farðu í element.io",
"Unexpected error preparing the app. See console for details.": "Óvænt villa við undirbúning appsins. Sjá nánar í textaskrá vafra.",
"Failed to start": "Mistókst að ræsa",
"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.": "Þú getur haldið áfram að nota núverandi vafra, en sumar eða allir eiginleikar virka ekki og útlit og tilfinning forritsins geta verið röng.",
"%(brand)s uses advanced browser features which aren't supported by your current browser.": "%(brand)s notar háþróaða vafraeiginleika sem eru ekki studdir af núverandi vafra þínum.",
"Powered by Matrix": "Keyrt af Matrix",
"Go to your browser to complete Sign In": "Farðu í vafrann þinn til að ljúka innskráningu",
"%(brand)s Desktop (%(platformName)s)": "%(brand)s Borðtölva (%(platformName)s)",
"Previous/next recently visited room or community": "Fyrra/næsta nýlega heimsótt herbergi eða samfélag",
"Open user settings": "Opna notandastillingar",
"Unable to load config file: please refresh the page to try again.": "Ekki er hægt að hlaða stillingaskrána: endurnýjaðu síðuna til að reyna aftur.",
"Your Element configuration contains invalid JSON. Please correct the problem and reload the page.": "Element stillingar þínar innihalda ógilda JSON. Vinsamlegast leiðréttu vandamálið og endurhladdu síðuna.",
"Your Element is misconfigured": "Element þitt er rangt stillt",
"Invalid configuration: no default server specified.": "Ógild stilling: enginn sjálfgefinn þjónn tilgreindur.",
"Invalid configuration: can only specify one of default_server_config, default_server_name, or default_hs_url.": "Ógild stilling: getur aðeins tilgreint einn af default_server_config, default_server_name eða default_hs_url.",
"Use %(brand)s on mobile": "Nota %(brand)s í síma"
"Go to element.io": "farðu í element.io"
}

View File

@@ -32,7 +32,5 @@
"Your Element configuration contains invalid JSON. Please correct the problem and reload the page.": "La configurazione del tuo elemento contiene un JSON non valido. Correggi il problema e ricarica la pagina.",
"Your browser can't run %(brand)s": "Il tuo browser non può eseguire %(brand)s",
"%(brand)s uses advanced browser features which aren't supported by your current browser.": "%(brand)s usa funzionalità avanzate del browser che non sono supportate dal tuo browser attuale.",
"Powered by Matrix": "Offerto da Matrix",
"Use %(brand)s on mobile": "Usa %(brand)s su mobile",
"Switch to space by number": "Passa allo spazio per numero"
"Powered by Matrix": "Offerto da Matrix"
}

View File

@@ -8,8 +8,8 @@
"Unexpected error preparing the app. See console for details.": "アプリケーションの準備中に予期しないエラーが発生しました。詳細はコンソールを参照してください。",
"Invalid configuration: no default server specified.": "不正な設定です:デフォルトのサーバーが設定されていません。",
"Sign In": "サインイン",
"Create Account": "アカウント作成",
"Explore rooms": "部屋を探",
"Create Account": "アカウント作成",
"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のいずれか一つのみが指定できます。",
@@ -30,7 +30,5 @@
"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": "Powered by Matrix",
"Previous/next recently visited room or community": "最近利用したルームまたはコミュニティ"
"%(brand)s uses advanced browser features which aren't supported by your current browser.": "%(brand)sはブラウザの高度な機能を使う必要がありますが、このブラウザではその機能がサポートされていないようです。"
}

View File

@@ -4,28 +4,5 @@
"Dismiss": "უარის თქმა",
"powered by Matrix": "Matrix-ზე დაფუძნებული",
"Welcome to Element": "კეთილი იყოს თქვენი მობრძანება Element-ზე",
"Decentralised, encrypted chat &amp; collaboration powered by [matrix]": "დეცენტრალიზებული, დაშიფრული ჩატი &amp; კოლაბორაცია, დაფუძნებული [matrix]-ზე",
"Explore rooms": "ოთახების დათავლიერება",
"Failed to start": "ჩართვა ვერ მოხერხდა",
"Use %(brand)s on mobile": "გამოიყენე %(brand)s-ი მობილურზე",
"%(brand)s Desktop (%(platformName)s)": "%(brand)s დესკტოპი (%(platformName)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-ს. გთხოვთ გადაჭრათ პრობლემა და დაარაფრეშოთ გვერდი.",
"Sign In": "შესვლა",
"Invalid configuration: no default server specified.": "არასწორი კონფიგურაცია: მთავარი სერვერი არ არის მითითებული.",
"Create Account": "ანგარიშის შექმნა",
"Go to element.io": "გადადი element.io-ზე",
"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-ი",
"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-ის მეშვეობით",
"%(appName)s (%(browserName)s, %(osName)s)": "%(appName)s (%(browserName)s, %(osName)s)",
"Go to your browser to complete Sign In": "გახსენი ბრაუზერი Sign In-ის დასასრულებლად",
"Open user settings": "მომხმარებლების პარამეტრების გახსნა",
"Open": "გახსნა",
"Download Completed": "გადმოწერა დასრულებულია"
"Decentralised, encrypted chat &amp; collaboration powered by [matrix]": "დეცენტრალიზებული, დაშიფრული ჩატი &amp; კოლაბორაცია, დაფუძნებული [matrix]-ზე"
}

View File

@@ -1,3 +0,0 @@
{
"Open": "ເປີດ"
}

View File

@@ -6,7 +6,7 @@
"Dismiss": "Atmesti",
"Decentralised, encrypted chat &amp; collaboration powered by [matrix]": "Decentralizuoti, šifruoti pokalbiai ir bendradarbiavimas, veikiantis su [matrix]",
"Sign In": "Prisijungti",
"Create Account": "Sukurti Paskyrą",
"Create Account": "Sukurti paskyrą",
"Explore rooms": "Žvalgyti kambarius",
"The message from the parser is: %(message)s": "Analizatoriaus žinutė yra: %(message)s",
"Invalid JSON": "Klaidingas JSON",
@@ -18,7 +18,7 @@
"Missing indexeddb worker script!": "Trūksta indexeddb worker skripto!",
"Unable to load config file: please refresh the page to try again.": "Nepavyko įkelti konfigūracijos failo: atnaujinkite puslapį, kad pabandytumėte dar kartą.",
"Previous/next recently visited room or community": "Ankstesnis/sekantis neseniai lankytas kambarys ar bendruomenė",
"%(brand)s Desktop (%(platformName)s)": "%(brand)s Kompiuteryje (%(platformName)s)",
"%(brand)s Desktop (%(platformName)s)": "%(brand)s Kompiuteriui (%(platformName)s)",
"%(appName)s (%(browserName)s, %(osName)s)": "%(appName)s (%(browserName)s, %(osName)s)",
"Unsupported browser": "Nepalaikoma naršyklė",
"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.": "Jūs galite toliau naudotis savo dabartine naršykle, bet kai kurios arba visos funkcijos gali neveikti ir programos išvaizda bei sąsaja gali būti neteisingai rodoma.",
@@ -31,7 +31,5 @@
"Open": "Atidaryti",
"Your browser can't run %(brand)s": "Jūsų naršyklė negali paleisti %(brand)s",
"%(brand)s uses advanced browser features which aren't supported by your current browser.": "%(brand)s naudoja išplėstines naršyklės funkcijas, kurių jūsų dabartinė naršyklė nepalaiko.",
"Please install <chromeLink>Chrome</chromeLink>, <firefoxLink>Firefox</firefoxLink>, or <safariLink>Safari</safariLink> for the best experience.": "Geriausiam veikimui suinstaliuokite <chromeLink>Chrome</chromeLink>, <firefoxLink>Firefox</firefoxLink>, arba <safariLink>Safari</safariLink>.",
"Powered by Matrix": "Veikia su Matrix",
"Use %(brand)s on mobile": "Naudoti %(brand)s mobiliajame telefone"
"Please install <chromeLink>Chrome</chromeLink>, <firefoxLink>Firefox</firefoxLink>, or <safariLink>Safari</safariLink> for the best experience.": "Geriausiam veikimui suinstaliuokite <chromeLink>Chrome</chromeLink>, <firefoxLink>Firefox</firefoxLink>, arba <safariLink>Safari</safariLink>."
}

View File

@@ -1,36 +1,25 @@
{
"Dismiss": "Aizvērt",
"Dismiss": "Atteikt",
"powered by Matrix": "Tiek darbināta ar Matrix",
"Unknown device": "Nezināma ierīce",
"You need to be using HTTPS to place a screen-sharing call.": "Lai veiktu ekrāna kopīgošanas zvanu, nepieciešams izmantot HTTPS savienojumu.",
"Welcome to Element": "Esiet laipni gaidīti Element",
"You need to be using HTTPS to place a screen-sharing call.": "Lai izmantotu ekrāna kopīgošanas zvanu, nepieciešams izmantot HTTPS savienojumu.",
"Welcome to Element": "Esiet gaidīti Element",
"Decentralised, encrypted chat &amp; collaboration powered by [matrix]": "Decentralizēta, šifrēta čata &amp; kopdarbošanās sistēma uz [matrix] bāzes",
"Sign In": "Pierakstīties",
"Sign In": "Ienākt",
"Create Account": "Izveidot kontu",
"Explore rooms": "Pārlūkot istabas",
"Explore rooms": "Atklāt istabas",
"Unexpected error preparing the app. See console for details.": "Negaidīta kļūda, sagatavojot lietotni. Sīkāku informāciju skatiet konsolē.",
"Invalid configuration: can only specify one of default_server_config, default_server_name, or default_hs_url.": "Kļūdaina konfigurācija: var norādīt tikai vienu no parametriem default_server_config, default_server_name, vai default_hs_url.",
"Invalid configuration: no default server specified.": "Kļūdaina konfigurācija: nav norādīts noklusējuma serveris.",
"Invalid configuration: can only specify one of default_server_config, default_server_name, or default_hs_url.": "Nederīga konfigurācija: var norādīt tikai vienu no default_server_config, default_server_name, vai default_hs_url.",
"Invalid configuration: no default server specified.": "Nekorekta konfigurācija: nav norādīts noklusējuma serveris.",
"The message from the parser is: %(message)s": "Ziņojums no parsētāja ir: %(message)s",
"Invalid JSON": "Kļūdains JSON",
"Unable to load config file: please refresh the page to try again.": "Neizdevās ielādēt konfigurācijas datni. Lūdzu, pārlādējiet lapu, lai mēģinātu vēlreiz.",
"Open user settings": "Atvērt lietotāja iestatījumus",
"Go to your browser to complete Sign In": "Pārejiet uz pārlūku, lai pabeigtu pierakstīšanos",
"Invalid JSON": "Nederīgs JSON",
"Unable to load config file: please refresh the page to try again.": "Neizdevās ielādēt config datni: lūdzu pārlādē lapu lai mēģinātu vēlreiz.",
"Open user settings": "Atver lietotāja iestatījumus",
"Go to your browser to complete Sign In": "Aizej uz savu pārlūku lai pabeigtu Piekļuvi",
"Unsupported browser": "Neatbalstīts pārlūks",
"Please install <chromeLink>Chrome</chromeLink>, <firefoxLink>Firefox</firefoxLink>, or <safariLink>Safari</safariLink> for the best experience.": "Labākajai izmantošanas pieredzei, lūdzu, instalējiet <chromeLink>Chrome</chromeLink>, <firefoxLink>Firefox</firefoxLink> vai <safariLink>Safari</safariLink> pārlūku.",
"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.": "Jūs varat turpināt lietot savu pašreizējo pārlūku, bet dažas vai visas funkcijas nestrādās, un lietotnes izskats var būt nepareizs.",
"Please install <chromeLink>Chrome</chromeLink>, <firefoxLink>Firefox</firefoxLink>, or <safariLink>Safari</safariLink> for the best experience.": "Lūdzu instalē <chromeLink>Chrome</chromeLink>, <firefoxLink>Firefox</firefoxLink>, vai <safariLink>Safari</safariLink> priekš labākās pieredzes.",
"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.": "Tu vari turpināt izmantot savu pašreizējo pārlūku, bet dažas vai visas funkcijas nestrādās, un lietotnes izskats var būt nepareizs.",
"I understand the risks and wish to continue": "Es pieņemu riskus un vēlos turpināt",
"Go to element.io": "Ej uz element.io",
"Failed to start": "Neizdevās palaist",
"Powered by Matrix": "Darbojas uz Matrix",
"Previous/next recently visited room or community": "Iepriekšējā/nākošā nesen apmeklētā istaba vai kopiena",
"%(brand)s uses advanced browser features which aren't supported by your current browser.": "%(brand)s izmanto pārlūku papildus funkcijas, kas netiek atbalstītas šajā pārlūkā.",
"Your browser can't run %(brand)s": "Jūsu pārlūks nevar palaist %(brand)s",
"Missing indexeddb worker script!": "Trūkst indexeddb worker skripta!",
"Open": "Atvērt",
"Download Completed": "Lejupielāde pabeigta",
"Your Element configuration contains invalid JSON. Please correct the problem and reload the page.": "Jūsu Element konfigurācija satur kļūdainu JSON. Lūdzu, salabojiet problēmu un pārlādējiet lapu.",
"Your Element is misconfigured": "Jūsu Element ir nokonfigurēts kļūdaini",
"%(appName)s (%(browserName)s, %(osName)s)": "%(appName)s (%(browserName)s, %(osName)s)",
"%(brand)s Desktop (%(platformName)s)": "%(brand)s Desktop (%(platformName)s)"
"Failed to start": "Neizdevās palaist"
}

View File

@@ -3,21 +3,5 @@
"powered by Matrix": "മാട്രിക്സില്‍ പ്രവര്‍ത്തിക്കുന്നു",
"Unknown device": "അപരിചിത ഡിവൈസ്",
"You need to be using HTTPS to place a screen-sharing call.": "സ്ക്രീന്‍ ഷെയറിങ്ങ് കോള്‍ നടത്തണമെങ്കില്‍ https ഉപയോഗിക്കണം.",
"Decentralised, encrypted chat &amp; collaboration powered by [matrix]": "വികേന്ദ്രീകൃത , എന്‍ക്രിപ്റ്റഡ് ചാറ്റ് &amp; മാട്രിക്സ് നല്‍കുന്ന കൊളാബൊറേഷന്‍",
"%(appName)s (%(browserName)s, %(osName)s)": "%(appName)s%(browserName)s%(osName)s",
"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> ഇൻസ്റ്റാൾ ചെയ്യുക.",
"Your Element is misconfigured": "നിങ്ങളുടെ Element തെറ്റായിട്ടാണ് കോൺഫിഗർ ചെയ്തിരിക്കുന്നത്",
"Invalid configuration: no default server specified.": "അസാധുവായ കോൺഫിഗറേഷൻ: സ്ഥിര സെർവർ ഒന്നും വ്യക്തമാക്കിയില്ല.",
"Invalid configuration: can only specify one of default_server_config, default_server_name, or default_hs_url.": "അസാധുവായ കോൺഫിഗറേഷൻ: default_server_config, default_server_name, or default_hs_url-ൽ ഒരെണ്ണം മാത്രമേ വ്യക്തമാക്കാൻ കഴിയൂ.",
"Missing indexeddb worker script!": "indexeddb worker സ്ക്രിപ്റ്റ് കണ്ടെത്താനായില്ല!",
"Open user settings": "യൂസർ ക്രമീകരങ്ങൾ തുറക്കുക",
"Download Completed": "ഡൗൺലോഡ് പൂർത്തിയായി",
"Unsupported browser": "പിന്തുണയ്‌ക്കാത്ത ബ്രൗസർ",
"I understand the risks and wish to continue": "ഞാൻ അപകടസാധ്യതകൾ മനസിലാക്കുകയും തുടരാൻ ആഗ്രഹിക്കുകയും ചെയ്യുന്നു",
"Go to element.io": "element.io-ലേക്ക് പോവുക",
"Failed to start": "ആരംഭിക്കാൻ പരാജയപെട്ടു",
"Welcome to Element": "Element-ലേക്ക് സ്വാഗതം",
"Sign In": "പ്രവേശിക്കുക",
"Create Account": "അക്കൗണ്ട് സൃഷ്ടിക്കുക",
"Explore rooms": "മുറികൾ കണ്ടെത്തുക"
"Decentralised, encrypted chat &amp; collaboration powered by [matrix]": "വികേന്ദ്രീകൃത , എന്‍ക്രിപ്റ്റഡ് ചാറ്റ് &amp; മാട്രിക്സ് നല്‍കുന്ന കൊളാബൊറേഷന്‍"
}

View File

@@ -11,26 +11,8 @@
"The message from the parser is: %(message)s": "Meldingen fra parseren er: %(message)s",
"Invalid JSON": "Ugyldig JSON",
"Invalid configuration: no default server specified.": "Ugyldig konfigurasjon: ingen standardserver spesifisert.",
"Unexpected error preparing the app. See console for details.": "Uventet feil ved klargjøring av appen. Se konsollen for detaljer.",
"Unexpected error preparing the app. See console for details.": "Uventet feil oppsto mens appen ble gjort klar. Se konsollen for detaljer.",
"Invalid configuration: can only specify one of default_server_config, default_server_name, or default_hs_url.": "Ugyldig konfigurasjon: Spesifiser kun en av følgende: default_server_config, default_server_name eller default_hs_url.",
"Open user settings": "Åpne brukerinnstillinger",
"Go to your browser to complete Sign In": "Gå til nettleseren din for å fullføre innloggingen",
"Failed to start": "Kunne ikke starte",
"Go to element.io": "Gå til element.io",
"I understand the risks and wish to continue": "Jeg forstår risikoen og ønsker å fortsette",
"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.": "Du kan fortsette å bruke din nåværende nettleser, men noen eller alle funksjonene fungerer kanskje ikke, og utseendet og følelsen av applikasjonen kan være feil.",
"Your browser can't run %(brand)s": "Nettleseren din kan ikke kjøre %(brand)s",
"Unsupported browser": "Ustøttet nettleser",
"Powered by Matrix": "Drevet av Matrix",
"Previous/next recently visited room or community": "Forrige/neste nylig besøkte rom eller samfunn",
"Download Completed": "Nedlasting Fullført",
"Unable to load config file: please refresh the page to try again.": "Kan ikke laste inn konfigurasjonsfil: oppdater siden for å prøve igjen.",
"Your Element configuration contains invalid JSON. Please correct the problem and reload the page.": "Ditt Element konfigurasjonen inneholder ugyldig JSON. Løs problemet og last siden på nytt.",
"Your Element is misconfigured": "Ditt Element er feilkonfigurert",
"Missing indexeddb worker script!": "Mangler indexeddb arbeiderskript!",
"Please install <chromeLink>Chrome</chromeLink>, <firefoxLink>Firefox</firefoxLink>, or <safariLink>Safari</safariLink> for the best experience.": "Vennligst installer <chromeLink>Chrome</chromeLink>, <firefoxLink>Firefox</firefoxLink>, eller <safariLink>Safari</safariLink> for den beste opplevelsen.",
"%(brand)s uses advanced browser features which aren't supported by your current browser.": "%(brand)s bruker avanserte nettleserfunksjoner som ikke støttes av din nåværende nettleser.",
"%(appName)s (%(browserName)s, %(osName)s)": "%(appName)s (%(browserName)s, %(osName)s)",
"%(brand)s Desktop (%(platformName)s)": "%(brand)s Skrivebord (%(platformName)s)",
"Open": "Åpne"
"Go to your browser to complete Sign In": "Gå til nettleseren din for å fullføre innloggingen"
}

View File

@@ -1,12 +1,12 @@
{
"Dismiss": "Sluiten",
"Dismiss": "Afwijzen",
"powered by Matrix": "draait op Matrix",
"Unknown device": "Onbekend apparaat",
"You need to be using HTTPS to place a screen-sharing call.": "Oproepen met schermdelen vergen HTTPS.",
"Welcome to Element": "Welkom bij Element",
"Decentralised, encrypted chat &amp; collaboration powered by [matrix]": "Gedecentraliseerd en versleuteld chatten &amp; samenwerken dankzij [matrix]",
"Sign In": "Inloggen",
"Create Account": "Registreren",
"Sign In": "Aanmelden",
"Create Account": "Account aanmaken",
"Explore rooms": "Gesprekken ontdekken",
"Unexpected error preparing the app. See console for details.": "Er is een onverwachte fout opgetreden bij het voorbereiden van de app. Zie de console voor details.",
"Invalid configuration: can only specify one of default_server_config, default_server_name, or default_hs_url.": "Configuratiefout: kan slechts één van default_server_config, default_server_name, of default_hs_url opgeven.",
@@ -22,17 +22,8 @@
"%(appName)s (%(browserName)s, %(osName)s)": "%(appName)s (%(browserName)s, %(osName)s)",
"Unsupported browser": "Niet-ondersteunde browser",
"Please install <chromeLink>Chrome</chromeLink>, <firefoxLink>Firefox</firefoxLink>, or <safariLink>Safari</safariLink> for the best experience.": "Installeer <chromeLink>Chrome</chromeLink>, <firefoxLink>Firefox</firefoxLink>, of <safariLink>Safari</safariLink> voor de beste gebruikservaring.",
"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.": "U kunt uw huidige browser blijven gebruiken, maar sommige of alle functies zouden niet kunnen werken en de weergave van het programma kan verkeerd zijn.",
"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.": "U kunt uw huidige browser blijven gebruiken, maar sommige of alle features zouden niet kunnen werken en de uitstraling van het programma kan verkeerd zijn.",
"I understand the risks and wish to continue": "Ik begrijp de risico's en wil verder gaan",
"Go to element.io": "Ga naar element.io",
"Failed to start": "Opstarten mislukt",
"Open": "Openen",
"Your Element configuration contains invalid JSON. Please correct the problem and reload the page.": "Uw Element configuratie bevat ongeldige JSON. Gelieve het probleem te corrigeren daarna de pagina te herladen.",
"Download Completed": "Download voltooid",
"Your Element is misconfigured": "Uw Element is verkeerd geconfigureerd",
"Your browser can't run %(brand)s": "Uw browser kan %(brand)s niet starten",
"%(brand)s uses advanced browser features which aren't supported by your current browser.": "%(brand)s gebruikt geavanceerde functies die niet ondersteund worden in uw huidige browser.",
"Powered by Matrix": "Mogelijk gemaakt door Matrix",
"Use %(brand)s on mobile": "Gebruik %(brand)s op uw mobiel",
"Switch to space by number": "Wissel naar space per nummer"
"Failed to start": "Opstarten gefaald"
}

View File

@@ -10,27 +10,5 @@
"Decentralised, encrypted chat &amp; collaboration powered by [matrix]": "Messatjariá chifrada, descentralizada e collaborativa propulsada per [matrix]",
"Sign In": "Se connectar",
"Create Account": "Crear un compte",
"Explore rooms": "Percórrer las salas",
"Missing indexeddb worker script!": "Lo worker script IndexedDB manca !",
"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.",
"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",
"You need to be using HTTPS to place a screen-sharing call.": "Devetz utilizar HTTPS per apelar ambé partatge d'ecran.",
"%(appName)s (%(browserName)s, %(osName)s)": "%(appName)s (%(browserName)s, %(osName)s)",
"%(brand)s Desktop (%(platformName)s)": "%(brand)s de burèu (%(platformName)s)",
"Previous/next recently visited room or community": "Sala o comunautat recentament visitada precedenta/seguenta",
"Open user settings": "Dobrir los paramètres utilizaire",
"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"
"Explore rooms": "Percórrer las salas"
}

View File

@@ -25,13 +25,5 @@
"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.": "Możesz kontynuować używanie obecnej przeglądarki, lecz niektóre lub wszystkie funkcje mogą nie działać oraz wygląd aplikacji może być niepoprawny.",
"I understand the risks and wish to continue": "Rozumiem ryzyko i chcę kontynuować",
"Go to element.io": "Przejdź do element.io",
"Failed to start": "Nie udało się wystartować",
"Download Completed": "Pobieranie Zakończone",
"Open": "Otwórz",
"Your browser can't run %(brand)s": "Twoja przeglądarka nie obsługuje %(brand)s",
"%(brand)s uses advanced browser features which aren't supported by your current browser.": "%(brand)s używa zaawansowanych funkcji przeglądarki, które nie są dostępne w twojej przeglądarce.",
"Your Element configuration contains invalid JSON. Please correct the problem and reload the page.": "Konfiguracja Elementa zawiera niepoprawny JSON. Popraw konfiguracje i odśwież stronę.",
"Your Element is misconfigured": "Element jest nieprawidłowo skonfigurowany",
"Powered by Matrix": "Zasilane przez Matrix",
"Use %(brand)s on mobile": "Użyj %(brand)s w telefonie"
"Failed to start": "Nie udało się wystartować"
}

View File

@@ -3,7 +3,7 @@
"powered by Matrix": "powered by Matrix",
"Unknown device": "Dispositivo desconhecido",
"You need to be using HTTPS to place a screen-sharing call.": "Necessita de estar a usar HTTPS para poder iniciar uma chamada com partilha de ecrã.",
"Welcome to Element": "Boas-vindas ao Element",
"Welcome to Element": "Bem-vindo ao Element",
"Decentralised, encrypted chat &amp; collaboration powered by [matrix]": "Chat descentralizado, encriptado &amp; colaborativo powered by [matrix]",
"The message from the parser is: %(message)s": "A mensagem do parser é: %(message)s",
"Invalid JSON": "JSON inválido",
@@ -13,19 +13,5 @@
"Sign In": "Iniciar sessão",
"Create Account": "Criar conta",
"Explore rooms": "Explorar rooms",
"Go to your browser to complete Sign In": "Abra o seu navegador para completar o inicio de sessão",
"Open": "Abrir",
"Download Completed": "Transferência concluída",
"Unable to load config file: please refresh the page to try again.": "Não foi possível carregar o ficheiro de configuração: atualize a página para tentar novamente.",
"Your Element configuration contains invalid JSON. Please correct the problem and reload the page.": "A configuração do Element contém um JSON inválido. Corrija o problema e recarregue a página.",
"Your Element is misconfigured": "O Element está configurado incorretamente",
"Powered by Matrix": "Desenvolvido por Matrix",
"%(appName)s (%(browserName)s, %(osName)s)": "%(appName)s (2%(browserName)s, 3%(osName)s)",
"Go to element.io": "Visite element.io",
"I understand the risks and wish to continue": "Compreendo os riscos e pretendo continuar",
"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.": "Podes continuar a utilizar teu browser atual, mas algumas funcionalidades podem não funcionar ou aparecerem de forma incorrecta.",
"Please install <chromeLink>Chrome</chromeLink>, <firefoxLink>Firefox</firefoxLink>, or <safariLink>Safari</safariLink> for the best experience.": "Por favor, instala <chromeLink>Chrome</chromeLink>, <firefoxLink>Firefox</firefoxLink>, ou <safariLink>Safari</safariLink> para uma melhor experiência.",
"Unsupported browser": "Browser não suportado",
"Previous/next recently visited room or community": "Anterior/seguinte comunidade ou sala recentemente visitado",
"Open user settings": "Abrir definições do utilizador"
"Go to your browser to complete Sign In": "Abra o seu navegador para completar o inicio de sessão"
}

View File

@@ -1,38 +1,36 @@
{
"Dismiss": "Dispensar",
"Dismiss": "Descartar",
"powered by Matrix": "oferecido por Matrix",
"Unknown device": "Dispositivo desconhecido",
"You need to be using HTTPS to place a screen-sharing call.": "Você precisa estar usando HTTPS para começar uma chamada de compartilhamento de tela.",
"Welcome to Element": "Boas-vindas a Element",
"Decentralised, encrypted chat &amp; collaboration powered by [matrix]": "Chat &amp; colaboração descentralizados e encriptados powered by [matrix]",
"Sign In": "Fazer signin",
"Unknown device": "Aparelho desconhecido",
"You need to be using HTTPS to place a screen-sharing call.": "Você precisa usar HTTPS para compartilhar a tela durante uma chamada.",
"Welcome to Element": "Seja bem-vinda(o) a Element",
"Decentralised, encrypted chat &amp; collaboration powered by [matrix]": "Chat descentralizado, criptografado e colaborativo construído com [matrix]",
"Sign In": "Entrar",
"Create Account": "Criar Conta",
"Explore rooms": "Explorar salas",
"Explore rooms": "Explore as salas",
"The message from the parser is: %(message)s": "A mensagem do parser é: %(message)s",
"Invalid JSON": "JSON inválido",
"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",
"Open user settings": "Abrir configurações de usuária(o)",
"Unexpected error preparing the app. See console for details.": "Erro inesperado preparando o aplicativo. Veja o console para mais detalhes.",
"Invalid configuration: can only specify one of default_server_config, default_server_name, or default_hs_url.": "Configuração inválida: você só pode especificar um valor dentre default_server_config, default_server_name, ou default_hs_url.",
"Invalid configuration: no default server specified.": "Configuração inválida: servidor padrão não especificado.",
"Unable to load config file: please refresh the page to try again.": "Não foi possível carregar o arquivo de configuração: por favor, atualize a página para tentar novamente.",
"Download Completed": "Download concluído",
"Open user settings": "Abrir configurações do usuário",
"%(appName)s (%(browserName)s, %(osName)s)": "%(appName)s (%(browserName)s, %(osName)s)",
"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.",
"I understand the risks and wish to continue": "Eu entendo os riscos e desejo continuar",
"Go to element.io": "Ir para element.io",
"Failed to start": "Falha para iniciar",
"Missing indexeddb worker script!": "Worker script indexeddb faltando!",
"Unsupported browser": "Navegador não suportado",
"Please install <chromeLink>Chrome</chromeLink>, <firefoxLink>Firefox</firefoxLink>, or <safariLink>Safari</safariLink> for the best experience.": "Por favor, instale o <chromeLink>Chrome</chromeLink>, o <firefoxLink>Firefox</firefoxLink> ou o <safariLink>Safari</safariLink> para obter a melhor experiência de uso.",
"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 o navegador atual, mas alguns dos recursos podem não funcionar e a aparência do aplicativo pode estar incorreta.",
"I understand the risks and wish to continue": "Entendo os riscos e desejo continuar",
"Go to element.io": " para element.io",
"Failed to start": "Falha ao iniciar",
"Missing indexeddb worker script!": "O script indexeddb não foi encontrado!",
"Open": "Abrir",
"Previous/next recently visited room or community": "Anterior/próxima sala ou comunidade visitada recentemente",
"Previous/next recently visited room or community": "Anterior/Próxima sala ou comunidade visitada recentemente",
"%(brand)s Desktop (%(platformName)s)": "%(brand)s Desktop (%(platformName)s)",
"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.",
"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",
"Switch to space by number": "Trocar para espaço por número"
"Go to your browser to complete Sign In": "Vá para o seu navegador para concluir o login",
"Your Element is misconfigured": "Seu Element está desconfigurado",
"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 navegador não consegue rodar %(brand)s",
"%(brand)s uses advanced browser features which aren't supported by your current browser.": "%(brand)s usa funcionalidades avançadas de navegador que não são suportadas pelo seu navegador atual.",
"Powered by Matrix": "Construído com tecnologia Matrix"
}

View File

@@ -6,7 +6,7 @@
"Decentralised, encrypted chat &amp; collaboration powered by [matrix]": "Chat decentralizat, criptat &amp; colaborare propulsata de [matrix]",
"You need to be using HTTPS to place a screen-sharing call.": "Trebuie să folosești HTTPS pentru a plasa un apel de tip screen-sharing.",
"Sign In": "Autentificare",
"Create Account": "Crează un cont",
"Create Account": "Înregistare",
"Explore rooms": "Explorează camerele",
"Invalid configuration: can only specify one of default_server_config, default_server_name, or default_hs_url.": "Configuratie invalida: se poate specifica doar una dintre default_server_config, default_server_name, or default_hs_url.",
"Invalid JSON": "JSON invalid",
@@ -16,23 +16,5 @@
"Please install <chromeLink>Chrome</chromeLink>, <firefoxLink>Firefox</firefoxLink>, or <safariLink>Safari</safariLink> for the best experience.": "Instalati va rog <chromeLink>Chrome</chromeLink>, <firefoxLink>Firefox</firefoxLink>, or <safariLink>Safari</safariLink> pentru o experienta mai buna.",
"I understand the risks and wish to continue": "Inteleg riscul si doresc sa continui",
"Go to element.io": "Acceseaza element.io",
"Failed to start": "Nu reuseste sa porneasca",
"Your Element is misconfigured": "Element-ul tău este configurat necorespunzător",
"Missing indexeddb worker script!": "Scriptul de lucru indexddb lipsește!",
"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.": "Poți continua să folosești browser-ul curent, însă aspectul și experiența câtorva sau tuturor funcțiilor poate fi incorectă.",
"%(brand)s uses advanced browser features which aren't supported by your current browser.": "%(brand)s folosește funcții avansate de browser ce nu sunt suportate de browser-ul dumneavoastră.",
"Your browser can't run %(brand)s": "Browserul tău nu poate rula %(brand)s",
"Use %(brand)s on mobile": "Folosește %(brand)s pe mobil",
"Powered by Matrix": "Bazat pe Matrix",
"Go to your browser to complete Sign In": "Du-te la browser pentru a finaliza Autentificarea",
"Previous/next recently visited room or community": "Precedenta/următoarea cameră sau comunitate vizitată recent",
"Open user settings": "Deschide setările de utilizator",
"Open": "Deschide",
"Download Completed": "Descărcare Completă",
"Unexpected error preparing the app. See console for details.": "Eroare neașteptată în aplicație. Vezi consola pentru detalii.",
"Unable to load config file: please refresh the page to try again.": "Nu se poate încărca fișierul de configurație: vă rugăm sa reîncărcați pagina și să încercați din nou.",
"The message from the parser is: %(message)s": "Mesajul de la parser este: %(message)s",
"Your Element configuration contains invalid JSON. Please correct the problem and reload the page.": "Configurația ta Element conține JSON invalid. Vă rugăm sa corectați problema și să reîncărcați pagina.",
"Invalid configuration: no default server specified.": "Configurație invalidă: niciun server implicit specificat.",
"Switch to space by number": "Comută spațiul folosind un număr"
"Failed to start": "Nu reuseste sa porneasca"
}

View File

@@ -32,6 +32,5 @@
"Open": "Открыть",
"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",
"Use %(brand)s on mobile": "Воспользуйтесь %(brand)s на мобильном телефоне"
"Powered by Matrix": "На технологии Matrix"
}

View File

@@ -1,18 +1,4 @@
{
"Unknown device": "නොදන්නා උපාංගයකි",
"%(appName)s (%(browserName)s, %(osName)s)": "%(appName)s (%(browserName)s, %(osName)s)",
"Welcome to Element": "ඉලමන්ට් වෙත සාදරයෙන් පිළිගනිමු",
"Open": "විවෘත කරන්න",
"Powered by Matrix": "මැට්‍රික්ස් මඟින් බලගන්වා ඇත",
"Sign In": "පිවිසෙන්න",
"Dismiss": "ඉවතලන්න",
"Explore rooms": "කාමර බලන්න",
"Create Account": "ගිණුමක් සාදන්න",
"Failed to start": "ඇරඹීමට අපොහොසත් විය",
"Go to element.io": "element.io වෙත යන්න",
"Your browser can't run %(brand)s": "ඔබගේ අතිරික්සුවට %(brand)s ධාවනය කළ නොහැකිය",
"Unsupported browser": "සහය නොදක්වන අතිරික්සුව කි",
"Go to your browser to complete Sign In": "පිවිසීම සම්පූර්ණ කිරීමට ඔබගේ අතිරික්සුව වෙත යන්න",
"Download Completed": "බාගැනීම සම්පූර්ණයි",
"Open user settings": "පරිශීලක සැකසුම් විවෘත කරන්න"
"Unknown device": "නොදන්නා උපකරණය",
"%(appName)s (%(browserName)s, %(osName)s)": "%(appName)s (%(browserName)s, %(osName)s)"
}

View File

@@ -29,8 +29,7 @@
"Download Completed": "Preberanie dokončené",
"Open": "Otvoriť",
"Your Element is misconfigured": "Váš Element je nesprávne nastavený",
"Your Element configuration contains invalid JSON. Please correct the problem and reload the page.": "Vaša konfigurácia Elementu obsahuje nesprávny údaj JSON. Prosím, opravte chybu a obnovte stránku.",
"Your Element configuration contains invalid JSON. Please correct the problem and reload the page.": "Vaša konfigurácia Elementu obsahuje nesprávne JSON. Prosím, opravte chybu a obnovte stránku.",
"Your browser can't run %(brand)s": "Váš prehliadač nerozbehne %(brand)s",
"%(brand)s uses advanced browser features which aren't supported by your current browser.": "%(brand)s používa pokročilé funkcie prehliadača, ktoré nie sú podporované vaším aktuálnym prehliadačom.",
"Powered by Matrix": "používa protokol Matrix"
"%(brand)s uses advanced browser features which aren't supported by your current browser.": "%(brand)s používa pokročilé funkcie prehliadača, ktoré nie sú podporované vaším aktuálnym prehliadačom."
}

Some files were not shown because too many files have changed in this diff Show More