Commit graph

66 commits

Author SHA1 Message Date
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