diff --git a/.env b/.env
new file mode 100644
index 0000000..7bc3e94
--- /dev/null
+++ b/.env
@@ -0,0 +1,5 @@
+# This setting allows to fix the homeserver.
+# If you set this setting, the user will not be able to select
+# the server and have to use synapse-admin with this server.
+
+#REACT_APP_SERVER=https://yourmatrixserver.example.com
\ No newline at end of file
diff --git a/.travis.yml b/.travis.yml
index 9f0988f..38d82bd 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,5 +1,5 @@
language: node_js
node_js:
- - 13
+ - lts/*
cache: yarn
diff --git a/README.md b/README.md
index 78112cc..a0a8af1 100644
--- a/README.md
+++ b/README.md
@@ -4,7 +4,7 @@
This project is built using [react-admin](https://marmelab.com/react-admin/).
-It needs at least Synapse v1.27.0 for all functions to work as expected!
+It needs at least Synapse v1.32.0 for all functions to work as expected!
You get your server version with the request `/_synapse/admin/v1/server_version`.
See also [Synapse version API](https://github.com/matrix-org/synapse/blob/develop/docs/admin_api/version_api.rst).
@@ -33,6 +33,11 @@ Steps for 1):
- download dependencies: `yarn install`
- start web server: `yarn start`
+You can fix the homeserver, so that the user can no longer define it himself.
+Either you define it at startup (e.g. `REACT_APP_SERVER=https://yourmatrixserver.example.com yarn start`)
+or by editing it in the [.env](.env) file. See also the
+[documentation](https://create-react-app.dev/docs/adding-custom-environment-variables/).
+
Steps for 2):
- run the Docker container from the public docker registry: `docker run -p 8080:80 awesometechnologies/synapse-admin` or use the (docker-compose.yml)[docker-compose.yml]: `docker-compose up -d`
diff --git a/package.json b/package.json
index b14fe41..ac0fd42 100644
--- a/package.json
+++ b/package.json
@@ -11,16 +11,14 @@
},
"devDependencies": {
"@testing-library/jest-dom": "^5.1.1",
- "@testing-library/react": "^10.0.2",
- "@testing-library/user-event": "^12.0.11",
- "enzyme": "^3.11.0",
- "enzyme-adapter-react-16": "^1.15.2",
- "eslint": "^6.8.0",
- "eslint-config-prettier": "^6.10.1",
+ "@testing-library/react": "^11.2.6",
+ "@testing-library/user-event": "^13.1.8",
+ "eslint": "^7.25.0",
+ "eslint-config-prettier": "^8.3.0",
"eslint-plugin-prettier": "^3.1.2",
"jest-fetch-mock": "^3.0.3",
- "prettier": "^2.0.0",
- "ra-test": "^3.14.0"
+ "prettier": "^2.2.0",
+ "ra-test": "^3.15.0"
},
"dependencies": {
"@progress/kendo-drawing": "^1.6.0",
@@ -30,11 +28,11 @@
"prop-types": "^15.7.2",
"qrcode.react": "^1.0.0",
"ra-language-chinese": "^2.0.10",
- "ra-language-german": "^2.1.2",
+ "ra-language-german": "^3.13.4",
"react": "^17.0.0",
- "react-admin": "^3.14.0",
- "react-dom": "^16.14.0",
- "react-scripts": "^3.4.4"
+ "react-admin": "^3.15.0",
+ "react-dom": "^17.0.2",
+ "react-scripts": "^4.0.0"
},
"scripts": {
"start": "REACT_APP_VERSION=$(git describe --tags) react-scripts start",
diff --git a/src/App.js b/src/App.js
index 46b9b5d..7fc3a5e 100644
--- a/src/App.js
+++ b/src/App.js
@@ -6,6 +6,7 @@ import dataProvider from "./synapse/dataProvider";
import { UserList, UserCreate, UserEdit } from "./components/users";
import { RoomList, RoomCreate, RoomShow, RoomEdit } from "./components/rooms";
import { ReportList, ReportShow } from "./components/EventReports";
+import ImportFeature from "./components/ImportFeature";
import LoginPage from "./components/LoginPage";
import UserIcon from "@material-ui/icons/Group";
import EqualizerIcon from "@material-ui/icons/Equalizer";
@@ -81,6 +82,7 @@ const App = () => (