Commit Graph

209 Commits

Author SHA1 Message Date
Travis Ralston
1e437a2f8b Add ability to add self-hosted IRC bridges 2018-03-31 11:45:19 -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
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
606b6d9f56 Front end for travis-ci self-service management
TODO:
* Backend (needs research)
* Webhook URL (probably proxy this)
2018-03-28 22:18:33 -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
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
b5aec06c04 Add a dialog for configuring simple bots 2018-03-25 19:17:09 -06:00
Travis Ralston
87121150cc Support removing simple bots from rooms 2018-03-25 16:20:15 -06:00
Travis Ralston
017f5e00cd Appease the linter 2018-03-25 13:21:53 -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
04bfccc95f Consider the lack of membership event as not being in the room 2018-03-25 13:12:00 -06:00
Travis Ralston
d4166477f0 Add a log statement to identify Dimension in Riot's logs 2018-03-25 13:11:41 -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
a5173fff85 Remove wikipedia from the list of bots with a configuration screen
Wikipedia doesn't have any additional configuration in go-neb
2018-03-24 21:57:14 -06:00
Travis Ralston
6b4f33de24 Add the configuration screen for Imgur 2018-03-24 21:55:35 -06:00
Travis Ralston
0ccd0cbb81 Add the configuration screen for Google 2018-03-24 21:50:30 -06:00
Travis Ralston
d00058cbff Add the configuration screen for Guggy 2018-03-24 21:44:05 -06:00
Travis Ralston
21aba80f54 Add the configuration screen for Giphy 2018-03-24 21:17:44 -06:00
Travis Ralston
18a2d63b6f Update the infrastructure diagram 2018-03-24 20:03:20 -06:00
Travis Ralston
03f71a6b0f Update the homepage and branding 2018-03-24 19:58:01 -06:00
Travis Ralston
0d520a763f Update webapp to match naming angular naming conventions 2018-03-24 17:16:52 -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
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
51810cce8f Fix not being able to edit go-neb instances
The linter required us to use === later on, but this breaks the navigation. We now cast the parameter.
2018-03-24 12:19:29 -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
656d208059 Minor styling improvements for widget configuration pages 2018-03-23 22:13:15 -06:00
Travis Ralston
fa7fb651c0 Bring the ibox chevron in a little bit, and always display it as a down arrow 2018-03-23 22:12:59 -06:00
Travis Ralston
2e5530179b Add some animation to the iboxes 2018-03-23 22:12:34 -06:00
Travis Ralston
73acbb586f Update linting to include the web project as well 2018-03-23 21:29:48 -06:00
Travis Ralston
51740308a2 Fix a bug where all bots are considered handled 2018-03-23 20:15:59 -06:00
Travis Ralston
42315de8df List the enabled bots on the go-neb page 2018-03-23 20:15:51 -06:00
Travis Ralston
51ea270fba Adjust the widget configuration button alignment to be better aligned
Using `top` was really just a hack
2018-03-23 20:15:29 -06:00
Travis Ralston
b8591b51e4 Fix the edit button alignment on the self-hosted bot configuration 2018-03-23 20:15:03 -06:00
Travis Ralston
9a62b34fb7 Fix type parameters coming from parsed URLs 2018-03-22 12:55:50 -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
8b3f6e37ce Support configuring the upstream go-neb bots 2017-12-28 18:22:50 -07:00
Travis Ralston
0a6c8b7037 Start of support for go-neb via appservices 2017-12-24 02:03:02 -07:00
Travis Ralston
3f694c2b28 Admin section for enabling, disabling, and configuring widgets 2017-12-23 21:44:04 -07:00
Travis Ralston
441bef5606 Add a landing page of sorts to the admin section 2017-12-23 19:46:07 -07:00
Travis Ralston
3f0f816007 Start of an admin section 2017-12-23 18:47:41 -07:00
Travis Ralston
ffdb09d028 Update homepage and branding 2017-12-23 16:20:59 -07:00
Travis Ralston
941524f43c Add video widgets 2017-12-23 15:30:57 -07:00
Travis Ralston
2bf7841290 Add twitch livestreams 2017-12-23 15:03:24 -07:00
Travis Ralston
a72177b530 Add jitsi widgets 2017-12-23 14:16:22 -07:00
Travis Ralston
41c887f390 Add google docs configuration 2017-12-23 13:44:19 -07:00
Travis Ralston
2fbd655c46 Add google calendar configuration 2017-12-23 13:32:07 -07:00
Travis Ralston
00b7ddcc1a Fix auto-expanding the edit screen for widgets 2017-12-23 13:17:29 -07:00
Travis Ralston
fce6f2174a Add etherpad widget configuration 2017-12-23 13:16:05 -07:00
Travis Ralston
7fd674a8ff Remove legacy configurations for now 2017-12-23 13:15:54 -07:00
Travis Ralston
111423cc7d Move widget configuration template out to its own component 2017-12-22 23:30:42 -07:00
Travis Ralston
1407718999 Upgrade to font awesome 5 (free) 2017-12-22 23:19:30 -07:00
Travis Ralston
faeea3b3a5 Appease the linter some more 2017-12-22 22:17:09 -07:00
Travis Ralston
290e244a4e Actually remove widgets when requested 2017-12-22 22:02:52 -07:00
Travis Ralston
c95ab2bbb2 Use templating for the edit/add views 2017-12-22 21:52:32 -07:00
Travis Ralston
0b63c8eb85 Make the whole box title clickable 2017-12-22 21:44:21 -07:00
Travis Ralston
63a3b6b4c2 Fix edit widget button 2017-12-22 21:42:43 -07:00
Travis Ralston
dd02c6df2c Custom widget edit screen 2017-12-22 21:33:37 -07:00
Travis Ralston
6740571183 Prepare UI for editing of integrations 2017-12-22 21:11:27 -07:00
Travis Ralston
fac404e16f Custom widgets are custom now 2017-12-20 21:47:35 -07:00
Travis Ralston
26530b1bec Use FA close icon 2017-12-20 21:39:06 -07:00
Travis Ralston
4965b61f2d Re-wire the UI to support the new backend
This still doesn't allow editing, but it supports showing the widgets at least.
2017-12-20 21:28:43 -07:00
Travis Ralston
826364e803 Re-implement the Scalar API in typescript
This is part of a rewrite for Dimension to better support integrations. Only the bare minimum scalar APIs are implemented at this point - dimension is non-functional.
2017-12-17 19:22:13 -07:00
Travis Ralston
7a8b27fa22 Update icons
The new custom widget icon is safe to use in a commercial setting. Licensed under the repo's license.
2017-12-15 22:35:57 -07:00
Travis Ralston
3a517be0c1 Styling for integration hover 2017-12-15 22:27:20 -07:00
Travis Ralston
e3a32679c9 Fix circle ci for new project layout 2017-12-15 21:23:57 -07:00
Travis Ralston
da01e93ac6 Merge branch 'master' into travis/ui-refresh 2017-12-15 21:23:02 -07:00
Travis Ralston
a09a4d6b51 Styling for widgets (mostly) 2017-12-15 21:22:34 -07:00
MTRNord
17d6ab8367 Add CircleCI Integration
Signed-off-by: MTRNord <mtrnord1@gmail.com>
2017-12-15 14:13:45 +01:00
Travis Ralston
ebe0048710 Use the correct title when we're also handling redirects and scalar tokens 2017-12-15 00:38:27 -07:00
Travis Ralston
b7002ea4d6 Dynamic page titles 2017-12-15 00:33:32 -07:00
Travis Ralston
d02830e170 Generify some widget wrappers 2017-12-14 23:52:36 -07:00
Travis Ralston
e8f1167ec2 Organize the shared folder a bit 2017-12-14 23:46:17 -07:00
Travis Ralston
86a4d8dac2 Set up the correct routing and preparations for the "Riot" version of Dimension 2017-12-14 23:41:56 -07: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
618d6f44ee Use the scalar-defined widget types instead of our custom ones 2017-12-13 22:57:58 -07:00
Travis Ralston
983a2784c5 Use the new confId parameter 2017-12-13 22:57:39 -07:00
Travis Ralston
64a841f450 Don't assume we have a title 2017-12-13 22:56:59 -07:00
Travis Ralston
9ff1443878 Refactor how widgets are created/edited in the frontend
Creating and editing widgets is now done against the `dimension` object on a widget. This special object is used to translate the widget between the dirty and persisted states.
2017-12-13 22:44:20 -07:00
Travis Ralston
fd5e367146 Add google calendar widget
Adds #135
Icon source: https://gsuite.google.com/setup/resources/logos/
2017-12-11 17:29:57 -07:00
Travis Ralston
db2dcb459f Add google docs widget
Adds #90
2017-12-11 16:43:50 -07:00
Travis Ralston
ff1653b392 Add google docs icon
Usage is in line with Google's current branding
2017-12-11 16:43:33 -07:00
Travis Ralston
3cf06845a3 Update youtube icon
Source: https://www.youtube.com/yt/about/brand-resources/
2017-12-11 16:19:41 -07:00
Travis Ralston
dcba48d8b7 Update wikipedia icon
Usage is in line with Wikipedia's current branding
2017-12-11 16:16:44 -07:00
Travis Ralston
a9ee14d534 Update twitch icon
Source: https://www.twitch.tv/p/brand/
2017-12-11 16:14:13 -07:00
Travis Ralston
407454b983 Update travis ci icon
Source: https://travis-ci.com/logo
2017-12-11 16:13:16 -07:00
Travis Ralston
e136055120 Update rss icon
Source: http://www.iconarchive.com/show/simple-icons-by-danleech/rss-icon.html
2017-12-11 16:10:38 -07:00
Travis Ralston
24f01bd41a Update pollbot icon
It's the same icon that @pollbot:t2bot.io uses as an avatar
2017-12-11 16:06:39 -07:00
Travis Ralston
f548199ca0 Update jitsi icon
Usage is in line with Jitsi's current branding
2017-12-11 16:02:04 -07:00
Travis Ralston
ff6c87fdc5 Update IRC icon
Made specifically for Dimension, under the same license as the project.
2017-12-11 16:00:45 -07:00
Travis Ralston
ce5b44b484 Update imgur icon
Usage is in line with Imgur's current branding.
2017-12-11 15:53:07 -07:00
Travis Ralston
dc3379c53b Update guggy icon
Guggy's updated brand is now a fish.
2017-12-11 15:51:56 -07:00
Travis Ralston
c118bbada2 Update google icon
Usage is in line with Google's current branding.
2017-12-11 15:47:47 -07:00
Travis Ralston
df727cca4c Update giphy icon
Usage is in line with giphy's current branding.
2017-12-11 15:46:12 -07:00
Travis Ralston
71ec746ac5 Update etherpad icon
Source: etherpad.org
2017-12-11 15:42:50 -07:00
Travis Ralston
3e6a2752e5 Update github logo
Source: https://github.com/logos
2017-12-11 15:42:47 -07:00
Travis Ralston
84bcc64e30 Use avatars from the integration configurations 2017-12-11 15:42:42 -07:00
Travis Ralston
41e6dd078d Check for positive response for can_send_event earlier 2017-12-10 03:21:05 -07:00