35 Commits

Author SHA1 Message Date
Half-Shot
ab918bd293 5.3.0
amend changelog
2024-04-17 11:19:12 +01:00
Will Hunt
cf689919a4
Fix tokens encrypted with Node crypto implementation being undecryptable in new Rust implementation. (#930)
* Encrypt with new padding algo when possible.

* formatting

* changelog
2024-04-17 10:00:00 +00:00
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
Half-Shot
b8d33f42bb 5.2.1 2024-03-04 14:31:30 +00:00
Half-Shot
609347966e Update cargo 2024-02-21 14:20:03 +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
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
Half-Shot
6a23dc7854 5.1.1 2023-12-29 16:17:13 +00:00
Half-Shot
445be6e78c 5.1.0 2023-12-29 12:19:15 +00:00
Half-Shot
67dfa448c5 5.0.0 2023-12-27 22:01:24 +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
Half-Shot
911c2254b2 4.7.0 2023-12-06 10:30:47 +00:00
Andrew Ferrazzutti
e808002ad7 4.6.0 2023-11-20 11:14:52 -05: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
Half-Shot
257c93e0e0 4.5.0 2023-09-26 11:06:35 +01:00
Andrew Ferrazzutti
958743365f
Update Cargo.lock (#803)
* Update Cargo.lock

* Changelog

* Update Cargo.toml
2023-08-04 13:11:25 +00:00
Will Hunt
e41c9a8dd2 4.4.0 2023-06-28 17:01:19 +01: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
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
Will Hunt
43176adf7a
Fallback to parsing feeds as atom format if rss format fails. (#721)
* Support atom feeds in rust parser

* Add an apply linting command

* Add changelog

* Fixup

* Add tests for atom feeds + remove redundant code

* Remove unused rss-parser

* Tests for all formats.

* Move hashing logic into rust to save cross-context calls

* lint my rust

* Use a String::from

* Ensure guids are not repeated
2023-04-25 15:45:55 +00:00
Will Hunt
eda6fc8c26
Use rss crate for RSS feed parsing (#709)
* Refactor annoying type difference

* Add rss

* Add support for parsing RSS feeds

* Add rss lib

* Add Cargo project

* Lint rust

* changelog

* Add support for new fields
2023-04-17 11:48:03 +00:00
Andrew Ferrazzutti
66a5d8bb57 1.8.1 2022-07-19 11:50:01 -04:00
Half-Shot
ded8be55e2 1.8.0 2022-07-11 18:13:10 +01:00
Half-Shot
a60acd5227 1.7.3 2022-06-09 15:01:23 +01:00
Half-Shot
a665d3b949 1.7.2 2022-06-08 16:51:57 +01:00
Half-Shot
ab4cabbd67 1.3.0 2022-03-30 12:04:47 +01:00
Will Hunt
d9fe5357a9
Drop support for Node 12 (#228)
* Drop node 12 dependencies

* changelog
2022-03-07 20:01:51 +00:00
Half-Shot
271ee2a2f5 1.1.0 2022-01-07 16:54:41 +00:00
Will Hunt
e6dd83ac5b
Support napi v2 (#111)
* Export a sensible user agent

* Completely rewrite rust portions to be napi v2 compatible

* Format rust files

* Only lint TS files when running lint-node

* Don't include autogenerated typings in the tree

* changelog

* Autofix generated rust dependencies due to a bug in napi@2

* Fix for multiple runs

* Fix format_util file name

* Make script generic

* lint
2022-01-02 01:54:57 +00:00
Will Hunt
d575e5fb2f
Add documentation on various things (#90)
* Add details on webhooks

* More doc things

* More docs

* More documentation changes

* Tidy tidy

* Lots more documentation

* Support defaults for all GitHub configuration options

* Add metrics changes

* s/Added/Add
2021-12-21 16:41:19 +00:00
Will Hunt
b6e37947bd Refactor code to use BaseConnection and make the connectionIds simpler 2021-12-02 12:34:43 +00:00
Will Hunt
40a75fa4d3 Rename project 2021-11-22 16:02:07 +00:00
Will Hunt
9748fe09cf More tweaking 2021-11-21 16:51:04 +00:00
Will Hunt
175a2c592e Package tweaks 2021-11-21 13:21:58 +00:00
Will Hunt
39c6e81cbb Lots of changes 2021-11-21 12:34:56 +00:00