Commit Graph

49 Commits

Author SHA1 Message Date
David Teller
c3cb22bf36
Very basic support for OpenMetrics (aka Prometheus) (#442)
This PR:

- creates an OpenMetrics server that enables collecting performance data from this process by e.g. a Prometheus server;
- exposes as metrics the performance of http requests with MatrixBot.

Further metrics may of course be added.
2023-01-05 08:37:54 +01:00
David Teller
2915757b7d
Very basic support for Sentry. (#398)
The Sentry package is very useful for monitoring runtime errors. With this PR,
we simply add the necessary mechanism to:

- log to sentry any uncaught error that reaches the toplevel, including startup errors.
2022-11-30 16:06:02 +01:00
Gnuxie
9bcb0b7a59
Replace acceptInvitesFromGroup with acceptInvitesFromSpace. (#338)
Replace acceptInvitesFromGroup with acceptInvitesFromSpace.

https://github.com/matrix-org/mjolnir/issues/125
https://github.com/matrix-org/mjolnir/issues/99

acceptInvitesFromGroup was implemented with an experimental api
that was a precursor to spaces which was refereed to
as either communities or groups.
Support for communities/groups ended in Synapse 1.61.0
https://github.com/matrix-org/synapse/releases/tag/v1.61.0.

To test we just edit the config dynamically which changes how the join room listener functions
though idk, shouldn't we have just made a new mjolnir instance
for this test, or changed the config before the test started somehow?


Co-authored-by: jesopo <github@lolnerd.net>
2022-08-17 10:05:23 +01:00
Jess Porter
b03d81dcc4
ability to disable displaying new reports in moderation room (#320) 2022-07-07 12:55:03 +01:00
Jess Porter
ed68e02c4e
implement polling reports in synapse (#259) 2022-07-04 15:06:36 +01:00
David Teller
0eea04bd69
A background queue for kicking (#296)
A background queue for kicking
2022-06-08 11:49:43 +02:00
Jonathan de Jong
bf7f1318af
Improve documentation (#277)
* improve documentation

* incorperate documentation of configuration into sample file
2022-05-20 12:19:26 +01:00
Marco Cirillo
97df4d5f61
Add command to elevate a user (or the bot) as room administrator (#219) 2022-03-07 10:14:06 +01:00
Graham Christensen
d364d9879a
default.yaml: expand on fasterMembershipChecks (#163)
It isn't clear what it means to have the server "struggle" with state requests.

This change is trying to make the configuration more actionable to end users.
2022-02-07 12:41:26 +00:00
gnuxie
afb0fd5a23 Skip policy consumption test when the rule server is not enabled 2022-01-21 12:28:59 +00:00
gnuxie
1a65122b0d Initial Ruleserver prototype.
This is an experimental ruleserver that will serve the combined rules from
the active policy lists to a Synapse module over a web api.
This makes it easier to communicate changes in policy lists to Synapse workers
that do not have an immediate view over all of the policy rooms at
the same time.
This also allows us to express moderation actions to the homeserver
beyond what is currently expressible via MSC2313 policy
lists.
2022-01-21 12:13:04 +00:00
gnuxie
9048322709 Improvements to manual testing with the test:manual script.
- Use the configured username & password when registering the test user to run Mjolnir with (was hardcoded).
- Remove bogus imports from the helper that have accidentally been introduced with VSCode.
- Keep `enable_registration: true` in the homeserver config to save time.
2022-01-21 10:11:01 +00:00
David Teller
06e5f00b2d
Intercept /report and display human-readable abuse reports in the moderation room - Resolves #38 (#135)
* Intercept /report and display human-readable abuse reports in the moderation room - Resolves #38
2021-10-07 14:42:08 +02:00
gnuxie
4d46d4dd34 Move integration test config file
it now lives in config/ because it was being loaded there by the tests before it could be copied to there from the test directory
2021-09-30 16:02:58 +01:00
J. Ryan Stinnett
46192ac6f7 Add confirmation for wildcard bans
This adds a default enabled option to require confirmation for wildcard bans
(e.g. those containing `*` or `?`). Users will need to also add `--force` for
the commands to be accepted.
2021-02-05 16:09:11 +00:00
Travis Ralston
afe1c8f5a2
Update config/default.yaml 2020-11-04 12:19:32 -07:00
Travis Ralston
44a15f7851
Corrected whitespace in config.yml 2020-10-31 09:32:49 -04:00
Emi Tatsuo
4c0bbd845d
Removed default words from word list in favor of more neutral words 2020-10-31 09:23:18 -04:00
Emi Simpson
c2fbf0934a
Added configuration for wordlist protection 2020-06-21 15:18:34 -04:00
Travis Ralston
4751b093a5 Add Healthz support 2020-06-12 08:03:08 -06:00
Travis Ralston
7fa025f678 Remove ban list server support
This will take the shape of something else eventually.
2020-05-11 21:11:24 -06:00
Travis Ralston
6dd59120a7 Revert "Disable ban list server for release"
This reverts commit 1a8edd54f7.
2020-04-15 08:14:24 -06:00
Travis Ralston
1a8edd54f7 Disable ban list server for release 2020-04-15 08:13:57 -06:00
Travis Ralston
06398967c5 Revert "Disable ban list server for release"
This reverts commit ea6c9bd7df.
2020-03-05 15:42:45 -07:00
Travis Ralston
ea6c9bd7df Disable ban list server for release 2020-03-05 15:39:34 -07:00
Travis Ralston
ecc7674422 Add optional reporting of invites that won't be accepted 2020-03-05 15:38:09 -07:00
Travis Ralston
7314df7379 Re-work invite settings to better support practical use cases 2020-03-05 15:29:30 -07:00
Travis Ralston
ba7ea90fcb Don't cause panic if the bot can't protect a ban list it didn't create
This only affects users with `protectAllJoinedRooms` enabled, as the bot can't possibly protect ban lists it did not create itself.
2020-02-18 17:06:27 -07:00
Travis Ralston
1a591b4dcf Revert "Disable ban list server for release"
This reverts commit 3e303219a6.
2020-02-13 23:06:12 -07:00
Travis Ralston
3e303219a6 Disable ban list server for release 2020-02-13 23:04:57 -07:00
Travis Ralston
9e5c87ac56 Add options to specify custom command prefixes
Fixes https://github.com/matrix-org/mjolnir/issues/29
2020-02-12 15:27:27 -07:00
Travis Ralston
06c09ef944 Change ban list server default port 2020-02-12 15:11:29 -07:00
Travis Ralston
fa6a6547ee Add very basic subscription server for Synapse module 2020-01-25 20:34:15 -07:00
Travis Ralston
c0365416fa Add an option to protect all joined rooms 2020-01-21 15:19:03 -07:00
Travis Ralston
97d02b3816 Add an option to only autojoin invites from bot managers 2020-01-21 13:53:02 -07:00
Travis Ralston
959162c4a3 Support automatically redacting users for certain ban reasons 2019-12-09 19:56:12 -07:00
Travis Ralston
30e186ca9c Add a config option to reduce homeserver load during ban checks 2019-11-06 18:54:59 -07:00
Travis Ralston
0575c56b74 Add a config flag to reduce logging noise 2019-10-31 09:55:34 -06:00
Travis Ralston
adec9f58a6 Add a no-op mode 2019-10-09 14:51:30 +01:00
Travis Ralston
05ab8f60c6 Add watch and unwatch commands 2019-10-08 20:58:31 +01:00
Travis Ralston
aecc6e4882 Support multiple ban lists 2019-10-08 17:57:03 +01:00
Travis Ralston
7bd23a17d9 Optionally perform permission checks on startup 2019-10-04 21:22:51 -06:00
Travis Ralston
5e081e2246 Add an option to sync rooms on startup 2019-10-04 21:02:37 -06:00
Travis Ralston
e69f0e6940 Improve/change logging to management room 2019-10-04 20:59:30 -06:00
Travis Ralston
517025b6c2 Support Pantalaimon for encryption support
Requires a special build of the bot-sdk and pantalaimon currently
2019-10-02 22:20:37 -06:00
Travis Ralston
39b59dbee1 Add commands for managing a personal ban list 2019-09-27 15:44:28 -06:00
Travis Ralston
3a567edc38 Add a config option to pick the protected rooms 2019-09-27 14:36:23 -06:00
Travis Ralston
23c6c20768 Early ban list processing (parsing, specifically) 2019-09-27 13:57:36 -06:00
Travis Ralston
ed6f37be2b Absolute bare minimum for a bot 2019-09-25 20:13:20 -06:00