901 Commits

Author SHA1 Message Date
Will Hunt
6482c7ed55
Handle RSA token handling in Rust (#915)
* Split out queue and cache config

* Update usages of cache config,

* Update default

* Cleanup

* Make queue optional.

* config updates.

* changelog

* update spec config

* Update tests

* tweak import

* Update default config.

* fixup test

* Update config.sample.yml

Co-authored-by: Andrew Ferrazzutti <andrewf@element.io>
Signed-off-by: Will Hunt <will@half-shot.uk>

* Update encryption.md

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

* Clear up worker config

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

* Update src/config/Config.ts

Co-authored-by: Andrew Ferrazzutti <andrewf@element.io>
Signed-off-by: Will Hunt <will@half-shot.uk>

* update helm config

* move UserTokenStore.ts

* Port all the imports to new path.

* Port RSA handling to rust.

* Add tests.

* linting

* lint rust

* Remove unwraps / panics

* fix build script

* Ensure we store and check with algorithm and key was used.

* quieten false deadcode warnings

* changelog

* fix test imports

* lazy mock out UTS

* Refactor so that UserTokenStore is initiated by the time Bridge is created.

* update defaults

* replace if with match

* Use the magic of ?

* fmt

---------

Signed-off-by: Will Hunt <will@half-shot.uk>
Co-authored-by: Andrew Ferrazzutti <andrewf@element.io>
2024-04-08 15:22:57 +01:00
dependabot[bot]
6618ab6db8
Bump h2 from 0.3.24 to 0.3.26 (#922)
Bumps [h2](https://github.com/hyperium/h2) from 0.3.24 to 0.3.26.
- [Release notes](https://github.com/hyperium/h2/releases)
- [Changelog](https://github.com/hyperium/h2/blob/v0.3.26/CHANGELOG.md)
- [Commits](https://github.com/hyperium/h2/compare/v0.3.24...v0.3.26)

---
updated-dependencies:
- dependency-name: h2
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-08 14:04:13 +01:00
dependabot[bot]
7134fdc002
Bump vite from 5.0.12 to 5.0.13 (#921)
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 5.0.12 to 5.0.13.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/v5.0.13/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v5.0.13/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-08 14:03:58 +01:00
Will Hunt
082a61f802
Split cache config from queue config. (#902)
* Split out queue and cache config

* Update usages of cache config,

* Update default

* Cleanup

* Make queue optional.

* config updates.

* changelog

* update spec config

* Update tests

* tweak import

* Update default config.

* fixup test

* Update config.sample.yml

Co-authored-by: Andrew Ferrazzutti <andrewf@element.io>
Signed-off-by: Will Hunt <will@half-shot.uk>

* Update encryption.md

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

* Clear up worker config

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

* Update src/config/Config.ts

Co-authored-by: Andrew Ferrazzutti <andrewf@element.io>
Signed-off-by: Will Hunt <will@half-shot.uk>

* update helm config

* lint

* fix meta

* tidy tidy

* revert logging change

* lint rust

---------

Signed-off-by: Will Hunt <will@half-shot.uk>
Co-authored-by: Andrew Ferrazzutti <andrewf@element.io>
2024-03-19 16:45:52 +00:00
dependabot[bot]
b70ccb53a7
Bump follow-redirects from 1.15.4 to 1.15.6 (#914)
Bumps [follow-redirects](https://github.com/follow-redirects/follow-redirects) from 1.15.4 to 1.15.6.
- [Release notes](https://github.com/follow-redirects/follow-redirects/releases)
- [Commits](https://github.com/follow-redirects/follow-redirects/compare/v1.15.4...v1.15.6)

---
updated-dependencies:
- dependency-name: follow-redirects
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-19 12:05:44 +00:00
dependabot[bot]
4c3e7540b6
Bump mio from 0.8.10 to 0.8.11 (#909)
Bumps [mio](https://github.com/tokio-rs/mio) from 0.8.10 to 0.8.11.
- [Release notes](https://github.com/tokio-rs/mio/releases)
- [Changelog](https://github.com/tokio-rs/mio/blob/master/CHANGELOG.md)
- [Commits](https://github.com/tokio-rs/mio/compare/v0.8.10...v0.8.11)

---
updated-dependencies:
- dependency-name: mio
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-06 14:05:41 +00:00
Half-Shot
b8d33f42bb 5.2.1 2024-03-04 14:31:30 +00:00
dependabot[bot]
8efc45d912
Bump sanitize-html from 2.11.0 to 2.12.1 (#907)
Bumps [sanitize-html](https://github.com/apostrophecms/sanitize-html) from 2.11.0 to 2.12.1.
- [Changelog](https://github.com/apostrophecms/sanitize-html/blob/main/CHANGELOG.md)
- [Commits](https://github.com/apostrophecms/sanitize-html/compare/2.11.0...2.12.1)

---
updated-dependencies:
- dependency-name: sanitize-html
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-04 14:02:31 +00:00
davidegirardi
9a6d4317b2
Use production mode (#904)
* Set NODE_ENV to production

* Disable the X-Powered-By HTTP header

* Explain what the different values do

* Add changelog file
2024-02-27 14:35:03 +00:00
Minecraftchest1
6c6cd6ee92
Change example Openid Connect callback url's to be correct. (#899)
* Change oauth urls in config sample

Signed-off-by: Minecraftchest1 <minecraftchest1@outlook.com>

* Update github docs oauth url

Signed-off-by: Minecraftchest1 <minecraftchest1@outlook.com>

* Fix default oauth2 callback url.

Signed-off-by: Minecraftchest1 <minecraftchest1@outlook.com>

* Create changelog docs.

Signed-off-by: Minecraftchest1 <minecraftchest1@outlook.com>

---------

Signed-off-by: Minecraftchest1 <minecraftchest1@outlook.com>
2024-02-26 08:45:30 +00:00
Will Hunt
c09f00e2a3
Fix Atom feed hashing format. (#901)
* Ensure atom feeds hash and prefix

* Add some fixing code for this.

* Remove feed fixer

* Refactor RSS feed tests a bit

* Add tests to ensure hashes do not change

* changelog
2024-02-21 16:13:36 +00:00
Half-Shot
609347966e Update cargo 2024-02-21 14:20:03 +00:00
Half-Shot
bbf953fff8 5.2.0 5.2.0 2024-02-21 13:24:02 +00:00
Will Hunt
387f7c1ce9
Backoff failing RSS feeds (#890)
* Backoff RSS requests if a url repeatedly fails.

* Increase max backoff time to a day

* Add backoff for failing feeds.

* Remove unused finally

* Add this.feedLastBackoff

* Rewrite in rust.

* linting

* pop

* Optimise backoff function further

* Drop only!

* fix test

* lint

* lint further

* Better comments

* Fix urls calculation

* Remove testing URL

* Add some variance to speed up while loop

* correct comment

* Follow the advice and use a VecDeque as it's slightly faster.

* Vastly better shuffle method

* Speed up checking for previous guids.

* fix hasher function

* lint

* Content doesn't need to be calculated twice.

* Slightly more efficient iteration

* Improve performance of backoff insertion

* Configure feed reader

* lint

* Ensure appending and removing from the queue works as expected.

* Ensure we do keep urls that have been removed.

* lint

* Inc/dec metrics as queue items are added/deleted.

* Add comment

* tidy up
2024-02-20 22:21:19 +00:00
Will Hunt
3ff87b7564
Retry failed RSS entries (#891)
* Retry event send for RSS.

* Fix large summary bridges.

* Remove unused import

* Add some comments
2024-02-06 16:15:13 +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
dependabot[bot]
ee7e3ff03f
Bump h2 from 0.3.22 to 0.3.24 (#885)
Bumps [h2](https://github.com/hyperium/h2) from 0.3.22 to 0.3.24.
- [Release notes](https://github.com/hyperium/h2/releases)
- [Changelog](https://github.com/hyperium/h2/blob/v0.3.24/CHANGELOG.md)
- [Commits](https://github.com/hyperium/h2/compare/v0.3.22...v0.3.24)

---
updated-dependencies:
- dependency-name: h2
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-02-06 09:36:12 +00:00
dependabot[bot]
4d5b786352
Bump vite from 5.0.10 to 5.0.12 (#886)
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 5.0.10 to 5.0.12.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/v5.0.12/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v5.0.12/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-02-06 09:26:44 +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
Will Hunt
caaabbc300
Don't cancel docker hub builds as it breaks merge queues.
Signed-off-by: Will Hunt <will@half-shot.uk>
2024-01-16 09:44:41 +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
dependabot[bot]
4adfd6d11a
Bump follow-redirects from 1.15.3 to 1.15.4 (#881)
Bumps [follow-redirects](https://github.com/follow-redirects/follow-redirects) from 1.15.3 to 1.15.4.
- [Release notes](https://github.com/follow-redirects/follow-redirects/releases)
- [Commits](https://github.com/follow-redirects/follow-redirects/compare/v1.15.3...v1.15.4)

---
updated-dependencies:
- dependency-name: follow-redirects
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-11 08:18:58 +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))
5.1.2
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 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 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 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 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