An open source integration manager for matrix clients, like Element.
Go to file
Tony Stipanic 4954de2a96
Upgrade everything to Angular 12 and more + build changes
This is a very big commit that does an initial job of upgrading everything to the latest version. TSLint gets replaced by ESLint. Instead of plain node, now ts-node is being used. Old modules also get replaced with new ones (mostly ng2 to ngx). Also obsolete configs have been replaced with how it's used today with Angular.

This includes:

* Upgrade to:
** Angular 12
** Typescript 4
** ESLint 7 and replace TSLint
** Bootstrap 5
** Eerything connected to these
* Run with ts-node
* Convert wepack config to angular config
* Remove typescript-ioc
* Update tsconfigs
* Run a git command instead of using a library for sshort hash
* Move assets to a new location align with default Angular settings
* Database migration for new avatarUrl locations
* Simplify Model extension align with newest sequelize version
* Remove breadcrumb hack
* Fix homeserver typo
* A few general fixes that are necessary with newest Typescript rules
* Define Express.User interface
2021-08-29 19:39:43 +02:00
config Add a t2bot MXC URL for the widget 2021-05-06 19:32:54 +01:00
docs Update docs/bigbluebutton.md 2021-05-10 19:38:01 -06:00
scripts refactor: reduce the size of the docker container 2020-04-09 09:45:23 +02:00
src Upgrade everything to Angular 12 and more + build changes 2021-08-29 19:39:43 +02:00
web Upgrade everything to Angular 12 and more + build changes 2021-08-29 19:39:43 +02:00
.dockerignore Add a dockerignore and README instruction for Docker 2018-07-20 18:30:08 -06:00
.eslintignore Upgrade everything to Angular 12 and more + build changes 2021-08-29 19:39:43 +02:00
.eslintrc.json Upgrade everything to Angular 12 and more + build changes 2021-08-29 19:39:43 +02:00
.gitignore Verify the utility user belongs to a dedicated user 2019-03-20 21:24:16 -06:00
.travis.yml Update linting to include the web project as well 2018-03-23 21:29:48 -06:00
angular.json Upgrade everything to Angular 12 and more + build changes 2021-08-29 19:39:43 +02:00
DEVELOPMENT.md Riot -> Element 2020-07-15 18:24:23 -06:00
docker-entrypoint.sh refactor: reduce the size of the docker container 2020-04-09 09:45:23 +02:00
Dockerfile create /data and give ownership to node user 2020-12-29 09:38:22 +01:00
karma.conf.js Upgrade everything to Angular 12 and more + build changes 2021-08-29 19:39:43 +02:00
LICENSE Initial commit 2017-05-25 15:41:56 -06:00
package-lock.json Upgrade everything to Angular 12 and more + build changes 2021-08-29 19:39:43 +02:00
package.json Upgrade everything to Angular 12 and more + build changes 2021-08-29 19:39:43 +02:00
postcss.config.js Upgrade dependencies to be nodejs 6.11 & npm5 compatible 2017-06-25 21:57:13 -06:00
proxy.conf.json Upgrade everything to Angular 12 and more + build changes 2021-08-29 19:39:43 +02:00
README.md Riot -> Element 2020-07-15 18:24:23 -06:00
tsconfig.app.json Upgrade everything to Angular 12 and more + build changes 2021-08-29 19:39:43 +02:00
tsconfig.backend.json Upgrade everything to Angular 12 and more + build changes 2021-08-29 19:39:43 +02:00
tsconfig.json Upgrade everything to Angular 12 and more + build changes 2021-08-29 19:39:43 +02:00
tsconfig.spec.json Upgrade everything to Angular 12 and more + build changes 2021-08-29 19:39:43 +02:00

dimension

TravisCI badge

An open source integration manager for matrix clients, like Element. For help and support, please visit us in #dimension:t2bot.io on Matrix.

Installing Dimension / Running your own

See docs/installing.md for more information on running Dimension.

"Could not contact integrations server" error

  1. Check that federation is enabled and working on your homeserver. If you're not intentionally running Dimension in a non-federated environment, make sure that your homeserver is configured correctly. If you are running in a non-federated environment, consult docs/unfederated.md.
  2. Check your SRV records and .well-known delegation. If you are using SRV records to point to your federation port, make sure that the hostname and port are correct, and that HTTPS is listening on that port. Dimension will use the first record it sees and will only communicate over HTTPS. If you're using .well-known delegation for federation, double check that is set up correctly.
  3. Verify the homeserver information in your configuration. The name, access token, and client/ server API URL all need to be set to point towards your homeserver. It may also be necessary to set the federation URL if you're running a private server.
  4. Run the troubleshooter. If you're on Element, type /addwidget https://dimension.t2bot.io/widgets/manager-test in a private room then click the button.

Do I need an integrations manager?

Integration managers aim to ease a user's interaction with the various services a homeserver may provide. Often times the integrations manager provided by Element, is more than suitable. However, there are a few cases where running your own makes more sense:

  • Wanting to self-host all aspects of your services (client, homeserver, and integrations)
  • Wanting to advertise custom bots specific to your homeserver
  • Corporate or closed environments where the default integration manager won't work

How do integration managers work?

Integration managers sit between your users and your integrations (bots, bridges, etc). It helps guide users through the configuration of your integrations for their rooms. The integrations manager can only manage integrations it is configured for. For example, Modular can only provide configuration for the bridges and bots running on matrix.org, while Dimension can provide configuration for your own bots and bridges.

The infrastructure diagram looks something like this: infrastructure

Development

For more information about working on Dimension, see DEVELOPMENT.md.

License

For information about Dimension's license, please see the LICENSE file included in this repository.