* Update dependencies
* Node 22 is now the new minimum version.
* changelog.
* Begin porting eslint to new config format.
* Make linter happy.
* Update reqwest to fix SSL issue?
* Fix test types
* quick check on ubuntu LTS 24.04
* Change cache key
* update rust action
* revert mocha due to esminess
* Remove the only usage of pqueue
* Use babel for TS transformations to get around ESM import bug.
* Dependency bundle upgrade
* Drop babel, not actually used.
* lint
* lint
* update default config (mostly sections moving around)
* Deprecate legacy sled store
* Add e2ee test
* Add support for e2ee testing in e2e environment
* Tidy up redis support
* Attempt to get test working
* cleanup test
* opportunistic lint
* tiny bit of cleanup
* remove ref
* tweak to homerunner
* switch to nightly images for Synapse (to test E2EE)
* use nightly
* newsfile.
* Update bot sdk to support authenticated media (now that Synapse requires it)
* fix typings
* MatrixError
* one more
* Graduate the encryption property to stable.
* update test config
* Update encryption docs.
* fix some old config bits
* Add dynamic imports for room configs.
* Try to move code editor to imports
* Load code editor on demand to save a bundle load.
* Load fonts from npm
* changelog
* lint
* Add logic to enable generic hook expiry
* Add storage for hook expiry warnings.
* Migrate generic hooks / add expiry field
* Allow reporting a specific error and status code for generic webhooks
* Report the specific error when a message fails to send
* Refactor input class to better support datetime
* Remove single use of innerChild
* Add UI support for expiry configuration
* Add new packages
* Add warnings when the timer is about to expire.
* Add send expiry notice config option
* lint
* document new option s
* Fixup test
* Add tests for expiry
* Add textual command for setting a duration on a webhook.
* Add e2e test for inbound hooks.
* changelog
* Add a configuration option to force webhooks to expire.
* update config.sample.yml
* fix field not working
* Initial support for outbound webhooks.
* Refactor outbound into it's own connection type.
* Add support for media / encrypted media.
* Ensure we configure a sensible User Agent
* Add a test for outbound webhooks
* Checkpoint for feature completeness.
* Lint tidy
* Finish up media tests.
* changelog
* Add outbound documentation
* update default config
* fix tests
* 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
* 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
* 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>
* 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
* 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>