Add support for redirecting to external pages after logout (#7905)

* Add support for redirecting to external pages after logout

This is primarily useful for deployments where the account is managed and needs to be logged out in other places too, like an SSO system.

See docs for more information.

* Add e2e test and fix Windows instructions

* Fix performance gathering stats

* use logger
This commit is contained in:
Travis Ralston 2022-03-01 11:06:17 -07:00 committed by GitHub
parent ac36234068
commit a5ce1c9dcb
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
9 changed files with 152 additions and 16 deletions

View file

@ -6,26 +6,31 @@ and start following these steps to get going:
1. Navigate to your working directory (`cd /mnt/c/users/travisr/whatever/matrix-react-sdk` for example).
2. Run `sudo apt-get install unzip python3 virtualenv dos2unix`
3. Run `dos2unix ./test/end-to-end-tests/*.sh ./test/end-to-end-tests/synapse/*.sh ./test/end-to-end-tests/element/*.sh`
4. Install NodeJS for ubuntu:
4. Install NodeJS for ubuntu:
```bash
curl -sL https://deb.nodesource.com/setup_12.x | sudo -E bash -
curl -sL https://deb.nodesource.com/setup_16.x | sudo -E bash -
sudo apt-get update
sudo apt-get install nodejs
```
5. Start Element on Windows through `yarn start`
6. While that builds... Run:
5. Run `yarn link` and `yarn install` for all layers from WSL if you haven't already. If you want to switch back to
your Windows host after your tests then you'll need to re-run `yarn install` (and possibly `yarn link`) there too.
Though, do note that you can access `http://localhost:8080` in your Windows-based browser when running webpack in
the WSL environment (it does *not* work the other way around, annoyingly).
6. In WSL, run `yarn start` at the element-web layer to get things going.
7. While that builds... Run:
```bash
sudo apt-get install x11-apps
wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
sudo dpkg -i google-chrome-stable_current_amd64.deb
sudo apt -f install
```
7. Run:
8. Get the IP of your host machine out of WSL: `cat /etc/resolv.conf` - use the nameserver IP.
9. Run:
```bash
cd ./test/end-to-end-tests
./synapse/install.sh
./install.sh
./run.sh --app-url http://localhost:8080 --no-sandbox
./run.sh --app-url http://localhost:8080 --log-directory ./logs
```
Note that using `yarn test:e2e` probably won't work for you. You might also have to use the config.json from the
@ -38,3 +43,4 @@ could probably fix this with enough effort, or you could run a headless Chrome i
Reference material that isn't fully represented in the steps above (but snippets have been borrowed):
* https://virtualizationreview.com/articles/2017/02/08/graphical-programs-on-windows-subsystem-on-linux.aspx
* https://gist.github.com/drexler/d70ab957f964dbef1153d46bd853c775
* https://docs.microsoft.com/en-us/windows/wsl/networking#accessing-windows-networking-apps-from-linux-host-ip