Commit Graph

358 Commits

Author SHA1 Message Date
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
Travis Ralston
914315ca1d Check if rooms are encrypted to warn users about adding widgets 2017-12-10 03:17:33 -07:00
Travis Ralston
51344656b2 Prevent people from adding widgets in rooms where they have no permission 2017-12-10 02:35:24 -07:00
Travis Ralston
eb59940907 Also support editing Jitsi widgets 2017-12-10 01:08:32 -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
99bc1eb660 Unwrap URL after saving 2017-12-09 16:35:40 -07:00
Travis Ralston
e9aecabab4 Reformat code 2017-12-09 16:34:59 -07:00
Travis Ralston
a45232998a Support custom Etherpad servers 2017-12-09 16:31:48 -07:00
MTRNord
2915f6df0a rework etherpad wrapUrl() hack 2017-11-19 11:34:41 +00:00
MTRNord
6e342f1075 fix etherpad avatar 2017-11-19 09:32:58 +00:00
Marcel
e58d52d6ad
Add etherpad.png avatar 2017-11-18 23:49:26 +01:00
MTRNord
e9f6543d2e prefix etherpad name with roomID 2017-11-18 22:23:43 +00:00
MTRNord
43e16f047b fix etherpad widget editing 2017-11-18 22:05:15 +00:00
MTRNord
95e658e0b9 add initial etherpad Widget logic 2017-11-18 21:33:47 +00:00
MTRNord
6fe4ed88cb Add missing space 2017-11-10 17:49:59 +00:00
Marcel
89c22b31ca
Add twitch.png avatar 2017-11-10 18:42:39 +01:00
MTRNord
1322b12cf6 Add Twitch Widget 2017-11-10 17:31:46 +00:00
Travis Ralston
2d3c140b26 Don't set the data object unless we have data to set.
Fixes #121
2017-10-10 22:32:08 -06:00
Travis Ralston
3eddf325b5 Remove debugging that was left behind 2017-10-10 22:26:35 -06:00
Travis Ralston
c200020e55 Support video widgets (youtube, vimeo, dailymotion)
Adds #89
2017-10-10 20:44:09 -06:00
Travis Ralston
38ac6ec4e9 Linting 2017-10-09 22:00:29 -06:00
Travis Ralston
27abf3ec1d Support the edit widget button
Adds #120
2017-10-09 21:55:45 -06:00
Travis Ralston
aecb1e33d4 Add a fullscreen button to the widget wrapper
Adds #103
2017-10-09 21:24:12 -06: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
turt2live
0b37269014 Reorganize the UI into sections to make it a bit clearer on what everthing is 2017-09-08 20:53:52 -06:00
turt2live
7b8e5c0125 Slight change in avatar for custom widgets 2017-08-28 22:17:47 -06:00
turt2live
c9571576fe Support custom widgets in the frontend
Adds #91
2017-08-28 22:09:00 -06:00
turt2live
91f6bfa7f9 Make tslint happy 2017-08-27 19:12:47 -06:00
turt2live
b5633554cb Merge branch 'travis/github' 2017-08-27 19:06:46 -06:00
turt2live
3f360cb4ab Add Travis CI integration (scalar)
Adds #15
2017-08-27 19:05:38 -06:00
turt2live
7bfcd4f624 Merge branch 'master' into travis/github 2017-08-26 23:26:35 -06:00
turt2live
2f41826fd5 Make the build happy again 2017-08-26 23:26:00 -06:00
turt2live
3b5da30fd1 Merge branch 'master' into travis/github 2017-06-25 22:07:50 -06:00
turt2live
b6b7cc5517 Make dev environment happy again 2017-06-25 22:07:41 -06:00
turt2live
e0f9d3a624 Upgrade dependencies to be nodejs 6.11 & npm5 compatible
Closes #43, #41, #40, and #47
2017-06-25 21:57:13 -06:00
turt2live
27a5191ebe Make all icons 256x256 2017-06-10 22:56:18 -06:00
turt2live
980d1a2cd2 Github templating 2017-06-10 22:42:40 -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
a007e553a5 Change how always-on bridges are represented UI-wise 2017-06-10 14:56:29 -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
a22175ef7a Actually clear the feed url after adding 2017-05-28 23:02:44 -06:00
turt2live
80c62b6eb3 Add missing return 2017-05-28 22:58:14 -06:00
turt2live
e6fed9af5c Clear feed url after adding successfully 2017-05-28 22:57:40 -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
69a0ea8118 Add pollbot. Adds #30 2017-05-28 17:34:18 -06:00
turt2live
9ebd87bd88 Minor layout changes 2017-05-28 14:37:09 -06:00
turt2live
0eb7855cf8 Move integrations to next line if needed 2017-05-28 14:36:22 -06:00
turt2live
ebc77b7a07 Backend support for the RSS bot.
Part of #13
2017-05-28 14:33:57 -06:00
turt2live
5c74989604 Add close button to integrations manager 2017-05-28 00:53:12 -06:00
turt2live
af2f5ba393 Use correct toast when removing an integration 2017-05-28 00:41:18 -06:00
turt2live
35559c9373 Change up bot structure to support hosted bots. Adds #12 2017-05-28 00:41:00 -06:00
turt2live
01ed07479e Update favicon 2017-05-27 21:27:08 -06:00
turt2live
9189c6f72b Add a splash page. Adds #21
Includes a self-made logo. Suggestions welcome.
2017-05-27 21:21:08 -06:00
turt2live
e5585121ad fix warnings in typescript 2017-05-27 17:46:27 -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
f031a7833a Let's get this party started: Base structure 2017-05-26 21:51:48 -06:00