Compare commits

...

61 Commits

Author SHA1 Message Date
RiotRobot
0bc5a01228 v1.7.25 2021-04-12 15:29:40 +01:00
RiotRobot
95fb11a2b9 Prepare changelog for v1.7.25 2021-04-12 15:29:40 +01:00
RiotRobot
19748762a5 Upgrade matrix-react-sdk to 3.18.0 2021-04-12 15:27:10 +01:00
RiotRobot
d1d6ef55ff Upgrade matrix-js-sdk to 9.11.0 2021-04-12 15:26:37 +01:00
RiotRobot
11ce4fa41b v1.7.25-rc.1 2021-04-07 13:11:55 +01:00
RiotRobot
74b4c91d58 Prepare changelog for v1.7.25-rc.1 2021-04-07 13:11:54 +01:00
RiotRobot
c7d34ae926 Upgrade matrix-react-sdk to 3.18.0-rc.1 2021-04-07 13:09:19 +01:00
RiotRobot
9400bd1fd2 Upgrade matrix-js-sdk to 9.11.0-rc.1 2021-04-07 13:07:02 +01:00
J. Ryan Stinnett
e7301ffd74 Merge pull request #16882 from RiotTranslateBot/weblate-element-web-element-web
Translations update from Weblate
2021-04-07 12:44:56 +01:00
Weblate
43bc270284 Merge branch 'origin/develop' into Weblate. 2021-04-07 11:42:17 +00:00
Hakim Oubouali
46082f63b3 Translated using Weblate (Central Atlas Tamazight)
Currently translated at 39.3% (13 of 33 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/tzm/
2021-04-05 01:34:17 +00:00
Travis Ralston
3f0f077ced Merge pull request #16838 from vector-im/revert-16698-gzip-static
Revert "Docker image: serve pre-compressed assets using gzip_static"
2021-04-01 07:26:03 -06:00
Travis Ralston
dfa70b0637 Revert "Docker image: serve pre-compressed assets using gzip_static" 2021-03-31 17:59:39 -06:00
Germain
184efbbc44 Merge pull request #16814 from vector-im/gsouquet-docs 2021-03-31 12:51:40 +01:00
Germain
a9db513352 Update docs/native-node-modules.md
Co-authored-by: J. Ryan Stinnett <jryans@gmail.com>
2021-03-29 18:07:45 +01:00
Germain Souquet
1ea1d29d3e Move native node modules documentation to element-desktop 2021-03-29 15:59:21 +01:00
RiotRobot
ff74d3ce13 Reset matrix-react-sdk back to develop branch 2021-03-29 13:45:49 +01:00
RiotRobot
75f840a214 Reset matrix-js-sdk back to develop branch 2021-03-29 13:45:37 +01:00
RiotRobot
fd85d3f33d Merge branch 'master' into develop 2021-03-29 13:45:26 +01:00
RiotRobot
ac15f2755c v1.7.24 2021-03-29 13:42:29 +01:00
RiotRobot
d178286e2b Prepare changelog for v1.7.24 2021-03-29 13:42:28 +01:00
RiotRobot
929fa5d59d Upgrade matrix-react-sdk to 3.17.0 2021-03-29 13:38:52 +01:00
RiotRobot
20b1321818 Upgrade matrix-js-sdk to 9.10.0 2021-03-29 13:38:31 +01:00
Germain
47486e84dd Merge pull request #16781 from vector-im/gsouquet-warn-before-exit
Add user settings for warn before exit
2021-03-29 12:07:59 +01:00
RainSlide
83ebda350a Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (33 of 33 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/zh_Hans/
2021-03-29 09:17:03 +00:00
RainSlide
6fa5591cfe Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (33 of 33 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/zh_Hans/
2021-03-26 11:34:14 +00:00
Travis Ralston
a2074cbc02 Merge pull request #16768 from ShadowJonathan/patch-1
Change ISSUE_TEMPLATE bold lines to proper headers
2021-03-25 09:01:11 -06:00
Germain Souquet
1d79f97a7a Add user settings for warn before exit 2021-03-25 14:15:34 +00:00
J. Ryan Stinnett
57d5206592 Merge pull request #16447 from nielsbasjes/AddK8sExampleConfig
Add example for deployment into Kubernetes
2021-03-25 13:18:14 +00:00
J. Ryan Stinnett
912e7c9f68 Merge pull request #16770 from ShadowJonathan/patch-2
Create bare-bones `PULL_REQUEST_TEMPLATE.md`
2021-03-25 13:13:55 +00:00
RiotRobot
a05c68e8d9 v1.7.24-rc.1 2021-03-25 12:30:33 +00:00
RiotRobot
9063f07b05 Prepare changelog for v1.7.24-rc.1 2021-03-25 12:30:33 +00:00
RiotRobot
a13863714c Upgrade matrix-react-sdk to 3.17.0-rc.1 2021-03-25 12:23:53 +00:00
RiotRobot
5e6ae6a855 Upgrade matrix-js-sdk to 9.10.0-rc.1 2021-03-25 12:23:18 +00:00
Jonathan de Jong
9e15000ea1 Create PULL_REQUEST_TEMPLATE.md 2021-03-24 17:00:59 +01:00
Travis Ralston
6201c3a3f5 Merge pull request #16705 from vector-im/travis/voice-messages/exp
Add webpack config and labs flag docs for voice messages
2021-03-24 09:56:39 -06:00
Jonathan de Jong
88bf562150 Update suggestion-or-feature-request.md 2021-03-24 16:53:08 +01:00
J. Ryan Stinnett
c5cff11fba Merge pull request #16766 from RiotTranslateBot/weblate-element-web-element-web
Translations update from Weblate
2021-03-24 15:48:51 +00:00
Weblate
11d02f68da Merge branch 'origin/develop' into Weblate. 2021-03-24 15:47:50 +00:00
RainSlide
61ad5409ea Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (33 of 33 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/zh_Hans/
2021-03-24 15:47:48 +00:00
Travis Ralston
8ad5640ece Merge pull request #16698 from kvadevack/gzip-static
Docker image: serve pre-compressed assets using gzip_static
2021-03-23 19:06:22 -06:00
Travis Ralston
4eb7c1bc00 Add docs for where the worker comes from 2021-03-23 18:29:26 -06:00
waclaw66
54513158b9 Translated using Weblate (Czech)
Currently translated at 100.0% (33 of 33 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/cs/
2021-03-23 20:34:13 +00:00
Travis Ralston
0a793d23be Merge pull request #16732 from vector-im/travis/style-lint
Fix style lint issues
2021-03-23 07:31:53 -06:00
Niels Basjes
281236432a Provide documentation on how to run on Kubernetes 2021-03-23 11:55:11 +01:00
Germain
b211407b76 Updated expected webpack output in setup guide
Updated expected webpack output in setup guide
2021-03-22 15:50:49 +00:00
Germain
740bf51e46 Updated expected webpack output in setup guide 2021-03-22 12:39:26 +00:00
Travis Ralston
c854769440 Colour codes are difficult 2021-03-19 16:31:24 -06:00
Travis Ralston
0c7baa46f4 Fix style lint issues 2021-03-19 16:24:32 -06:00
Travis Ralston
a1c602c98e Merge pull request #16468 from vector-im/travis/welcome-login
Docs for `loginForWelcome`
2021-03-19 09:12:42 -06:00
Travis Ralston
025225a899 Merge pull request #16697 from vector-im/travis/no-persist-logs
Disable rageshake persistence if no logs would be submitted
2021-03-18 07:55:53 -06:00
Travis Ralston
146ed151dd Add docs for labs flag 2021-03-16 23:24:26 -06:00
Travis Ralston
cd2dda268f Add webpack config for opus-recorder worker 2021-03-16 22:58:50 -06:00
Martin Häger
b8b8a5ee85 Docker image: serve pre-compressed assets using gzip_static
Signed-off-by: Martin Häger <martin.haeger@gmail.com>
2021-03-16 22:41:43 +01:00
Travis Ralston
a76c4ae943 Disable rageshake persistence if no logs would be submitted
This also delays the persistence until later in the app startup - this is fine for the reasons listed on the partner PR: https://github.com/matrix-org/matrix-react-sdk/pull/5767

Fixes https://github.com/vector-im/element-web/issues/16694
2021-03-16 14:22:06 -06:00
MamasLT
979851ae1b Translated using Weblate (Lithuanian)
Currently translated at 100.0% (33 of 33 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/lt/
2021-03-16 18:34:11 +00:00
Thibault Martin
54b8e93ee4 Translated using Weblate (French)
Currently translated at 100.0% (33 of 33 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/fr/
2021-03-15 17:34:10 +00:00
Graeme Power
92a12b7ac0 Translated using Weblate (Irish)
Currently translated at 100.0% (33 of 33 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/ga/
2021-03-14 16:34:11 +00:00
Sven Grewe
bcf4aaee95 Translated using Weblate (German)
Currently translated at 100.0% (33 of 33 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/de/
2021-03-14 16:34:10 +00:00
libexus
f2b98f14d4 Translated using Weblate (German)
Currently translated at 100.0% (33 of 33 strings)

Translation: Element Web/element-web
Translate-URL: https://translate.element.io/projects/element-web/element-web/de/
2021-03-14 16:34:10 +00:00
Travis Ralston
c6ab8d1d37 Docs for loginForWelcome 2021-02-16 15:19:21 -07:00
23 changed files with 387 additions and 109 deletions

View File

@@ -7,14 +7,14 @@ 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.

3
.github/PULL_REQUEST_TEMPLATE.md vendored Normal file
View File

@@ -0,0 +1,3 @@
<!-- Please read CONTRIBUTING.md before submitting your pull request -->
<!-- Include a Sign-Off at the end of your Pull Request (as described in CONTRIBUTING.md), or on every commit -->

View File

@@ -1,3 +1,55 @@
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)

View File

@@ -202,6 +202,12 @@ 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
===========
@@ -298,15 +304,10 @@ yarn start
Wait a few seconds for the initial build to finish; you should see something like:
```
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
[element-js] <s> [webpack.Progress] 100%
[element-js]
[element-js] 「wdm」: 1840 modules
[element-js] 「wdm」: Compiled successfully.
```
Remember, the command will not terminate since it runs the web server
and rebuilds source files when they change. This development server also

View File

@@ -72,6 +72,9 @@ 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.

189
docs/kubernetes.md Normal file
View File

@@ -0,0 +1,189 @@
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": {
"feature_new_spinner": false
},
"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

@@ -123,3 +123,10 @@ or feedback for this functionality at this time.
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`) [In Development]
An in-progress implementation of [MSC2516](https://github.com/matrix-org/matrix-doc/pull/2516) to add
[voice messages](https://github.com/vector-im/element-web/issues/1358) to Element. Note that this feature
is currently under active development and therefore is entirely incomplete and may not work at all - it
is not recommended for general use at this time.

View File

@@ -1,60 +1,3 @@
# Native Node Modules
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
This documentation moved to the [`element-desktop`](https://github.com/vector-im/element-desktop/blob/develop/docs/native-node-modules.md) repository.

View File

@@ -1,6 +1,6 @@
{
"name": "element-web",
"version": "1.7.23",
"version": "1.7.25",
"description": "A feature-rich client for Matrix.org",
"author": "New Vector Ltd.",
"repository": {
@@ -58,8 +58,8 @@
"highlight.js": "^10.5.0",
"jsrsasign": "^10.1.5",
"katex": "^0.12.0",
"matrix-js-sdk": "github:matrix-org/matrix-js-sdk#develop",
"matrix-react-sdk": "github:matrix-org/matrix-react-sdk#develop",
"matrix-js-sdk": "9.11.0",
"matrix-react-sdk": "3.18.0",
"matrix-widget-api": "^0.1.0-beta.13",
"olm": "https://packages.matrix.org/npm/olm/olm-3.2.1.tgz",
"prop-types": "^15.7.2",

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

@@ -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": "Zahodit",
"Dismiss": "Zavřít",
"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",

View File

@@ -6,15 +6,15 @@
"Welcome to Element": "Willkommen bei Element",
"Decentralised, encrypted chat &amp; collaboration powered by [matrix]": "Dezentrale, verschlüsselte Chat- &amp; Kollaborationslösung mittels [matrix]",
"Sign In": "Anmelden",
"Create Account": "Account erstellen",
"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.",
"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 in deinen Browser, um die Anmeldung abzuschließen",
"Open user settings": "Öffne Nutzer-Einstellungen",
"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 Worker-Skript!",
"Previous/next recently visited room or community": "Vorheriger/nächster kürzlich besuchter Raum oder Community",
@@ -23,14 +23,14 @@
"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 kann aber sein, dass einige oder alle Funktionen nicht verfügbar stehen oder dass das Aussehen und die Bedienung der Anwendung nicht korrekt 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 deinen aktuellen Browser weiterhin verwenden, es kann aber sein, dass einige oder alle Funktionen nicht verfügbar sind oder dass Aussehen und Bedienung der Anwendung nicht korrekt ist.",
"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 Element Konfiguration enthält ungültiges JSON. Bitte korrigiere das Problem und lade die Seite neu.",
"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 Ihrem aktuellen 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 deinem 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"
}

View File

@@ -7,7 +7,7 @@
"Decentralised, encrypted chat &amp; collaboration powered by [matrix]": "Messagerie et collaboration décentralisées et chiffrées, propulsées par [matrix]",
"Sign In": "Se connecter",
"Create Account": "Créer un compte",
"Explore rooms": "Explorer les salons",
"Explore rooms": "Parcourir 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: no default server specified.": "Configuration invalide : aucun serveur par défaut spécifié.",

View File

@@ -7,5 +7,30 @@
"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í"
"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"
}

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",

View File

@@ -10,5 +10,6 @@
"Unknown device": "Allal arussin",
"Open user settings": "Ṛẓem tisɣal n unessemres",
"Dismiss": "Nexxel",
"Open": "Ṛẓem"
"Open": "Ṛẓem",
"The message from the parser is: %(message)s": "Tuzint seg tasna: %(message)s"
}

View File

@@ -1,12 +1,12 @@
{
"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] 驱动",
"Sign In": "登",
"Create Account": "创建账",
"Decentralised, encrypted chat &amp; collaboration powered by [matrix]": "去中心化、加密聊天与协作,由 [matrix] 驱动",
"Sign In": "登",
"Create Account": "创建账",
"Explore rooms": "探索聊天室",
"The message from the parser is: %(message)s": "语法分析器的信息:%(message)s",
"Invalid JSON": "无效的 JSON",
@@ -17,20 +17,20 @@
"Unable to load config file: please refresh the page to try again.": "无法加载配置文件:请再次刷新页面。",
"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": "您的浏览器完成登录",
"%(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": "不支持的浏览器",
"Please install <chromeLink>Chrome</chromeLink>, <firefoxLink>Firefox</firefoxLink>, or <safariLink>Safari</safariLink> for the best experience.": "请安装 <chromeLink>Chrome</chromeLink>、<firefoxLink>Firefox</firefoxLink> 或 <safariLink>Safari</safariLink> 以获得最佳体验。",
"You can continue using your current browser, but some or all features may not work and the look and feel of the application may be incorrect.": "您可以继续使用您目前的浏览器,但部分或全部的功能可能无法正常工作,应用程序的外观可能也看起来不正确。",
"I understand the risks and wish to continue": "我了解风险并希望继续",
"Go to element.io": " element.io",
"Go to element.io": "前往 element.io",
"Failed to start": "启动失败",
"Your Element is misconfigured": "Element 配置错误",
"Your Element configuration contains invalid JSON. Please correct the problem and reload the page.": "Element 配置文件中包含无效的JSON请改正错误并重新加载页面。",
"Your Element configuration contains invalid JSON. Please correct the problem and reload the page.": "Element 配置文件中包含无效的 JSON请改正错误并重新加载页面。",
"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调用的高级浏览器特性。",
"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 驱动"
}

View File

@@ -92,6 +92,7 @@ async function start() {
// load init.ts async so that its code is not executed immediately and we can catch any exceptions
const {
rageshakePromise,
setupLogStorage,
preparePlatform,
loadOlm,
loadConfig,
@@ -138,6 +139,9 @@ async function start() {
await settled(loadConfigPromise); // wait for it to settle
// keep initialising so that we can show any possible error with as many features (theme, i18n) as possible
// now that the config is ready, try to persist logs
const persistLogsPromise = setupLogStorage();
// Load language after loading config.json so that settingsDefaults.language can be applied
const loadLanguagePromise = loadLanguage();
// as quickly as we possibly can, set a default theme...
@@ -197,6 +201,11 @@ async function start() {
await loadThemePromise;
await loadLanguagePromise;
// We don't care if the log persistence made it through successfully, but we do want to
// make sure it had a chance to load before we move on. It's prepared much higher up in
// the process, making this the first time we check that it did something.
await settled(persistLogsPromise);
// Finally, load the app. All of the other react-sdk imports are in this file which causes the skinner to
// run on the components.
await loadApp(fragparts.params);

View File

@@ -33,7 +33,7 @@ import PlatformPeg from "matrix-react-sdk/src/PlatformPeg";
import SdkConfig from "matrix-react-sdk/src/SdkConfig";
import {setTheme} from "matrix-react-sdk/src/theme";
import { initRageshake } from "./rageshakesetup";
import {initRageshake, initRageshakeStore} from "./rageshakesetup";
export const rageshakePromise = initRageshake();
@@ -51,6 +51,14 @@ export function preparePlatform() {
}
}
export function setupLogStorage() {
if (SdkConfig.get().bug_report_endpoint_url) {
return initRageshakeStore();
}
console.warn("No bug report endpoint set - logs will not be persisted");
return Promise.resolve();
}
export async function loadConfig() {
// XXX: We call this twice, once here and once in MatrixChat as a prop. We call it here to ensure
// granular settings are loaded correctly and to avoid duplicating the override logic for the theme.

View File

@@ -399,6 +399,18 @@ export default class ElectronPlatform extends VectorBasePlatform {
return this._ipcCall('setAutoLaunchEnabled', enabled);
}
supportsWarnBeforeExit(): boolean {
return true;
}
async shouldWarnBeforeExit(): Promise<boolean> {
return this._ipcCall('shouldWarnBeforeExit');
}
async setWarnBeforeExit(enabled: boolean): Promise<void> {
return this._ipcCall('setWarnBeforeExit', enabled);
}
supportsAutoHideMenuBar(): boolean {
// This is irelevant on Mac as Menu bars don't live in the app window
return !isMac;

View File

@@ -31,7 +31,8 @@ import SdkConfig from "matrix-react-sdk/src/SdkConfig";
import sendBugReport from "matrix-react-sdk/src/rageshake/submit-rageshake";
export function initRageshake() {
const prom = rageshake.init();
// we manually check persistence for rageshakes ourselves
const prom = rageshake.init(/*setUpPersistence=*/false);
prom.then(() => {
console.log("Initialised rageshake.");
console.log("To fix line numbers in Chrome: " +
@@ -50,6 +51,10 @@ export function initRageshake() {
return prom;
}
export function initRageshakeStore() {
return rageshake.tryInitStorage();
}
window.mxSendRageshake = function(text: string, withLogs?: boolean) {
const url = SdkConfig.get().bug_report_endpoint_url;
if (!url) {

View File

@@ -252,6 +252,18 @@ module.exports = (env, argv) => {
outputPath: '.',
},
},
{
// Fix up the name of the opus-recorder worker (react-sdk dependency).
// We more or less just want it to be clear it's for opus and not something else.
test: /encoderWorker\.min\.js$/,
loader: "file-loader",
type: "javascript/auto", // https://github.com/webpack/webpack/issues/6725
options: {
// We deliberately override the name so it makes sense in debugging
name: 'opus-encoderWorker.min.[hash:7].[ext]',
outputPath: '.',
},
},
{
// cache-bust languages.json file placed in
// element-web/webapp/i18n during build by copy-res.js

View File

@@ -7506,9 +7506,10 @@ mathml-tag-names@^2.1.3:
resolved "https://registry.yarnpkg.com/mathml-tag-names/-/mathml-tag-names-2.1.3.tgz#4ddadd67308e780cf16a47685878ee27b736a0a3"
integrity sha512-APMBEanjybaPzUrfqU0IMU5I0AswKMH7k8OTLs0vvV4KZpExkTkY87nR/zpbuTPj+gARop7aGUbl11pnDfW6xg==
"matrix-js-sdk@github:matrix-org/matrix-js-sdk#develop":
version "9.9.0"
resolved "https://codeload.github.com/matrix-org/matrix-js-sdk/tar.gz/cd38fb9b4c349eb31feac14e806e710bf6431b72"
matrix-js-sdk@9.11.0:
version "9.11.0"
resolved "https://registry.yarnpkg.com/matrix-js-sdk/-/matrix-js-sdk-9.11.0.tgz#57ba60dfbcf2b32917eb6d7232d0e81cf0de0d3a"
integrity sha512-wP28ybOxyQ7lbC48QddRORYr8atEwbTqDOsu8H6u9jTTgB2qqczI/bkSoXHtutODuSeLY5x0UuwLcxVCy4yxVQ==
dependencies:
"@babel/runtime" "^7.12.5"
another-json "^0.2.0"
@@ -7528,9 +7529,10 @@ matrix-mock-request@^1.2.3:
bluebird "^3.5.0"
expect "^1.20.2"
"matrix-react-sdk@github:matrix-org/matrix-react-sdk#develop":
version "3.16.0"
resolved "https://codeload.github.com/matrix-org/matrix-react-sdk/tar.gz/3154dd6cd441b7710a525e75512e1665adf60746"
matrix-react-sdk@3.18.0:
version "3.18.0"
resolved "https://registry.yarnpkg.com/matrix-react-sdk/-/matrix-react-sdk-3.18.0.tgz#119b0a908974e46ad9973aa7c4ea10ee06fab2b4"
integrity sha512-RkivwI4Rv+l93tmj3GK1XDK9hGAoIILcQZ+rr1cQ1AymmFSwF/mQLVJICewLZCcp2FP9osJg75/JbmPBaurxdw==
dependencies:
"@babel/runtime" "^7.12.5"
await-lock "^2.1.0"
@@ -7558,9 +7560,10 @@ matrix-mock-request@^1.2.3:
katex "^0.12.0"
linkifyjs "^2.1.9"
lodash "^4.17.20"
matrix-js-sdk "github:matrix-org/matrix-js-sdk#develop"
matrix-js-sdk "9.11.0"
matrix-widget-api "^0.1.0-beta.13"
minimist "^1.2.5"
opus-recorder "^8.0.3"
pako "^2.0.3"
parse5 "^6.0.1"
png-chunks-extract "^1.0.0"
@@ -8468,6 +8471,11 @@ optionator@^0.9.1:
type-check "^0.4.0"
word-wrap "^1.2.3"
opus-recorder@^8.0.3:
version "8.0.3"
resolved "https://registry.yarnpkg.com/opus-recorder/-/opus-recorder-8.0.3.tgz#f7b44f8f68500c9b96a15042a69f915fd9c1716d"
integrity sha512-8vXGiRwlJAavT9D3yYzukNVXQ8vEcKHcsQL/zXO24DQtJ0PLXvoPHNQPJrbMCdB4ypJgWDExvHF4JitQDL7dng==
original@^1.0.0:
version "1.0.2"
resolved "https://registry.yarnpkg.com/original/-/original-1.0.2.tgz#e442a61cffe1c5fd20a65f3261c26663b303f25f"