388 Commits

Author SHA1 Message Date
Half-Shot
eddcaecab5 Merge branch 'hs/retry-rss-event-sends' into hs/rss-experiment 2024-02-06 16:48:17 +00:00
Half-Shot
ec32daff40 Fix large summary bridges. 2024-02-06 14:44:33 +00:00
Half-Shot
2ee501291c Add backoff for failing feeds. 2024-02-06 12:08:15 +00:00
Will Hunt
90927a71f4
Add support for mentioning multiple assignees on GitHub issues (#889)
* Add support for multiple assignees on issues

* changelog
2024-02-06 10:09:21 +00:00
Will Hunt
1cbd73bb46
Add troubleshooting doc. (#882)
* Add troubleshooting doc.

* Create 882.doc

Signed-off-by: Will Hunt <will@half-shot.uk>

* Rename 882.doc to 882.doc

Signed-off-by: Will Hunt <will@half-shot.uk>

---------

Signed-off-by: Will Hunt <will@half-shot.uk>
2024-01-16 09:43:56 +00:00
Will Hunt
6d3800a018
Convert bridgeAPI usages to preact context. (#871)
* Fix widget client only talking to localhost

* Improve error text around widget communication.

* changelog

* Remove unused.

* Simplify code by using a context for bridge API.
2024-01-16 09:44:51 +00:00
Srilokh Karuturi
3bb6724fe9
Update setup.md (#879)
* Update setup.md

Add relevant information related to webhooks resource endpoint, allows for less confusion and going back and forth between docs

Signed-off-by: Srilokh Karuturi <75606167+srilokhkaruturi@users.noreply.github.com>

* Create 879.doc

Signed-off-by: Will Hunt <will@half-shot.uk>

---------

Signed-off-by: Srilokh Karuturi <75606167+srilokhkaruturi@users.noreply.github.com>
Signed-off-by: Will Hunt <will@half-shot.uk>
Co-authored-by: Will Hunt <will@half-shot.uk>
2024-01-12 10:37:49 +00:00
Twilight Sparkle
675c1c14d0
Add command to list feeds in JSON and YAML format (#876)
* Add command to list feeds in YAML format

* Add line breaks

* Add changelog

* Add a period in the help

* Add $URL to templates and add feed list format docs

* Use an optional arg on yaml list instead of a separate function

* Update changelog to include JSON format
2024-01-04 19:14:11 +00:00
Half-Shot
0175f9e2a5 5.1.2
Bugfixes
--------

- Fix widget pinning to light theme. ([\#873](https://github.com/matrix-org/matrix-hookshot/issues/873))
- Fix hookshot failing to format API errors.
  Only log a stacktrace of API errors on debug level logging, log limited error on info. ([\#874](https://github.com/matrix-org/matrix-hookshot/issues/874))
- Fix GitHub events not working due to verification failures. ([\#875](https://github.com/matrix-org/matrix-hookshot/issues/875))

Internal Changes
----------------

- Fix spelling of "successfully". ([\#869](https://github.com/matrix-org/matrix-hookshot/issues/869))
2024-01-02 16:09:04 +00:00
Will Hunt
41ee467e2d
Fix logged errors not being properly formatted (and tone down the error verbosity a bit) (#874)
* Ensure we add the error handlers last

* Refactor error middleware to be less noisy

* changelog

* Add finalise
2024-01-02 15:58:25 +00:00
Will Hunt
c0bb71d553
Fix GitHub events not verifying (#875)
* Ensure we verify the raw payload.

* changelog

* Tidy up types

* Add test for GitHib

* Mock out GitHub API to allow tests to pass.

* Lint
2024-01-02 15:52:43 +00:00
Will Hunt
3ab7553f41
Do not pin widget to light theme (#873)
* Don't pin widget theme to light

* changelog
2024-01-02 11:34:10 +00:00
Simon Quigley
3af2aa7032
sucessfully (#869)
* sucessfully

* Create 869.misc

---------

Co-authored-by: Will Hunt <will@half-shot.uk>
2023-12-29 16:24:49 +00:00
Half-Shot
6a23dc7854 5.1.1 2023-12-29 16:17:13 +00:00
Will Hunt
5c5bdd546d
Fix widgets not working when bound to the same listener as webhooks. (#872)
* Bind listener in bridge.

* Add a test to confirm behaviour

* Fix test name

* changelog
2023-12-29 16:11:08 +00:00
Half-Shot
445be6e78c 5.1.0 2023-12-29 12:19:15 +00:00
Will Hunt
cef5121d3d
Fix widgets failing to connect. (#870)
* Fix widget client only talking to localhost

* Improve error text around widget communication.

* changelog

* Remove unused.
2023-12-29 11:26:34 +00:00
Will Hunt
8e115b40ab
Add End to End testing (#868)
* Ensure connection state always explicitly states all keys, even if some are undefined.

* changelog

* Fix type

* fix test types

* Add support for E2E testing

* Add CI job for e2e test

* Ensure integration test only runs when regular tests complete

* Add homerunner image

* Disallow concurrent runs

* Add concurrency to other expensive steps

* changelog

* Fix mq test

* Cache rust deps

* Drop only

* Use a shared key
2023-12-28 15:04:03 +00:00
Will Hunt
46d198c2c0
Fix feeds template / notify state not reflecting in the UI (#866)
* Ensure connection state always explicitly states all keys, even if some are undefined.

* changelog

* Fix type

* fix test types
2023-12-28 14:27:47 +00:00
Will Hunt
76a4209f0d
Remove GoNEB migrator (#867)
* Remove GoNEB migrator.

* changelog

* Remove frontend pieces

* Remove unused statuscodes

* Linting

* Remove warning about ts-comment
2023-12-28 11:36:11 +00:00
Half-Shot
67dfa448c5 5.0.0 2023-12-27 22:01:24 +00:00
Will Hunt
9cc402b066
Add commands for listing & removing webhooks (#864)
* Add commands for removing webhooks

* Fix command setting state twice

* changelog
2023-12-27 17:11:38 +00:00
Will Hunt
066d908b4f
Fix feeds config UI not allowing notifyOnFailure to be toggled. (#865)
* Fix feeds config UI not allowing notifyOnFailure to be toggled.

* changelog

* amend changelog to be cohierent

* Actual fixes.
2023-12-27 15:25:30 +00:00
Joshua Hoffmann
1db6f60776
Some smaller improvements to metrics.md (#856)
* Update metrics.md

Made descriptions of metrics more consistent and some smaller improvements.

* Update README.md (#855)

* Update README.md

Smaller improvements. Fixed a typo.

* Create 855.doc

---------

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

* Update setup.md (#857)

* Update setup.md

Smaller improvements such as fixes for typos, also added an example on how to pass requests from Nginx

* Create 857.docs

* Rename 857.docs to 857.doc

---------

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

* Update workers.md (#858)

* Update workers.md

Fixed typos

Signed-off-by: Joshua Hoffmann joshua.hoffmann@b1-systems.de

* Create 858.doc

---------

Signed-off-by: Joshua Hoffmann joshua.hoffmann@b1-systems.de
Co-authored-by: Will Hunt <will@half-shot.uk>

* Update encryption.md (#860)

* Update encryption.md

Consistently spell Hookshot with an upper-case H as the first letter

Signed-off-by: Joshua Hoffmann joshua.hoffmann@b1-systems.de

* Create 860.doc

---------

Signed-off-by: Joshua Hoffmann joshua.hoffmann@b1-systems.de
Co-authored-by: Will Hunt <will@half-shot.uk>

* Update widgets.md (#859)

* Update widgets.md

Consistently spell Hookshot with an upper-case H as the first letter

Signed-off-by: Joshua Hoffmann joshua.hoffmann@b1-systems.de

* Create 859.doc

---------

Signed-off-by: Joshua Hoffmann joshua.hoffmann@b1-systems.de
Co-authored-by: Will Hunt <will@half-shot.uk>

* Drop Node 18, start testing Node 21 & update dependencies. (#862)

* Major package upgrades

* Update rust deps and fix a few things

* Drop 18 testing

* Use node 20

* lint rust

* lint

* changelog

* Drop usage of SVGs, use compound elements.

* Update widget API

* Better support for dark mode in widgets (#863)

* Major package upgrades

* Update rust deps and fix a few things

* Drop 18 testing

* Use node 20

* lint rust

* lint

* changelog

* Drop usage of SVGs, use compound elements.

* Update widget API

* Drop usage of SVGs, use compound elements.

* Add dark mode for widgets

* changelog

* Remove yarn-error.log

* Commit metrics changes

* Cleanup

---------

Signed-off-by: Joshua Hoffmann joshua.hoffmann@b1-systems.de
Co-authored-by: Will Hunt <will@half-shot.uk>
2023-12-27 15:01:00 +00:00
Will Hunt
30bb52fc59
Better support for dark mode in widgets (#863)
* Major package upgrades

* Update rust deps and fix a few things

* Drop 18 testing

* Use node 20

* lint rust

* lint

* changelog

* Drop usage of SVGs, use compound elements.

* Update widget API

* Drop usage of SVGs, use compound elements.

* Add dark mode for widgets

* changelog

* Remove yarn-error.log
2023-12-22 15:44:00 +00:00
Will Hunt
b96b45d98c
Drop Node 18, start testing Node 21 & update dependencies. (#862)
* Major package upgrades

* Update rust deps and fix a few things

* Drop 18 testing

* Use node 20

* lint rust

* lint

* changelog

* Drop usage of SVGs, use compound elements.

* Update widget API
2023-12-22 15:36:49 +00:00
Joshua Hoffmann
8cac2f100c
Update widgets.md (#859)
* Update widgets.md

Consistently spell Hookshot with an upper-case H as the first letter

Signed-off-by: Joshua Hoffmann joshua.hoffmann@b1-systems.de

* Create 859.doc

---------

Signed-off-by: Joshua Hoffmann joshua.hoffmann@b1-systems.de
Co-authored-by: Will Hunt <will@half-shot.uk>
2023-12-20 10:38:38 +00:00
Joshua Hoffmann
fef576f7c2
Update encryption.md (#860)
* Update encryption.md

Consistently spell Hookshot with an upper-case H as the first letter

Signed-off-by: Joshua Hoffmann joshua.hoffmann@b1-systems.de

* Create 860.doc

---------

Signed-off-by: Joshua Hoffmann joshua.hoffmann@b1-systems.de
Co-authored-by: Will Hunt <will@half-shot.uk>
2023-12-20 10:38:12 +00:00
Joshua Hoffmann
cb74e3d596
Update workers.md (#858)
* Update workers.md

Fixed typos

Signed-off-by: Joshua Hoffmann joshua.hoffmann@b1-systems.de

* Create 858.doc

---------

Signed-off-by: Joshua Hoffmann joshua.hoffmann@b1-systems.de
Co-authored-by: Will Hunt <will@half-shot.uk>
2023-12-20 10:36:52 +00:00
Joshua Hoffmann
dee6117260
Update setup.md (#857)
* Update setup.md

Smaller improvements such as fixes for typos, also added an example on how to pass requests from Nginx

* Create 857.docs

* Rename 857.docs to 857.doc

---------

Co-authored-by: Will Hunt <will@half-shot.uk>
2023-12-20 10:36:13 +00:00
Joshua Hoffmann
3dd2584094
Update README.md (#855)
* Update README.md

Smaller improvements. Fixed a typo.

* Create 855.doc

---------

Co-authored-by: Will Hunt <will@half-shot.uk>
2023-12-20 10:33:33 +00:00
Will Hunt
95738ed844
Warn if the bot cannot send a message in the widget (#852)
* Add a warning when the room does not have permission to post messages.

* Update warning

* changelog
2023-12-07 10:28:16 +00:00
Half-Shot
911c2254b2 4.7.0 2023-12-06 10:30:47 +00:00
Will Hunt
2a4b06bdbd
Use node:20-slim for Docker (#849)
* Use node:20-slim

* Add curl

* Lint

* retrigger

* Update stale cargo deps

* Update axios

* Add pkg-config and remove stale comment

* changelog

* Add openssl dep

* Add libssl-dev
2023-12-06 10:28:52 +00:00
Andrew Ferrazzutti
7e3be4e1f3
Update releaser script to check staged contents (#846)
to ensure that the package versions to be committed are correct.
2023-11-22 15:01:15 +00:00
Andrew Ferrazzutti
e808002ad7 4.6.0 2023-11-20 11:14:52 -05:00
Will Hunt
f8b71ea8b2
Add ability to respond to webhooks. (#838)
* Add ability to respond to webhooks.

* Refactor hook handling code for simplicity

* Cleanup checkbox

* Ensure we can send a response even we send no content.

* Add docs

* changelog

* Reflect local and global state in the UI

* Revert CHANGELOG for now

* Emphasize Slack the service in webhooks docs

and not time slack

* Guard against falsey non-string values

---------

Co-authored-by: Andrew Ferrazzutti <andrewf@element.io>
2023-11-20 12:41:06 +00:00
Will Hunt
6e36d73ef6
Fix missing version picker on docs. (#843)
* Fix missing ) for version picker

* Create 843.bugfix
2023-11-15 09:20:42 +00:00
Twilight Sparkle
527f6aabfd
Add note about scope for private vs. public repo notifications (#830)
* Add note about scope for private vs. public repo notifications

* Better wording

* Add changelog
2023-10-24 10:10:19 +00:00
Laurence Gill
3994418550
Release chart 0.1.15 (#827) 2023-10-11 13:32:15 +00:00
Will Hunt
a539ad5e54
Ensure sample config only defaults to bare minimum requirements (#826)
* Comment out parts of the sample config that do not need to be on by default

* Update config

* Create 826.misc
2023-10-11 10:26:23 +01:00
Laurence Gill
f7f8e13c44
Bump helm chart version (#824)
* Bump helm chart version

* Changelog helm chart version
2023-10-09 14:53:59 +00:00
Laurence Gill
76822b8842
Hookshot optionals (#823)
* Make breaking optionals empty

* Make optionals undefined

* Changelog

* Comment out top level

* Widgets are optional too

* Update 821.misc

---------

Co-authored-by: Will Hunt <will@half-shot.uk>
2023-10-09 14:34:23 +00:00
Andrew Ferrazzutti
4a1c449154
Update release script (#819)
* Update releaser script to check Cargo.toml version

* Update releaser script to check Cargo.lock version

* Update Cargo.toml/lock

* Let releaser script show actual branch to be on

* Echo releaser script errors to stderr

* Use unique exit codes for releaser script errors

* Add changelog
2023-09-26 21:15:14 +00:00
Andrew Ferrazzutti
f88ee8e95b 4.5.1 2023-09-26 09:25:36 -04:00
Will Hunt
c3cb131e4d
Fix top level return incompatibility (#818)
* Run transformation functions at top level

* changelog
2023-09-26 12:56:11 +00:00
Half-Shot
257c93e0e0 4.5.0 2023-09-26 11:06:35 +01:00
Will Hunt
dc126afa6a
Replace vm2 with quickjs (#817)
* quickjs test

* Replace vm2 with quickjs

* initalise -> initialise

* Remove unused transformation timeout time

* Don't assume quickModule is set

Also use whether it's set as the indicator of whether transformation
functions are allowed, instead of checking the config

* Refactor GenericHookConnectionState validation

- Do it in the constructor instead of in callers
- Make hookId mandatory so as to not drop it on some state updates
- Conflate a state event's state key with a connection state's name,
  which was already the case in practice

* Refactor validateState

* Drop explicit any

Better to infer the type instead

* Always validate transformation fn

* Fix test

* Add changelog

* Fix disposal, validation, and printing

* Fix transformation error string formatting

Also refactor similar code

* Let invalid transformations run & fail

instead of pretending that one was never set

* Restore transformation timeout time

* Don't execute transformation fn when validating it

Instead, only compile it

* Revert unrelated changes

---------

Co-authored-by: Andrew Ferrazzutti <andrewf@element.io>
2023-09-25 14:55:15 +00:00
Will Hunt
d744974493
Ensure all forms of request failure on a feed are not treated as a parsing failure by metrics (#816)
* Only upload feed items when newGuids is non-zero

* Log other request failures as HTTP errors

* changelog

* Rust lint
2023-09-25 08:23:07 +00:00
Andrew Ferrazzutti
d2ae7dfb18
Update eslint (#815)
* Update eslint

* Revert new lint errors back to warnings

* changelog
2023-09-11 13:54:52 +00:00