David Teller
d8aac434f1
Fix: roomMemberTest off-by-one error ( #319 )
2022-07-05 14:38:53 +02: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
David Teller
74d8caa7e7
Since command: adding the ability to mute ( #272 )
2022-05-10 17:19:16 +02:00
Gnuxie
c8caf744c5
Apply members and server bans to the most recently active rooms first. ( #274 )
...
* Apply members and server bans to the most recently active rooms first.
https://github.com/matrix-org/mjolnir/issues/273
2022-05-03 12:36:53 +01:00
Jonathan de Jong
cc9f393ed7
fix CI ( #282 )
...
ts-mocha has also been updated to make running locally possible (else it gives a confusing error that tsconfig.json is not "json" or the likes)
2022-05-03 11:20:40 +01:00
David Teller
e05616b327
New command !mjolnir since <date or duration> <kick | ban | show> <limit> [reason] [...rooms]
( #238 )
...
A new command `since` to affect all users who have joined a protected room since a given date.
2022-03-21 10:39:15 +01:00
Jess Porter
1880287ac4
standard protection consequences ( #232 )
...
* standard protection consequences
* add integration test to make sure good users aren't banned
* the less far `event` propagates, the better
* better document consequence.ts
* improve innocent user integration test
* switch to room.event emit
2022-03-18 10:11:23 +00:00
David Teller
26ae55cd24
A command to show when users in a given room have joined ( #225 )
2022-03-07 11:34:25 +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
jesopo
65af82d46f
send whole channel shutdown reason, not just the first word
2022-03-02 10:20:43 +00:00
Gnuxie
17dd0aa173
Fix the test script yarn test:manual
and add it to tsconfig ( #234 )
...
* Add test:manual launch script to tsconfig
this is so we won't keep breaking it
2022-02-24 14:46:15 +00:00
Gnuxie
7353ba4919
Make limit for ACL batcher more leniant for CI ( #235 )
2022-02-24 14:27:53 +00:00
David Teller
82a2e63d23
A room Protection designed to measure lag in a room ( #217 )
2022-02-24 13:43:31 +01:00
Gnuxie
332da15d0d
Remove old rules when unbanning entities from BanLists. ( #227 )
...
* Remove old rules when unbanning entities from BanLists.
Fixes #220
2022-02-21 16:51:14 +00:00
Jess Porter
a58c7d3f1a
move LogProxy.logMessage to Mjolnir.logMessage ( #194 )
2022-02-15 15:44:41 +00:00
Gnuxie
e9dff8fd5a
Batch events from ban lists together during sync ( #221 )
...
* Test for batching ACL.
* Batch events from sync within BanList.
* Introduce the BanList.batch event to the BanList emitter to let Mjolnir sync after new events have been added from sync.
Fixes #203
2022-02-15 13:51:20 +00:00
Gnuxie
ff9a7db159
Make ACL safe so that Mjolnir will not ban itself. ( #213 )
2022-02-07 17:02:06 +00:00
jesopo
813741c42c
refactor (and simplify) how protections are stored in-memory
2022-02-07 13:48:32 +00:00
jesopo
8b23f93b71
splice returns removed items, not a new list with items removed
2022-02-07 13:33:44 +00:00
Jess Porter
58e228be7d
make roomIds
param on replaceRoomIdsWithPills a Set<string> ( #146 )
2022-02-02 17:35:02 +00:00
Gnuxie
e52b59df6e
Fix bad teardowns that hang in tests. ( #202 )
...
* Fix bad teardowns and hanging test.
2022-01-28 11:03:20 +00:00
gnuxie
f481ec84d3
Make sure we stop clients after they have started, not before.
...
Yeah it's a long story.
2022-01-26 16:25:43 +00:00
gnuxie
17a1d02af8
Fix uses of old interface for registration helper in tests.
2022-01-25 18:23:14 +00:00
gnuxie
9e96d399c0
Remove axios from the test suite, it is unnecessary.
...
It's probably also got problems.
2022-01-25 18:22:34 +00:00
Jess Porter
423a34bebe
runtime persistent settings system ( #158 )
2022-01-25 14:47:50 +00:00
David Teller
c7a96a3afe
Retry requests in case of throttling ( #178 )
...
* Retry requests in case of throttling
Co-authored-by: gnuxie <gnuxie@element.io>
2022-01-25 12:19:44 +00:00
David Teller
baa9129fa5
[CI] We need to wait until Mjölnir's start is complete before proceeding with tests.
...
Hopefully, this should fix the (latest) race conditions we've been seeing during CI.
2022-01-24 16:13:18 +01:00
gnuxie
afb0fd5a23
Skip policy consumption test when the rule server is not enabled
2022-01-21 12:28:59 +00:00
gnuxie
4537cf0d8a
Add test for ruleserver policy consumption.
...
Ensures that the consumer of the ruleserver rules is enforcing them.
2022-01-21 12:13:04 +00:00
gnuxie
7ee3ce1dd2
rename onReactionTo to getFirstReaction
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
Jess Porter
941d10b015
never mutate config.managementRoom in-place ( #184 )
2022-01-17 16:24:12 +00:00
David Teller
7f07caca3f
[CI] Retry registration attempts
2022-01-07 14:06:10 +01:00
David Teller
c48a1e8ffc
Let's make sure that we can still check for errors with concise error handling
2022-01-07 14:06:10 +01:00
David Teller
3f2039f6a7
Let's use getRequestFn/setRequestFn to keep errors readable
2022-01-07 14:06:10 +01:00
David Teller
9a8fed1695
Slightly cleaner MatrixClient wrapping
2022-01-07 14:06:10 +01:00
David Teller
57746f7fb4
Wrap MatrixClient into something that displays nicer error messages
2022-01-07 14:06:10 +01:00
gnuxie
0bbfe93a4b
Use MSC2313 m.policy.rule.* for rules and always prefer these types.
...
The reason for doing this is because otherwise there may be duplicate
rules under different state types for the same entity.
This simplifies the process of modifying or invalidating rules affecting
an entity because the rule with the most recent type will always be
preferred.
2021-11-29 11:45:22 +00:00
gnuxie
7aee14bf5c
Add test for banList changes
2021-11-29 11:45:22 +00:00
jess
1bf3ecac6d
consistently use 'alias' in ensureAliasedRoomExists ( #155 )
2021-11-19 17:09:58 +00:00
David Teller
a21415a04c
Give the ability to moderators to react quickly to /report abuse reports. ( #137 )
2021-11-09 13:15:49 +01:00
gnuxie
7a20b5a212
Fix helloTest hooks running before global hooks.
2021-10-20 12:11:00 +01:00
gnuxie
c52084c58a
Stop managing client from utils and require the caller to (tests)
...
Specifically `onReactionTo` was starting and stopping the client
argument it was given, which could be problematic if the caller
didn't expect that or didn't want it to.
2021-10-20 11:44:25 +01:00
gnuxie
7773949631
Fix indentation in fixtures.ts
2021-10-20 11:00:44 +01:00
gnuxie
6c1a502f34
Integration tests for redaction commands.
...
This is important now that both timeline pagination and
how the callbacks are now awaited during pagination
have been changed.
2021-10-20 11:00:44 +01:00
gnuxie
4e8315be44
Add regression test for timeline pagination.
2021-10-19 16:28:55 +01: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
gnuxie
776c1fe063
Tidy logging in integration tests
2021-09-30 15:52:06 +01:00