Commit Graph

167 Commits

Author SHA1 Message Date
Travis Ralston
363003199a Add an option to force a default jitsi domain on the widget
Fixes https://github.com/turt2live/matrix-dimension/issues/231
2018-12-22 19:30:25 -07:00
Travis Ralston
32a639ef95 Support importing sticker packs from Telegram 2018-12-22 17:37:31 -07:00
Travis Ralston
99e0647cd7 Self-service Slack provisioning
Fixes https://github.com/turt2live/matrix-dimension/issues/5
Fixes https://github.com/turt2live/matrix-dimension/issues/8
2018-10-24 22:51:04 -06:00
Travis Ralston
02e58e7a8d Admin section for Slack bridges 2018-10-24 20:56:38 -06:00
Travis Ralston
83ad75984f Backend structures for Slack bridging
Note that this doesn't include webhook bridging. For now Dimension is going to support event bridging as it is generally recommended. Rooms previously bridged with webhooks will be able to unbridge.
2018-10-24 20:29:39 -06:00
Travis Ralston
97cd39ac4f Appease the linter 2018-10-22 22:38:35 -06:00
Travis Ralston
82343da942 Support simple custom bots
Fixes https://github.com/turt2live/matrix-dimension/issues/165
2018-10-22 22:10:28 -06:00
Travis Ralston
52708afa7c Add Spotify widget
Fixes https://github.com/turt2live/matrix-dimension/issues/133
2018-10-21 17:00:10 -06:00
Travis Ralston
ea834d826a Add TradingView widget
Fixes https://github.com/turt2live/matrix-dimension/issues/132
2018-10-21 16:26:57 -06:00
Travis Ralston
9bdba2d474 Add Grafana widget
Fixes https://github.com/turt2live/matrix-dimension/issues/86
2018-10-21 15:17:21 -06:00
Travis Ralston
edbbd3b8c0 Add the frontend for Gitter bridging
Fixes https://github.com/turt2live/matrix-dimension/issues/4
Fixes https://github.com/turt2live/matrix-dimension/issues/7
2018-10-21 14:20:37 -06:00
Travis Ralston
2e844a707f Add admin section for Gitter bridge configuration 2018-10-21 13:22:55 -06:00
Travis Ralston
5d8857381a Add backend support for self-hosted and matrix.org gitter bridges 2018-10-21 13:00:58 -06:00
Travis Ralston
af095cd801 Clear the correct cache for webhooks 2018-10-21 13:00:09 -06:00
Travis Ralston
509e985061 Linting 2018-10-20 18:59:26 -06:00
Travis Ralston
b8a01cc848 Support the webhooks bridge in private rooms 2018-10-20 18:57:54 -06:00
Travis Ralston
3823788cc2 Add the frontend for self-service of webhooks 2018-10-20 18:33:01 -06:00
Travis Ralston
7b5285cd57 Add the admin section for the webhooks bridge 2018-10-20 14:07:30 -06:00
Travis Ralston
3dad15de72 Fix bad merge 2018-10-20 13:51:05 -06:00
Travis Ralston
2416718065 Merge remote-tracking branch 'origin/master' into travis/webhooks2 2018-10-20 13:19:45 -06:00
Travis Ralston
93b532de44 Add backend support for the webhooks bridge 2018-10-19 21:13:57 -06:00
Travis Ralston
5f0e9fec51 Fix rooms claiming they are bridged when they aren't 2018-10-19 19:34:11 -06:00
Travis Ralston
83c06c8591 Warn the user when they try to bridge chats that are already bridged 2018-10-17 21:37:29 -06:00
Travis Ralston
c0936745c0 Frontend interface for basic bridging and unbridging of chats
Requires https://github.com/tulir/mautrix-telegram/pull/235

Puppeting is scheduled to be handled in https://github.com/turt2live/matrix-dimension/issues/214

The TODO comments about asking for unbridge/permission denied will be handled in a later commit.
2018-10-17 21:09:19 -06:00
Travis Ralston
242ad3bf3a Admin interface for managing Telegram bridges
Currently only one bridge is supported at a time, however in the future we may wish to load balance between bridges or something.
2018-09-16 02:26:10 -06:00
Travis Ralston
c5247ddc0b Support appservice r0 spec 2018-09-16 02:25:17 -06:00
Travis Ralston
edbeeb4e85 Security: Ensure the OpenID subject matches the homeserver 2018-09-08 12:51:08 -06:00
Travis Ralston
2eaa78c1c7 Up the default request limit size
For larger transactions
2018-08-13 20:44:57 -06:00
Travis Ralston
28b3670696 Override the database path in Docker containers 2018-07-21 09:20:47 -06:00
Travis Ralston
8f125f3ba6 Add the official Loading Artist sticker pack 2018-06-19 08:32:40 -06:00
Travis Ralston
ad3c0d7f11 Appease the linter 2018-05-13 22:41:19 -06:00
Travis Ralston
8fa56de2bb Reset the user's cached sticker packs when they (de)select packs
Otherwise we'll display stale packs and the user won't see updates. Part of #156
2018-05-13 22:35:54 -06:00
Travis Ralston
7a0af05ac4 Sticker pack selection (without widget)
This is the UI where the user can pick which stickers they want. This does not add the widget yet though.

Helps towards #156
2018-05-12 23:51:31 -06:00
Travis Ralston
e8274c9d87 Sticker pack administration
The first step towards #156
2018-05-12 21:55:02 -06:00
Travis Ralston
d6b4645cb9 Catch errors from the IRC bridge being down
Fixes #184
2018-05-11 17:48:57 -06:00
Travis Ralston
8f98716217 Use the correct hostname when calling federated servers
Fixes #175
2018-05-06 12:21:40 -06:00
Travis Ralston
39365fd00e Don't crash if widgets are not embeddable 2018-04-01 11:23:55 -06:00
Travis Ralston
981e026f8d Static content is defined in the configure() method 2018-04-01 11:14:59 -06:00
Travis Ralston
43460eef7f Validate that we have a rooms array when modifying feeds 2018-03-31 22:21:06 -06:00
Travis Ralston
a1210761eb Clear the token cache when creating upstreams
Otherwise we'll flood ourselves with token errors in the backend
2018-03-31 22:10:13 -06:00
Travis Ralston
e490007cec Update the profile for self-hosted go-neb instances
Fixes #166
2018-03-31 22:01:23 -06:00
Travis Ralston
766700ffd9 Fix a potential error related to some DNS records 2018-03-31 18:11:34 -06:00
Travis Ralston
84f3977fd4 Serve static content correctly 2018-03-31 18:11:15 -06:00
Travis Ralston
a6dae219a5 Add the missing "embed-ability" api for widgets 2018-03-31 16:38:55 -06:00
Travis Ralston
a73fb53dcb Update documentation and remove extra files 2018-03-31 16:07:19 -06:00
Travis Ralston
9a8041ea38 Self-service removal of channel links 2018-03-31 15:48:20 -06:00
Travis Ralston
f33f7e5716 Self-service requests to bridge IRC channels 2018-03-31 14:37:36 -06:00
Travis Ralston
aa8ec0ed58 API and UI for toggling IRC networks 2018-03-31 11:26:00 -06:00
Travis Ralston
61ca805b19 Initial admin APIs for managing IRC bridges
Missing functionality:
* Toggle networks
* Add self-hosted
2018-03-30 23:12:31 -06:00
Travis Ralston
76931819af Add the shell for configuring IRC bridges 2018-03-30 19:22:15 -06:00
Travis Ralston
bd03db7674 Parse upstream travis-ci configurations correctly 2018-03-30 16:51:10 -06:00
Travis Ralston
ff088e3e49 Add a whole lot more logging to the backend 2018-03-30 16:34:39 -06:00
Travis Ralston
39a71429f3 Add documentation for the backend APIs 2018-03-30 15:17:39 -06:00
Travis Ralston
4365cb0753 Support Travis CI completely
Webhooks are generated eagerly but have lazily set targets so that we can give the user a webhook URL to set in their config. go-neb (upstream & standalone) doesn't give a webhook URL until after the repositories are configured.

Fixes #16
2018-03-30 14:59:25 -06:00
Travis Ralston
6f238fc13f Appease the linter
by actually making the code better
2018-03-29 20:56:08 -06:00
Travis Ralston
3a8167a57a Support saving of travis-ci configuration
For both upstream and self-hosted. What's left is:
* Webhooks (magic proxy through Dimension)
* More instructions on the frontend.
2018-03-29 20:51:49 -06:00
Travis Ralston
71de7987c6 Appease the linter 2018-03-26 21:50:19 -06:00
Travis Ralston
18597db540 Add self-service configuration for the RSS bot
Fixes #14
2018-03-26 21:48:44 -06:00
Travis Ralston
1233be85e9 Add a health endpoint
For monitoring
2018-03-26 18:46:08 -06:00
Travis Ralston
2c1366d9d7 Very early support for configuring complex bots
Using the RSS Bot as an example. Notably missing features:
* Configuration (feeds) not retrieved
* No actual configuration page
2018-03-25 21:02:32 -06:00
Travis Ralston
87121150cc Support removing simple bots from rooms 2018-03-25 16:20:15 -06:00
Travis Ralston
de766ab945 Update the todo list to match the current state of affairs 2018-03-25 15:44:08 -06:00
Travis Ralston
7bfbf626b2 Appease the linter 2018-03-25 13:17:51 -06:00
Travis Ralston
009b510779 Special case each integration, forcing simple bots to go through an NebProxy
This is so the different needs of each can be accounted for. For example, widgets are fairly unrestricted, so nothing really needs to prevent them. Bots on the other hand require an upstream token otherwise we can't get the bot IDs from Modular.
2018-03-25 13:13:50 -06:00
Travis Ralston
947ecd43cd Early support for managing bots in the room
Known drawbacks:
* Cannot remove bots
* Cannot use upstream neb instances
2018-03-25 00:45:57 -06:00
Travis Ralston
dcda2fa46e Translate the Dimension integration types to go-neb types
This only applies to Travis CI and the RSS Bot.
2018-03-24 22:02:40 -06:00
Travis Ralston
21aba80f54 Add the configuration screen for Giphy 2018-03-24 21:17:44 -06:00
Travis Ralston
e5aa16f98c Update todo.txt 2018-03-24 17:17:25 -06:00
Travis Ralston
5d00c72972 Disable Circle CI support for now
When the PR gets merged to go-neb, this can be uncommented and implemented.
2018-03-24 17:10:06 -06:00
Travis Ralston
8cdae3359d Support explicit setting of the federation/client URLs
The client/server URL is needed for go-neb to work correctly, and to remove our complete dependence on federation.

The federation URL is also configurable so servers that don't wish to federate can specify a local address.
2018-03-24 17:09:34 -06:00
Travis Ralston
cc921779ae Appease the linter 2018-03-24 15:05:26 -06:00
Travis Ralston
bc4319da7d Remove unused APIs 2018-03-24 14:54:20 -06:00
Travis Ralston
58f8ca8335 Support provisioning bots in go-neb
This is so far only possible for the bots that don't require additional configuration in go-neb.
2018-03-24 14:54:12 -06:00
Travis Ralston
bebcfa1bba Fix appservice transactions throwing errors
We weren't awaiting the appservice, so the truthy check passes and we get "cannot read property id of undefined" in the REST handler.
2018-03-24 12:20:20 -06:00
Travis Ralston
62d81ed842 Show the appservice configuration after saving; Make the show config button work
Includes the ability to 'test' the appservice. This doesn't bother checking if the URL is set up correctly because we don't actually care about the transactions.
2018-03-24 12:18:38 -06:00
Travis Ralston
7a2627ad76 Move admin routes to their own API namespace 2018-03-23 21:36:43 -06:00
Travis Ralston
7c757a79e6 Use async/await throughout the backend 2018-03-23 21:26:14 -06:00
Travis Ralston
8d6c2dfa00 Convert the frontend to the async/await pattern
We have to drop bluebird to be able to do this.
2018-03-23 21:01:56 -06:00
Travis Ralston
b0de14eb57 Change the Dimension startup to make use of async/await 2018-03-23 20:14:43 -06:00
Travis Ralston
cee2e72a46 Appease the linter 2018-03-21 20:41:39 -06:00
Travis Ralston
74054c3962 Add ability to create self-hosted go-neb instances
They can't be provisioned or configured correctly yet, but they exist.
2018-01-31 16:30:08 -07:00
Travis Ralston
1ae69bc563 Remove old files 2017-12-28 18:25:40 -07:00
Travis Ralston
8b3f6e37ce Support configuring the upstream go-neb bots 2017-12-28 18:22:50 -07:00
Travis Ralston
5314bea52d Database structure for NEB 2017-12-24 14:16:39 -07:00
Travis Ralston
c5b803343e Move app from src-ts to src 2017-12-24 02:28:48 -07:00
Travis Ralston
da01e93ac6 Merge branch 'master' into travis/ui-refresh 2017-12-15 21:23:02 -07:00
MTRNord
6079cb9ce6
Fix wrong names in circleCI impl
Signed-off-by: MTRNord <mtrnord1@gmail.com>
2017-12-15 20:01:40 +01:00
MTRNord
76fafe3305
Add missing src/integration/impl/circleci for the CircleCI integration
Signed-off-by: MTRNord <mtrnord1@gmail.com>
2017-12-15 19:30:35 +01:00
Travis Ralston
b5a8231a7a Update style and layout of header 2017-12-14 23:32:23 -07:00
Travis Ralston
6657d5dbf5 Start of a new UI for Dimension
Integrations need styling and the breadcrumbs don't work. Further, you can't actually add/edit anything.
2017-12-14 21:25:15 -07:00
Travis Ralston
bae890f6bb Redact tokens in logs
Adds #105
2017-12-11 13:30:17 -07:00
Travis Ralston
c0336f65ca Add widget title API
Adds #130

This is backed by a homeserver's media repository.
2017-12-11 13:17:54 -07:00
Travis Ralston
993dcdac21 Add Jitsi screensharing support
Self-hosted Jitsi Meet servers are possible for those running Dimension. The default server is Riot.IM's server.

Adds #87
2017-12-10 01:00:31 -07:00
Travis Ralston
c5146d84ff Make the wrapper more generic in the event we support other wrappers 2017-10-09 20:58:56 -06:00
Travis Ralston
751e1b9c8c Add widget wrapper; Check to ensure content is embeddable
Adds #119
2017-10-09 20:26:46 -06:00
Travis Ralston
2b0e14524d Make note of bots needing to auto-respond to invites 2017-10-08 19:51:29 -06:00
turt2live
f2733b2d26 Allow self-signed certificates on the federation lookup
Fixes #109
2017-09-11 20:58:57 -06:00
turt2live
02c981b070 [BREAKING] Allow possibility of disabling Scalar upstream
This is a breaking change because of the structure change for upstreams. Instead of being an object, it is now a list. Existing configurations are not guaranteed to work.

Adds #108 and starts work on #22 (upstream config).
2017-09-11 20:50:43 -06:00
turt2live
aa075ef9ca Don't overwrite server name in open ID info when doing SRV lookups
Otherwise we don't end up asking for a token for matrix.org, we ask on behalf of matrix.org:8448
2017-09-08 21:12:26 -06:00
turt2live
ab4d5ac76d Always use https when contacting homeserver
Fixes #106
2017-09-08 20:31:56 -06:00