785 Commits

Author SHA1 Message Date
Half-Shot
257c93e0e0 4.5.0 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
Will Hunt
38c34b671b
Update bot-sdk to 0.6.7-element-1 (#814)
* Update to bot-sdk 0.6.7-1

* Update cargo dependencies

* changelog
2023-09-11 13:37:17 +00:00
Andrew Ferrazzutti
ee1b95678d
Remove Sled crypto store, use SQLite by default (#798)
* Remove Sled crypto store, use SQLite by default

on account of it being removed from the crypto-sdk

* Add changelog

* Don't start if Sled store config is set
2023-09-11 12:41:00 +00:00
Kim Brose
57e7a84e63
Create alertmanager.js (#808)
* Create alertmanager.js

* Add changelog

* Rename contrib/alertmanager.js to contrib/jsTransformationFunctions/alertmanager.js

* Add docs to alertmanager.js

* Update alertmanager.js

* Update alertmanager.js with paragraphs

* Update alertmanager.js

convert `\n` line breaks to html `<br/>` so the upstream formatting is applied

---------

Co-authored-by: Will Hunt <will@half-shot.uk>
2023-08-16 17:06:15 +00:00
Tadeusz Sośnierz
a64a561698
Bridge Gitlab comment replies as Matrix threads (#758)
* Bridge Gitlab comment replies as Matrix threads

* Persistently store Gitlab Discussion-Thread mapping

* Remove leftover debug line

* Denoise comment descriptions when they happen in Matrix threads

* Make comment debouncing time configurable

* Add some tests for Gitlab comments

* De-only Gitlab comment tests

* Linting

* Changelog

* Map multiple Gitlab discussions to a single Matrix thread

We debounce Gitlab comments, so multiple discussions can end up in one thread.
This ensures that replies to *any* of these discussions end up in the same thread.

* Add tests for the many-to-one reply case

* Move SerializedGitlabDiscussionThreads to Types

* Update changelog.d/758.feature

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

* Fix instructions for validating your config using Docker (#794)

* Fix instructions for validating your config using Docker

Fixes GH-787

* Changelog

---------

Co-authored-by: Tadeusz Sośnierz <tadeusz@sosnierz.com>

* Add more icons to GitHub messages (#795)

* Add more icons to GitHub messages

* Add merged icon

* Lint

* Add changelog

* Bump word-wrap from 1.2.3 to 1.2.4 (#799)

* Bump word-wrap from 1.2.3 to 1.2.4

Bumps [word-wrap](https://github.com/jonschlinkert/word-wrap) from 1.2.3 to 1.2.4.
- [Release notes](https://github.com/jonschlinkert/word-wrap/releases)
- [Commits](https://github.com/jonschlinkert/word-wrap/compare/1.2.3...1.2.4)

---
updated-dependencies:
- dependency-name: word-wrap
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

* Add changelog

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Andrew Ferrazzutti <andrewf@element.io>

* Update matrix-appservice-bridge to 9.0.1 (#800)

* Bump semver from 5.7.1 to 5.7.2 (#797)

Bumps [semver](https://github.com/npm/node-semver) from 5.7.1 to 5.7.2.
- [Release notes](https://github.com/npm/node-semver/releases)
- [Changelog](https://github.com/npm/node-semver/blob/v5.7.2/CHANGELOG.md)
- [Commits](https://github.com/npm/node-semver/compare/v5.7.1...v5.7.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Will Hunt <will@half-shot.uk>

* 4.4.0

* 4.4.1

* Set the default commentDebouncMs for Gitlab in its Config

* Rename `approvalState` to something more fitting

* Update sample config

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Tadeusz Sośnierz <tadeusz@sosnierz.com>
Co-authored-by: Will Hunt <will@half-shot.uk>
Co-authored-by: Connor Davis <mail@connordav.is>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Andrew Ferrazzutti <andrewf@element.io>
2023-08-14 12:58:21 +00:00
Andrew Ferrazzutti
958743365f
Update Cargo.lock (#803)
* Update Cargo.lock

* Changelog

* Update Cargo.toml
2023-08-04 13:11:25 +00:00
Half-Shot
b7d66177de 4.4.1 4.4.1 2023-07-31 10:18:01 +01:00
Half-Shot
a55cb58a9e 4.4.0
-----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEYycU2dLYoNt0fu0PRCA+X3+iSR4FAmScWV8ACgkQRCA+X3+i
 SR5wvRAAh2BUGpvu4/6Vg3YSrH5yBPZerNGIyKfPiiNknE86EpCY1ZCM85X9AEJW
 i4KD+pbxDAftTmonunTe1wpkJAQ2ZyDbCtWQa8M/2hPtpgdWitCJusNPmcTd47He
 WWtnsHLGTuGCTcOdYaM1hhuXA6TBouemOHdjBMgXOpHo0oHUAYjrOA0VKzIcnTh7
 z2RvaY3j1E1bLzOz4K9MH4mtt7HilmKnBjmdvgel6NFm54SQuTBLKiTeRVfWlUWB
 T3RE7L4ruYlRn4vOSOJHt3FX6cNm5MrUINjTith8rfg1UoM9oIYFMsRdpHgGL5Pg
 vl5f3x2uOQmpydi/HcwQhPO4EiCNeVzclvKq54LLkt3jrp/CRuMgF0FxGBjkjBae
 84h/evn5Ezzn0ix3ia+EMfbvVq6qahQ/sxlwOm71o0wT/aJYBlLkhoarItYEjWGJ
 9hmXhg2TpYAIVkkar6VnsLKzcp3zLIQatxFD4mwUPiOMgsllb61no3PCTauOgxoH
 gfsHGFfQRR47pZ6ydhDJk0tQ0F0kYk9YFrFp5ZyS141hagdpGLWsmVzl87+dlpcR
 LWOL+aMwRT2BcTyK8Q0ErzyYJQ5dhkKRLC6qtrORbOFOewnRf1nrzdQavRaZ9ofP
 BA4q5PrdYqJRUBqjOdGzrQ3XOmXnZMdvjCetW5C9nFNbxzOPDg8=
 =WZ1J
 -----END PGP SIGNATURE-----

Merge tag '4.4.0'

4.4.0
2023-07-31 10:17:27 +01:00
dependabot[bot]
b8e995a3b9
Bump semver from 5.7.1 to 5.7.2 (#797)
Bumps [semver](https://github.com/npm/node-semver) from 5.7.1 to 5.7.2.
- [Release notes](https://github.com/npm/node-semver/releases)
- [Changelog](https://github.com/npm/node-semver/blob/v5.7.2/CHANGELOG.md)
- [Commits](https://github.com/npm/node-semver/compare/v5.7.1...v5.7.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Will Hunt <will@half-shot.uk>
2023-07-31 10:12:43 +01:00
Will Hunt
fa8023707c
Update matrix-appservice-bridge to 9.0.1 (#800) 2023-07-31 09:02:55 +00:00
dependabot[bot]
57e4b97e50
Bump word-wrap from 1.2.3 to 1.2.4 (#799)
* Bump word-wrap from 1.2.3 to 1.2.4

Bumps [word-wrap](https://github.com/jonschlinkert/word-wrap) from 1.2.3 to 1.2.4.
- [Release notes](https://github.com/jonschlinkert/word-wrap/releases)
- [Commits](https://github.com/jonschlinkert/word-wrap/compare/1.2.3...1.2.4)

---
updated-dependencies:
- dependency-name: word-wrap
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

* Add changelog

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Andrew Ferrazzutti <andrewf@element.io>
2023-07-31 08:37:30 +00:00
Connor Davis
269d8bb0e1
Add more icons to GitHub messages (#795)
* Add more icons to GitHub messages

* Add merged icon

* Lint

* Add changelog
2023-07-11 13:42:05 +00:00
Tadeusz Sośnierz
adccfe94ef
Fix instructions for validating your config using Docker (#794)
* Fix instructions for validating your config using Docker

Fixes GH-787

* Changelog

---------

Co-authored-by: Tadeusz Sośnierz <tadeusz@sosnierz.com>
2023-07-06 09:19:49 +00:00
Tadeusz Sośnierz
1c54506f6e
Sort feed list alphabetically in bot command response (#791)
* Sort feed list alphabetically in bot command response

Fixes GH-790

* Changelog

* Linting

---------

Co-authored-by: Tadeusz Sośnierz <tadeusz@sosnierz.com>
2023-07-03 12:24:58 +00:00
Will Hunt
e41c9a8dd2 4.4.0 4.4.0 2023-06-28 17:01:19 +01:00
Charlotte Van Petegem
4351a37131
Try to find an HTML-type link first when parsing atom feeds (#784)
Signed-off-by: Charlotte Van Petegem <charlotte@vanpetegem.me>
Co-authored-by: Will Hunt <will@half-shot.uk>
2023-06-28 15:35:06 +00:00
Will Hunt
3217b9eecf
Performance improvements to Feeds (#786)
* Various smaller changes

* Drop account data entirely

* Use max feed items

* Commit known working improvements

* Better status handlingh

* changelog

* Update changelog

* Add a note on Redis.

* Add proper HTTP tests

* Linty lint

* Tweaks

* New metrics woah

* Tweaks
2023-06-28 15:29:54 +00:00
Tadeusz Sośnierz
2173a8ccb9 4.3.0 4.3.0 2023-06-19 15:47:50 +02:00
Will Hunt
172ae30a73
Enable feeds to be polled concurrently (#779)
* Add support for concurrent RSS feed reading

* Add feed concurrency polling

* Actually load all workers

* Ensure feed just sleeps if there are no urls to poll

* Fix map

* Update default config

* Update src/feeds/FeedReader.ts

Co-authored-by: Andrew Ferrazzutti <andrewf@element.io>

* Update src/feeds/FeedReader.ts

Co-authored-by: Andrew Ferrazzutti <andrewf@element.io>

---------

Co-authored-by: Andrew Ferrazzutti <andrewf@element.io>
2023-06-14 12:41:14 +00:00
Will Hunt
981fdb6631
Skip helm releases in docs (#774)
#719 adds helm releases, which we don't need in the docs :)
2023-06-08 19:06:28 +01:00
Rhea Danzey
5a277d47e2
Helm chart - CI - Fix using malformed output parameter syntax, make appVersion substitution apply in place
Signed-off-by: Rhea Danzey <rdanzey@element.io>
helm-hookshot-0.1.13
2023-06-08 12:49:30 -05:00
Rhea Danzey
113cf5b49e
Helm chart - CI - Fix app version output passing
Signed-off-by: Rhea Danzey <rdanzey@element.io>
2023-06-08 12:46:11 -05:00
Rhea Danzey
3b5c0d8ac5
Helm chart - CI - Use an output variable to retrieve hookshot version from package.json
Signed-off-by: Rhea Danzey <rdanzey@element.io>
2023-06-08 12:41:06 -05:00
Rhea Danzey
b9a45f7210
Helm chart - Split pre-build transform steps into separate commands
Signed-off-by: Rhea Danzey <rdanzey@element.io>
2023-06-08 12:28:04 -05:00
Rhea Danzey
b102798a23
Add basic Helm chart for Hookshot (#719)
* Import basic chart

Signed-off-by: Rhea Danzey <rdanzey@element.io>

* Test chart-releaser workflow

Signed-off-by: Rhea Danzey <rdanzey@element.io>

* Use latest version of chart-releaser action

Signed-off-by: Rhea Danzey <rdanzey@element.io>

* Test chart version bump

Signed-off-by: Rhea Danzey <rdanzey@element.io>

* Remove pages index

Signed-off-by: Rhea Danzey <rdanzey@element.io>

* Test bump Chart.yaml

* Add preliminary docs

Signed-off-by: Rhea Danzey <rdanzey@element.io>

* Docs tidying

Signed-off-by: Rhea Danzey <rdanzey@element.io>

* Add changelog for helm chart

Signed-off-by: Rhea Danzey <rdanzey@element.io>

* Update helm/hookshot/README.md

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

* Update values.yaml with most recent default config (incl. comments)

Signed-off-by: Rhea Danzey <rdanzey@element.io>

* Add pre-build stage for helm chart to template appVersion and config into values

Signed-off-by: Rhea Danzey <rdanzey@element.io>

* Add lint / validate to helm chart

Signed-off-by: Rhea Danzey <rdanzey@element.io>

* Fix helm validate workflow & Rename

Signed-off-by: Rhea Danzey <rdanzey@element.io>

* Update .github/workflows/helm.yml

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

---------

Signed-off-by: Rhea Danzey <rdanzey@element.io>
Co-authored-by: Will Hunt <will@half-shot.uk>
2023-06-08 18:17:54 +01:00
dependabot[bot]
93400c72db
Bump vite from 4.1.4 to 4.1.5 (#772)
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 4.1.4 to 4.1.5.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/v4.1.5/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v4.1.5/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>
2023-06-06 11:05:40 +01:00
Justin Carlson
584f1d092f 4.2.0 4.2.0 2023-06-05 12:51:46 -04:00
Justin Carlson
96c398ce74
Fix crash from exceptions in handlers (#771)
* Fix crash from exceptions in handlers

* Fix withScope usage

* Add changelog
2023-06-05 16:25:19 +00:00
Will Hunt
6ca2b51893
Don't match issue comment notices on issue event type (#757)
* Don't match issue comment notices on issue event type

* changelog
2023-05-24 13:28:28 +00:00
Justin Carlson
0c4a493c56
Add support for uploading avatars (#767)
* Add uploading configured avatar images

* Add avatar assets

* Update docs and sample config

* Add changelog

* Fix sample config

* Add removing avatars when none configured
2023-05-24 13:16:37 +00:00
Tadeusz Sośnierz
9e5b569723 4.1.0 4.1.0 2023-05-24 15:21:44 +02:00
Christian Paul
00771d88c3
Fix #598; setup issues when the bot has PL 0 and room default isn't 0 (#755)
* Fix #598

If the bot has PL 0, the bot incorrectly used the default power level.

* Create 755.bugfix
2023-05-18 19:18:15 +00:00
Marcel
b91ca94249
fix: Make sure that the blockquote markdown for github issue comments are valid commonmark (#746)
* fix: Make sure that the blockquote mardkown for github issue comments are valid commonmark

* Add changelog file
2023-05-18 19:18:04 +00:00
Will Hunt
466ab6d5e3
Allow sanitized HTML from feed summaries (#738)
* Add a function to sanitize html output

* Allow some HTML in feed messages

* Update cargo

* changelog

* lint

* Saved a ton of code by just using ruma.

* Reverse order of rs:apply

* Lint

* Update src/Connections/FeedConnection.ts

Co-authored-by: Andrew Ferrazzutti <andrewf@element.io>

* Apply suggestions from code review

Co-authored-by: Andrew Ferrazzutti <andrewf@element.io>

* Add a test for partial html

---------

Co-authored-by: Andrew Ferrazzutti <andrewf@element.io>
2023-05-18 18:59:58 +00:00
Andrew Ferrazzutti
1df4f7928a
Update eslint (#760)
* Update eslint

* changelog
2023-05-18 18:53:28 +00:00
Will Hunt
f85b543f1f
Add clippy checks to workflow 2023-05-18 13:39:03 +01:00
Will Hunt
b9313cd140
Add Sentry support (#754)
* Add sentry support

* Add basic listening for errors on express.

* Additional event types

* Add a default config

* changelog

* Improve wording

* Add docs
2023-05-18 11:05:23 +00:00
Will Hunt
af90e840e4
Add support for Gitlab individual review notifications (#736)
* Add support for individual reviews

* Document support + add frontend support

* changelog

* Remove redundant checks
2023-05-18 10:52:19 +00:00
Half-Shot
698b0c13bb Add a merge group to this so the check passes 2023-05-18 11:58:03 +01:00
Will Hunt
1741848f57 Add merge_group to workflows. 2023-05-18 10:45:52 +00:00
Will Hunt
d772a4050c
Run Clippy in CI (#753)
* Clippy fixes

* Refactor to make rust linter happy

* Enable warnings since we have none

* Tidy up tests

* changelog
2023-05-18 11:38:59 +01:00
dependabot[bot]
1c692bea8f
Bump vm2 from 3.9.17 to 3.9.18 (#751)
Bumps [vm2](https://github.com/patriksimek/vm2) from 3.9.17 to 3.9.18.
- [Release notes](https://github.com/patriksimek/vm2/releases)
- [Changelog](https://github.com/patriksimek/vm2/blob/master/CHANGELOG.md)
- [Commits](https://github.com/patriksimek/vm2/compare/3.9.17...3.9.18)

---
updated-dependencies:
- dependency-name: vm2
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-17 15:57:36 +01:00
Marcel
409a8b83a7
Apply cargo clippy suggestions to reduce not needed allocations (#750)
* Apply cargo clippy suggestions to reduce not needed allocations

* Add changelog entry
2023-05-17 14:53:42 +01:00
Will Hunt
7223a86b2b
Fix message format for feed items with no title or link (#737)
* Allow empty title on feed item

* Allow bare URL

* Add tests for new format.

* changelog
2023-05-04 09:34:25 +01:00
Andrew Ferrazzutti
2110e88210 4.0.0 4.0.0 2023-04-27 21:58:32 +09:00
Will Hunt
c864dc6b42
Support node 20, drop node 16 (#724)
* Support node 20, drop node 16

* Update workflow versions

* Update backendmeta

* Use version file

* Update packages

* Yarn updates

* Changelog

* Fix glibc compatibility

* Target es2021

Without this, CI tests fail

* Drop unused metrics parameter

* Revert "Drop unused metrics parameter"

This reverts commit 4d874549bcec3dea0d6941215ac5c4f4707966ac.

* Make a note about broken support

---------

Co-authored-by: Andrew Ferrazzutti <andrewf@element.io>
2023-04-27 12:24:06 +01:00
Will Hunt
01159fa0d1
Update yaml dependency (#728)
* Update yaml dependency

* changelog
2023-04-25 15:52:57 +00:00