-
Notifications
You must be signed in to change notification settings - Fork 149
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add new setup widget UI #1656
Add new setup widget UI #1656
Conversation
cbe01fc
to
c462da5
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is actually looking amazing, you should be very proud of this work! I have a few minor concerns, but the bulk of this is great.
One final thought @justinbot, can you write some documentation on this feature in the hosted docs. It can probably be similar to the hookshot ones. Thanks! |
ca95451
to
4cf5d5c
Compare
Sorry about the force push (had to rebase after changes to #1655). New changes start with I realized the widget frontend was not actually being linted (and the existing .eslintrc didn't make sense for a frontend app) so I added a separate .eslintrc and fixed a handful of issues it revealed. And then I took a second pass at the frontend style (see updated screenshot). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Smashing, one note in the docs then this is ready to ship I feel :)
cd6f679
to
a6d4475
Compare
Rebased one last time following 5f77a70 -- this should be good to go |
7f7b6aa
to
9b4a3bd
Compare
Following #1655 which added support for widgets authenticating with the Provisioning API, this PR adds a new UI for configuring bridged rooms from within a widget:
This is an optional feature, enabled with the Provisioning API:
matrix-appservice-irc/config.sample.yaml
Lines 526 to 528 in bb915f8
Implementation
At a high level, the widget is just a static webpage which interacts with the Provisioning API to perform configuration.
More specifically, this takes the same approach as the setup widgets in
matrix-hookshot
, but implemented with the consideration that much of it is generic and could be refactored out into a package for reuse in other bridges.Provisioning API
This part of the implementation is relevant for any API using the
ProvisioningApi
class frommatrix-appservice-bridge
. Includes:Frontend
The same approach for building a frontend with Vite could be taken for other bridges, as well as the handful of reusable UI components which have been implemented with Tailwindcss.
IRC Bridge
The IRC Provisioning API client and the actual configuration UI are specific to this IRC Bridge.