* 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>
* Save bot-created admin rooms in profile data
This prevents a process restart from causing bot-created admin rooms
to be forgotten.
* Clarify changelog
* Harden against unauthorized changes to room state
If an unauthorized change to connection-related room state is detected,
deny the new connection settings & attempt to revert the state change.
Also catch an otherwise-uncaught error on authentication failure.
* `any`->`unknown` for some StateEvent content types
* Limit how far back in state to look when restoring
* Explicitly drop unneeded return value of promise
* Add reason to redacted state events
* Rename & document the fn to revert room state
* Move connection state check to ConnectionManager
* Don't rollback bad room state on startup
* 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
* Increase SANITIZE_MAX_BREADTH/SANITIZE_MAX_DEPTH
I suspect #559 is failing because the body falls just outside our safe range. The safe ranges were chosen arbitrarily, but we can probably increase them without a huge perf penalty.
* Automatically JSONify anything exceeding the breadth or depth
* Create 560.bugfix
* Update GenericHook.ts
* Cleanup
* optimise newDepth
* Don't skip non-lowercase GitLab connection paths
Fixes#552
* Don't lower-case GitLab URLs with bot command
This allows GitLab URLs to appear in the configuration widget with their
original casing intact.
* Lowercase GitLab connection path on save
* Skip MR reply comments
* Skip comment event if filtered by events
* Use discussion IDS
* Create 536.bugfix
* Update src/Connections/GitlabRepo.ts
Co-authored-by: Christian Paul <christianp@matrix.org>
* Update src/Connections/GitlabRepo.ts
Co-authored-by: Christian Paul <christianp@matrix.org>
* Update src/Connections/GitlabRepo.ts
Co-authored-by: Christian Paul <christianp@matrix.org>
Co-authored-by: Christian Paul <christianp@matrix.org>
* Add a HookFilter class
* Use the HookFilter class
* Support default hooks in the web UI
* Update documentation
* changelog
* Allow all GitLab events by default
* bits of cleanup
* Allow multiple Jira connections; stop prefix clash
Fixes#533
Mitigates #421
* Follow review suggestions
- Set a status code for the ApiError on command prefix conflict
- Make `conflictsWithCommandPrefix` an optional method
- Support version created/updated/released events
- Look up project ID if missing when subscribing to version events
- Properly format version event notices
- Prioritize project URL over ID in debug strings
- Refactor Jira event handling to be more like GitHub & GitLab
- Fix silently-ignored Jira events due to expecting wrong type strings
- Update UI for Jira events
* Add network timeouts to Docker builds
* Split cargo build out
* Put cargo in the right place
* debug usage
* install time
* Fix docker build OOMing in CI for arm64 builds
Yoinked from synapse:
- https://github.com/matrix-org/synapse/pull/14173
- 424d1d28cc
* Update changelog
Co-authored-by: Half-Shot <will@half-shot.uk>
* Read-your-writes consistency on connection update
Allow updates to connections made via config widgets to be reflected
immediately upon save in the widget UI.
* Use HTML elements as `ref`s in widgets
Fixes#422
* Add changelog
* Let widgets use new connection config on save
After a connection config is updated, but before a widget requests the
latest config from the bridge, make the widget display the just-saved
config instead of what the config was before being updated.
* Use input placeholder as prefix default
Otherwise, leaving the prefix field blank would apply no prefix, and
violate prefix length requirements.