Skip to content

Commit

Permalink
Merge tag 'v1.7.15' into AMP.chat
Browse files Browse the repository at this point in the history
[Full Changelog](element-hq/element-web@v1.7.15-rc.1...v1.7.15)
* Upgrade to React SDK 3.10.0 and JS SDK 9.3.0

Change-Id: I90c26dd1db1efc3540e7a9f1216d660c8c1b786d
  • Loading branch information
awesome-michael committed Jan 4, 2021
2 parents 1262ace + 1b481c2 commit c0cd073
Show file tree
Hide file tree
Showing 48 changed files with 474 additions and 170 deletions.
2 changes: 1 addition & 1 deletion .stylelintrc.js
Original file line number Diff line number Diff line change
Expand Up @@ -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/riot-web/issues/10544
// https://github.com/vector-im/element-web/issues/10544
"ignoreAtRules": ["define-mixin"],
}],
}
Expand Down
3 changes: 3 additions & 0 deletions AUTHORS.rst
Original file line number Diff line number Diff line change
Expand Up @@ -16,3 +16,6 @@ include:

* Alexandr Korsak (https://github.com/oivoodoo)
Improved multiple file uploading

* Thom Cleary (https://github.com/thomcatdotrocks)
Small update for tarball deployment
118 changes: 118 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,121 @@
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)
Expand Down
2 changes: 1 addition & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ FROM node:12 as builder
# images of riot-web develop.
ARG USE_CUSTOM_SDKS=true
ARG REACT_SDK_REPO="https://github.com/awesome-technologies/matrix-react-sdk.git"
ARG REACT_SDK_BRANCH="2020.09.1-amp.chat"
ARG REACT_SDK_BRANCH="2020.12.0-amp.chat"

RUN apt-get update && apt-get install -y git dos2unix \
# These packages are required for building Canvas on architectures like Arm
Expand Down
33 changes: 20 additions & 13 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,14 +39,14 @@ released version of Element:

1. Download the latest version from https://github.com/vector-im/element-web/releases
1. Untar the tarball on your web server
1. Move (or symlink) the `riot-x.x.x` directory to an appropriate name
1. Move (or symlink) the `element-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/riot-release-key.asc.
at https://packages.riot.im/element-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
Expand Down Expand Up @@ -129,14 +129,14 @@ Running from Docker
The Docker image can be used to serve element-web as a web server. The easiest way to use
it is to use the prebuilt image:
```bash
docker run -p 80:80 vectorim/riot-web
docker run -p 80:80 vectorim/element-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
would be:
```bash
docker run -p 80:80 -v /etc/element-web/config.json:/app/config.json vectorim/riot-web
docker run -p 80:80 -v /etc/element-web/config.json:/app/config.json vectorim/element-web
```

To build the image yourself:
Expand Down Expand Up @@ -275,22 +275,29 @@ 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.

**Note**: The build script uses inotify by default on Linux to monitor directories
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.
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`.

To set a new inotify watch limit, execute:
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:

```
$ sudo sysctl fs.inotify.max_user_watches=131072
$ sudo sysctl -p
sudo sysctl fs.inotify.max_user_watches=131072
sudo sysctl fs.inotify.max_user_instances=512
sudo sysctl -p
```

If you wish, you can make this new limit permanent, by executing:
If you wish, you can make the new limits permanent, by executing:

```
$ echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf
$ sudo sysctl -p
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
```

___

When you make changes to `matrix-react-sdk` or `matrix-js-sdk` they should be
Expand Down Expand Up @@ -333,7 +340,7 @@ 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.riot.im/widgets/element-web/-/multi-auto.svg" alt="translationsstatus" width="340">](https://translate.riot.im/engage/element-web/?utm_source=widget)
[<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)

Triaging issues
===============
Expand Down
2 changes: 1 addition & 1 deletion docs/app-load.md
Original file line number Diff line number Diff line change
Expand Up @@ -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, riot-web has a fallback path for running without IDB (and thus rageshake).
+ The success of setting up rageshake is never asserted, element-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:
Expand Down
4 changes: 3 additions & 1 deletion docs/config.md
Original file line number Diff line number Diff line change
Expand Up @@ -152,7 +152,7 @@ decentralised.
Desktop app configuration
=========================

See https://github.com/vector-im/riot-desktop#user-specified-configjson
See https://github.com/vector-im/element-desktop#user-specified-configjson

UI Features
===========
Expand Down Expand Up @@ -192,3 +192,5 @@ Currently, the following UI feature flags are supported:
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.
34 changes: 34 additions & 0 deletions docs/customisations.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
# 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 end of the `plugins` 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.
2 changes: 1 addition & 1 deletion docs/jitsi.md
Original file line number Diff line number Diff line change
Expand Up @@ -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 riot-web 1.6 or newer, set the following on your homeserver's
default, and you are using element-web 1.6 or newer, set the following on your homeserver's
`/.well-known/matrix/client` config:
```json
{
Expand Down
4 changes: 4 additions & 0 deletions docs/labs.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,10 @@ 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.**

## 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).

## New spinner design (`feature_new_spinner`)

Replaces the old spinner image with a new, svg-based one featuring a sleeker design.
Expand Down
2 changes: 1 addition & 1 deletion docs/review.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ When reviewing code, here are some things we look for and also things we avoid:

### Workflow

* Authors should request review from the riot-web team by default (if someone on
* Authors should request review from the element-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
Expand Down
2 changes: 1 addition & 1 deletion docs/skinning thoughts.md
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ other changes:
- skins/vector/themes/foo/css
- skins/vector/themes/foo/img
- skins/vector/themes/foo/fonts
- ideally riot-web would contain almost nothing but skins/vector directory.
- ideally element-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`.

Expand Down
16 changes: 8 additions & 8 deletions docs/translating.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,35 +6,35 @@
- Be able to understand English
- Be able to understand the language you want to translate Element into

## Step 0: Join #riotweb-translations:matrix.org
## Step 0: Join #element-translations:matrix.org

1. Come and join https://matrix.to/#/#riotweb-translations:matrix.org
1. Come and join https://matrix.to/#/#element-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.riot.im and register either via Github or email
1. Head to https://translate.element.io 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.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
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

## How to check if your language already is being translated

Go to https://translate.riot.im/projects/riot-web/ and visit the 2 sub-projects.
Go to https://translate.element.io/projects/element-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.riot.im/projects/riot-web/
1. Head to one of the projects listed https://translate.element.io/projects/element-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.

Head to the explanations under Steb 2b

## Step 2b: Adding a new language

1. Go to one of the projects listed https://translate.riot.im/projects/riot-web/
1. Go to one of the projects listed https://translate.element.io/projects/element-web/
2. Click the ``Start new translation`` button at the bottom
3. Select a language
4. Start translating like in 2a.3
Expand Down
2 changes: 1 addition & 1 deletion element.io/app/deploy.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#!/usr/bin/env python
#
# download and unpack a riot-web tarball.
# download and unpack a element-web tarball.
#
# Allows `bundles` to be extracted to a common directory, and a link to
# config.json to be added.
Expand Down
4 changes: 4 additions & 0 deletions element.io/develop/config.json
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,10 @@
"siteId": 1,
"policyUrl": "https://element.io/cookie-policy"
},
"countly": {
"url": "https://try.count.ly",
"appKey": "8abf1ee15646bc884556b82e5053857904264b66"
},
"roomDirectory": {
"servers": [
"matrix.org"
Expand Down
Loading

0 comments on commit c0cd073

Please sign in to comment.