* docs: explain how to access room state for gitlab projects
Closes#260
Signed-off-by: Gwenn Le Bihan <gwenn.lebihan7@gmail.com>
* Update gitlab_project.md
Signed-off-by: Gwenn Le Bihan <gwenn.lebihan7@gmail.com>
* Update docs/usage/room_configuration/gitlab_project.md
Signed-off-by: Will Hunt <github@half-shot.uk>
* Create 1016.doc
Signed-off-by: Will Hunt <github@half-shot.uk>
---------
Signed-off-by: Gwenn Le Bihan <gwenn.lebihan7@gmail.com>
Signed-off-by: Will Hunt <github@half-shot.uk>
Co-authored-by: Will Hunt <github@half-shot.uk>
Co-authored-by: Will Hunt <will@half-shot.uk>
* 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 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
* Fix a namespace conflict.
* Add support for edits.
* Couple of bugfixes.
* changelog
* Support pkcs1 format keys.
* Add docs for official API.
* couple of cleanups
* Revert "Support pkcs1 format keys."
This reverts commit 157cc4ac1269ecdeb64529c51b79d11463cdbbfd.
* 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>
* 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
* 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>
* 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>
* 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 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>
* 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>
* 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
* 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
* Allow usage of the SQLite-based crypto store
Signed-off-by: Andrew Ferrazzutti <andrewf@element.io>
* Add changelog
* Log when crypto storage is initialized
* Add yarn script for resetting crypto state
Also document its usage & when it may be necessary to use it.
* Minor style improvements
- add trailing semicolons
- remove redundant `Promise.resolve`s
* Change logging in crypto reset script
- Move error object to parameter
- Rename logger
* Add method to close the Redis store
and call it to let the process exit cleanly
* Update matrix-bot-sdk
Use release with SQLite crypto store support
---------
Signed-off-by: Andrew Ferrazzutti <andrewf@element.io>
* Add hookshot_ prefix on all metrics
* Only add prefix to hookshot specific metrics
* Add old metric names as deprecated
* Fix feeds metrics names
* Update metrics docs
---------
Co-authored-by: Will Hunt <will@half-shot.uk>
* Add support for specifying a template for feeds
* Remove unused params
* use the correct url
* make URL visible.
It was annoying me
* Update src/Connections/FeedConnection.ts
Co-authored-by: Tadeusz Sośnierz <tadzik@tadzik.net>
* Support migrations
* Hopefully support migrations now
* lint
---------
Co-authored-by: Tadeusz Sośnierz <tadzik@tadzik.net>
* Add service bots config
* Add joined rooms manager and keep track of joined rooms
* Add bot users manager and ensure registration and profiles
* Improve joined rooms manager and set up already joined rooms
* Handle invites with service bots
* Handle messages with service bots
* Use service bots for connections
* Use service bots in widget and provisioning APIs
* Use service bots in setup connections
* Use service bots for feed connections
* Handle admin rooms for service bots
* Fix confused event type and service type in provisioning and widget APIs
* Fix generic webhooks service name
* Fix enabled services config
* Handle power level change
* Create widgets with service scope
* Use service bots for gitlab repo connections
* Use service bots for gitlab issue connections
* Use service bots for generic webhook connections
* Use service bots for figma file connections
* Use service bots when verifying state events
* Use service bots for github repo connections
* Use service bots for github discussion connections
* Use service bots for github discussion space connections
* Use service bots for github project connections
* Use service bots for github issue connections
* Use service bots for github user space connections
* Use service bots for jira connections
* Make sure ghost users are invited for gitlab issue comments
* Configure one service per service bot
* Add changelog
* Update tests
* Fix up following rebase
* Fix comment
* Use getter for enabled services
* Ensure homeserver can be reached before registering bots
* Add intent getter on bot user
* Update config comment
* Merge joined rooms manager with bot users manager
* Remove unused localpart from bot user class
* Refactor to pass in bot users manager
* Improve priority sort function
Co-authored-by: Christian Paul <christianp@matrix.org>
* Fix priority sort
Higher priority should come first
* Add debug log when invites are rejected
* Use different state key for scoped setup widgets
* Use different subtitles to differentiate service bots setup widgets
* Refactor bot user setup into bot users manager
* Refactor to reduce duplication in widget API
* Consistent room ID and intent args order
* Add docs and update changelog
* Add overrideUserId deprecation warning
* Add service bots link
Co-authored-by: Christian Paul <christianp@matrix.org>
Co-authored-by: Will Hunt <will@half-shot.uk>
* Refactor HookFilter to only support enabledEvents (and add a function to convert)
* Convert connections to deprecate ignoreHooks
* Update documentation
* Split out EventHookCheckbox
* Refactor frontend to support enableHooks only mode
* drop old field name
* changelog
* Fix enabledHooks for widgets
* Fixes across the board
* Update test description
* Cleanup
* Fix HookFilter
* Fixup checkboxes
* Cleanup
* Update config to mark encryption support as experimental
* Mention encryption as experimental in docs
* changelog
* Hide empty values from config
* transmuate snakes into camels
* Add support for native e2ee
* Various temps to coax it into working
* Formatting nitpicks
* Include stable registration config key for msc2409
* Update default config with encryption options
* Manage admin rooms with bot-sdk DMs
This also enables encryption for new admin rooms when appropriate.
* Update config comments for encryption settings
- Add comment to clarify Redis (the `queue` section) must be configured
in order for encryption to work
- Mention that the `encryption` section is optional, and omitting it
will disable encryption support
* Update docs for encryption support
* Add changelog
* Add to docs some notes about encryption state
* Move all post-join logic to onRoomJoin
* Block post-join actions on crypto setup
Requires https://github.com/turt2live/matrix-bot-sdk/pull/269
* Fix linter error
* Update encryption docs and changelog
- Mention that worker mode isn't supported with encryption yet
- Mention removal of Pantalaimon-based encryption
* Update worker docs with encryption config notice
* Share main appservice config with feed bots
This is required to safely enable encryption for the bots that post
GenericHook messages.
* Make slight clarification for queue config
* Minor fixes
* Block post-join actions on feed bot crypto setup
Same as a9e6e11d but for the sub-bots that post GenericHook messages.
* Get joined rooms from intent instead of bot
This refreshes the list of known rooms for crypto events.
* Use Element fork of bot-sdk for crypto fixes
Co-authored-by: Andrew Ferrazzutti <andrewf@element.io>
* Allow GitLab connections without hook permissions
Warn instead of fail when connecting a GitLab project that Hookshot
cannot provision a webhook for.
* Mention manual "Secret token" for GitLab webhooks
* Refactor warning pane into a separate component
* Recolour warning pane for better contrast