Commit Graph

167 Commits

Author SHA1 Message Date
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
turt2live
0406a69b86 Add backend for simple widgets (custom)
This is a start on #91

TODO:
* Special case widgets in the front end
* Check permissions for widgets (can_send_event)
* Treat existing widgets as editable integrations (with an "Add Widget" for adding multiples)
* Figure out UI for laying this all out
2017-08-27 23:02:36 -06:00
turt2live
3f360cb4ab Add Travis CI integration (scalar)
Adds #15
2017-08-27 19:05:38 -06:00
turt2live
7cee8c99c4 Lookup SRV records when trying to get open ID information
Fixes #58
2017-08-26 23:49:27 -06:00
turt2live
14db62ad31 docs 2017-06-10 19:10:47 -06:00
turt2live
3426429105 Automatic refresh of IRC links 2017-06-10 19:09:51 -06:00
turt2live
76ebdf043c IRC channel linking and unlinking 2017-06-10 18:58:05 -06:00
turt2live
30cfe080ce Start of the IRC bridge config: Pull networks and channels
TODO: 
* Provisioning support (IRC API)
* Deprovisioning support (IRC API)
* Ops query (IRC API)
* State update interval
2017-06-09 20:21:06 -06:00
turt2live
58feb07119 Support vector's RSS bot. Adds #13
This has a side effect of adding #23 as well. A more performant caching method is probably needed (as this doesn't cache at all).
2017-05-28 22:51:04 -06:00
turt2live
3aa60b66a6 Remove integrations by type instead of by user ID
This is because the user ID might not exist for the integration (such as the case for RSS).
2017-05-28 17:39:02 -06:00
turt2live
574c24bcd6 Restructure backend integrations to better support the various types 2017-05-28 17:13:03 -06:00
turt2live
ebc77b7a07 Backend support for the RSS bot.
Part of #13
2017-05-28 14:33:57 -06:00
turt2live
35559c9373 Change up bot structure to support hosted bots. Adds #12 2017-05-28 00:41:00 -06:00
turt2live
4c3c66ec00 Handle routes a little nicer 2017-05-27 18:25:35 -06:00
turt2live
16e28019bc Support adding/removing matrix.org's simple bots.
This adds #11
2017-05-27 17:45:07 -06:00
turt2live
0c51d4424b UI for simple matrix.org bots
Part of #11

Needs actual scalar integration
2017-05-27 01:27:36 -06:00
turt2live
afeb2c7bfe Respond to /register requests from Riot.
Implements #1
2017-05-26 23:08:24 -06:00
turt2live
f031a7833a Let's get this party started: Base structure 2017-05-26 21:51:48 -06:00