430 Commits

Author SHA1 Message Date
Half-Shot
2a093562ce 2.2.0 2022-09-16 14:30:57 +01:00
Will Hunt
5ee267f013
Update codemirror, remove opensans (#489)
* Update codemirror, remove opensans

* changelog

* Remove our one usage of sans

* Update JS dependency too
2022-09-16 13:23:43 +00:00
Will Hunt
a179ae6732
Rename 484.bugfix to 484.feature 2022-09-15 18:15:27 +01:00
Will Hunt
5184506438
Merge GitLab MR approvals and comments into one message (#484)
* Merge approvals and comments as one comment

* Drop comment after sending

* changelog

* fix boolean

* Consistent logging
2022-09-15 18:14:42 +01:00
Will Hunt
d85f2fd540
Add Logger tests (#478)
* More json logger safety

* Don't log undefined

* typo

* Split out the static logger to it's own class for testing

* Refactor logger usage slightly

* Add a test for the logger wrapper

* changelog

* Update LogWrapper.ts

* Drop ?
2022-09-14 11:26:34 +00:00
Will Hunt
e8159579b2
Fix figma not working on startup (#481)
* Fix figma startup requests failing

* log the ID

* fix 404

* Ensure we always send teamId as a string

* changelog
2022-09-12 13:38:45 +01:00
Will Hunt
23eae91737
Support notifying when a GitLab MR is ready for review (#480)
* Support ready for review GitLab

* Create 480.feature

* Change event name

* Fix name

* Fix typo
2022-09-12 11:51:04 +01:00
Will Hunt
cbc7718808
Move noisy log line to debug (#473)
* Move noisy log level to debug

I think I meant to actually set this to debug before :/

* Create 473.bugfix
2022-09-09 09:31:25 +01:00
Half-Shot
1e44e52179 2.1.2 2022-09-03 03:08:13 +01:00
Will Hunt
79f28f3ae0
Fix feed.success crashing the process due to a typing issue (#469)
* Fix feed.sucess

* changelog

* Stop being lazy and use an interface
2022-09-02 14:46:20 +00:00
Half-Shot
e0dadd4ad3 2.1.1 2022-09-02 14:18:19 +01:00
Will Hunt
944bbe77ff
Logging fixes (#467)
* Log fatal to console if we haven't configured logging

* Move token store load up

* Fix logging typo

* Fix everything logging at debug

* changelog

* Make private
2022-09-02 13:17:36 +00:00
Half-Shot
9d7e6adcd4 2.1.0 2022-09-02 11:41:54 +01:00
Will Hunt
311ac9f168
Start tracking coverage (#351)
* Start tracking coverage

* coverage test
2022-09-01 15:01:08 +00:00
Will Hunt
33becc47ee
Update ioredis & block on startup if we couldn't connect (#462)
* Update ioredis & block on startup if we couldn't connect

* changelog
2022-09-01 11:15:27 +01:00
Will Hunt
6ae2ebe495
Fix GitHub/Jira/GitLab login not checking for permissions early enough (#461)
* Ensure login commands have appropirate permissions levels

* Also fix GitLab

* changelog
2022-09-01 11:08:21 +01:00
Will Hunt
a3046114d0
Useful JSON logger formatting (#463)
* Refactor log wrapper to support richer json errors

* Make webhook events less noisy

* Document new log format
2022-09-01 11:07:58 +01:00
Will Hunt
08727e43e2
Don't use onRoomJoin to detect non-AS joins (#464)
* Don't use onRoomJoin to detect non-AS joins

* changelog
2022-09-01 11:04:03 +01:00
Will Hunt
63ab457b45
Refactor feed errors and error presentation (#459)
* Add support for setting a global feed timeout

* Track failures, and don't show the first non-serious error

* Tidy up error reporting

* Make a prettier error pane

* Use the prettier event pane

* Show failed feed attempts in the widget

* Ensure we catch connection resets

* Add styling file

* Ensure we only track one result per fetch

* changelog

* Refactor to use better status codes

* Make feed results cheaper

* splice
2022-08-31 14:01:43 +01:00
Andrew Ferrazzutti
e9afe10a7d
Don't look for body in an ApiError (#457)
Instead, look for `jsonBody`
2022-08-26 10:02:16 -04:00
Will Hunt
10ac614a91
Add docker auto-build for ARM64 (take 2) (#458)
* Revert "Revert "Add docker auto-build for ARM64 (#373)" (#392)"

This reverts commit 7c415ad3760df574f3addf14df9ac0bb1b6ca47d.

* Rename 373.feature to 458.feature
2022-08-25 14:39:24 +01:00
Will Hunt
563603ff76
Ensure that user permissions are wrapped in quotes in docs (#453)
* Ensure that user permissions are wrapped in quotes in docs

Fixes #452

* Create 453.docs

* Update setup.md

* Rename 453.docs to 453.doc

* Update changelog.d/453.doc

Co-authored-by: Christian Paul <christianp@matrix.org>

Co-authored-by: Christian Paul <christianp@matrix.org>
2022-08-24 11:53:14 +01:00
Half-Shot
e8c6a68e8c 2.0.1 2022-08-22 10:56:00 +01:00
Will Hunt
10e4e88431
Remove --no-script from yarn (#448)
* Remove --no-script from yarn

As it turns out, we need to run the script to build the all important
crypto modules that we don't use. The --no-script is intended to avoid
us trying to build the project, but in practise I think this does more
harm than good (we don't seem to build when the production flag is used)

* changelog
2022-08-22 10:52:48 +01:00
Half-Shot
ae5bf24926 2.0.0 2022-08-22 10:04:06 +01:00
Will Hunt
f8b0dc40b9
Fix GitLab setup command (#445)
* Properly log errors in the console for unknown faults

* Fix wrong this in bind

* bugfix
2022-08-22 10:02:22 +01:00
Justin Carlson
49bc94e9ad
Add query parameter to scope room config widget to a particular service (#441)
* Add query parameter to scope room config widget to a particular service

* Add changelog
2022-08-18 10:47:03 -04:00
Will Hunt
00e5bfe332
Fix markdown paragraphs not rendering properly (#443)
* Fix markdown paragraphs not rendering properly

* changelog
2022-08-18 15:41:07 +01:00
Will Hunt
52b6033908
Validate figma access token + cleaner errors (#440)
* Validate figma access token + cleaner errors

* fix import

* changelog

* fix typo

* Apply suggestions from code review

Co-authored-by: Tadeusz Sośnierz <tadzik@tadzik.net>

Co-authored-by: Tadeusz Sośnierz <tadzik@tadzik.net>
2022-08-12 15:38:22 +01:00
Will Hunt
00927175a2
Update matrix-bot-sdk to 0.6.0 (#417)
* Update matrix-bot-sdk to 0.6.0

* changelog

* More package updates

* Don't need to copy bindings anymore

* Expliclty require Node 16

* Drop node 14 test

* fix rust bindings fetch

* Update .github/workflows/main.yml

Co-authored-by: Tadeusz Sośnierz <tadzik@tadzik.net>

* Update main.yml

Co-authored-by: Tadeusz Sośnierz <tadzik@tadzik.net>
2022-08-12 10:59:24 +01:00
Will Hunt
e487b48b2a
Skip already handled GitHub events (#429)
* Skip already handled GitHub webhooks

* Create 429.bugfix

* tidy up
2022-08-12 10:59:03 +01:00
Justin Carlson
b0eaa8b3b0
Reorder dockerfile to optimize rebuilds (#438)
* Reorder dockerfile to optimize rebuilds

* Add changelog
2022-08-11 18:11:55 +01:00
Kim Brose
a79309071d
add Grafana dashboard (#407)
* add Grafana dashboard

* Create 407.misc

* Move hookshot-dashboard.json to contrib/

* Add Grafana dashboard to docs/metrics.md

* Update 407.misc

* Fix link to hookshot-dashboard.json

Co-authored-by: Will Hunt <will@half-shot.uk>

* Update hookshot-dashboard.json

* Update metrics.md

* Update hookshot-dashboard.json

- add generic event pushes
- add http requests
- shuffle some panels around

* update docs correctly as per review

* Update contrib/hookshot-dashboard.json

Co-authored-by: Will Hunt <will@half-shot.uk>
2022-08-11 17:09:33 +01:00
Andrew Ferrazzutti
e9613225be
Add GitHub widget (#420)
* Add GitHub widget

Also make assorted fixes to help push this along

* Remove unused import

* Resolve new linter warnings

* Undo testing-only change

Didn't mean to commit this

* Use "org/repo" as GitHub repo names in widget

* Update src/ConnectionManager.ts

Co-authored-by: Will Hunt <will@half-shot.uk>

* Don't use null assertions

* Use block scope in switch cases

* Fix some BridgeAPI imports

* Actually validate connection state

* Return only GitHub repos with admin permissions

Co-authored-by: Will Hunt <will@half-shot.uk>
2022-07-29 10:05:21 -04:00
Andrew Ferrazzutti
c719f1b926
Share code for tracking config via state events (#418)
* Share code for tracking config via state events

This should prevent forgetting to add state event handlers in new or
existing connection types.

* Address review feedback

* Mark GitLabRepoConnection as an IConnection

* Remove unused imports

* Tighten typing for JiraProjectConnectionState
2022-07-29 09:57:58 -04:00
Andrew Ferrazzutti
b118a8e606
Fix some docstrings (#428)
* Fix some docstrings

* changelog
2022-07-28 10:33:28 -04:00
Will Hunt
681ab8ebff
Add signoff check (#427)
* Add signoff check

* develop

* Rename

* test

* test data

* Fix

* pin to ref

* changelog

* Use backend-meta
2022-07-27 12:23:17 +01:00
Will Hunt
650397d843
Create CODEOWNERS and PR template (#425)
* Create CODEOWNERS

* Create pull_request_template.md

* Create 425.misc
2022-07-25 14:54:39 +01:00
Andrew Ferrazzutti
66a5d8bb57 1.8.1 2022-07-19 11:50:01 -04:00
Frank Lanitz
e375a3965e
Add deeplink for registration.sample.yml to setup documentation (#374)
This hopefully make it easier to reach for users while reading the documentation.

Signed-off-by: Frank Lanitz <fl@flyingcircus.io>
2022-07-15 13:08:00 +00:00
Andrew Ferrazzutti
6516364f3d
Add clean scripts (#414)
Signed-off-by: Andrew Ferrazzutti <andrewf@element.io>
2022-07-14 10:58:31 -04:00
Andrew Ferrazzutti
3dcb6e857a
Mention github login and github status in docs (#415)
* Mention `github status` in docs

instead of `github hastoken`, which was renamed.

Signed-off-by: Andrew Ferrazzutti <andrewf@element.io>

* Document `github login`

Signed-off-by: Andrew Ferrazzutti <andrewf@element.io>
2022-07-14 10:57:19 -04:00
Andrew Ferrazzutti
eac6819a58
Don't say nothing to no GitHub connections (#416)
* Don't say nothing to no GitHub connections

Allow the message of "No GitHub bridges" to be sent.

Signed-off-by: Andrew Ferrazzutti <andrewf@element.io>

* Changelog

Signed-off-by: Andrew Ferrazzutti <andrewf@element.io>

* "Github" -> "GitHub" in `list-connections`

Signed-off-by: Andrew Ferrazzutti <andrewf@element.io>
2022-07-14 09:55:46 -04:00
Will Hunt
7796f104cb
Add XML parser for generic webhook payloads (#410)
* Add support for decoding XML for webhooks

* Ensure all endpoints use the error middleware

* Dependencies

* changelog

* Describe form data in the documentation

* Reorder
2022-07-13 16:14:21 +01:00
Andrew Ferrazzutti
d4f701c871
Disallow some empty config URL settings (#412)
* Disallow some empty config URL settings

If these settings are meant to be unspecified, then their entire parent
sections (`widgets` & `generic`) should be unspecified.

Signed-off-by: Andrew Ferrazzutti <andrewf@element.io>

* Convert some config URL strings to URL objects

This allows both parsing and easier crafting of relative URLs.

Signed-off-by: Andrew Ferrazzutti <andrewf@element.io>

* Dump parsed URLs to default config

Also implement getters to return stringified URLs, instead of having to
store a URL's string representation directly.

Signed-off-by: Andrew Ferrazzutti <andrewf@element.io>
2022-07-13 08:39:23 -04:00
Andrew Ferrazzutti
c46cc71de8
Use the admin widget in admin rooms (#411)
Fixes #308

Signed-off-by: Andrew Ferrazzutti <andrewf@element.io>
2022-07-13 08:34:50 -04:00
Half-Shot
ded8be55e2 1.8.0 2022-07-11 18:13:10 +01:00
Will Hunt
c68bcafeb6
Automatically reconfigure GitHub notifications when a token is updated. (#388)
* Refactor methods

* changelog

* Tweaks
2022-07-11 17:08:09 +00:00
Will Hunt
74a3611134
Allow the same GitLab repo to be bridged to multiple rooms (#406)
* Check matching roomId when checking for existing GitLab repos

* changelog

* Don't need to cast
2022-07-11 16:56:42 +01:00
Damien Gaignon
1d0b2adc8a
Fix link in AdminRoom (#384)
* Fix link in AdminRoom

Signed-off-by: Damien Gaignon <damien.gaignon@gmail.com>

* Add 384.bugfix file

* Add full stop to changelog entry

Co-authored-by: Andrew Ferrazzutti <andrewf@element.io>
2022-07-11 09:48:06 -04:00