- Mar 07, 2023
-
-
Patrick Cloke authored
This removes the experimental configuration option and always escapes the push rule condition keys. Also escapes any (experimental) push rule condition keys in the base rules which contain dot in a field name.
-
Patrick Cloke authored
This removes the configuration flag & updates the identifiers to use the stable version.
-
- Mar 06, 2023
-
-
Patrick Cloke authored
This removes the configuration flag & updates the identifiers to use the stable version.
-
- Mar 02, 2023
-
-
Patrick Cloke authored
Update intentional mentions (MSC3952) to depend on `exact_event_property_contains` (MSC3966). (#15051) This replaces the specific `is_user_mention` push rule condition used in MSC3952 with the generic `exact_event_property_contains` push rule condition from MSC3966.
-
- Feb 28, 2023
-
-
Patrick Cloke authored
Internally the push rules module uses a `pattern_type` property for `event_match` conditions (and `related_event_match`) to mark the condition as matching the current user's Matrix ID or localpart. This is leaky to the Client-Server API where a user can successfully set a condition which provides `pattern_type` instead of `pattern` (note that there's no benefit to doing this -- the user can just use their own Matrix ID or localpart instead). When serializing back to the client the `pattern_type` property is converted into a proper `pattern`. The following changes are made to avoid this: * Separate the `KnownCondition::EventMatch` enum value into `EventMatch` and `EventMatchType`, each with their own expected properties. (Note that a similar change is made for `RelatedEventMatch`.) * Make it such that the `pattern_type` variants serialize to the same condition kind, but cannot be deserialized (since they're only provided by base rules). * As a final tweak, convert `user_id` vs. `user_localpart` values into an enum.
-
- Feb 23, 2023
-
-
Patrick Cloke authored
Previously the experimental configuration option referred to the wrong MSC number.
-
- Feb 16, 2023
-
-
Patrick Cloke authored
This replaces the specific `is_room_mention` push rule condition used in MSC3952 with the generic `exact_event_match` push rule condition from MSC3758. No functionality changes due to this.
-
- Feb 14, 2023
-
-
Patrick Cloke authored
The `exact_event_property_contains` condition can be used to search for a value inside of an array.
-
- Feb 10, 2023
-
-
Patrick Cloke authored
This specifies to search for an exact value match, instead of string globbing. It only works across non-compound JSON values (null, boolean, integer, and strings).
-
- Feb 08, 2023
-
-
Patrick Cloke authored
This disambiguates keys which attempt to match fields with a dot in them (e.g. m.relates_to). Disabled by default behind an experimental configuration flag.
-
- Feb 07, 2023
-
-
Patrick Cloke authored
-
- Feb 03, 2023
-
-
Patrick Cloke authored
-
Patrick Cloke authored
If the feature is enabled and the event has a `m.mentions` property, skip processing of the legacy mentions rules.
-
- Jan 27, 2023
-
-
Patrick Cloke authored
MSC3952 defines push rules which searches for mentions in a list of Matrix IDs in the event body, instead of searching the entire event body for display name / local part. This is implemented behind an experimental configuration flag and does not yet implement the backwards compatibility pieces of the MSC.
-
- Jan 11, 2023
-
-
Patrick Cloke authored
-
- Nov 28, 2022
-
-
Travis Ralston authored
* Add support for MSC3931: Room Version Supports push rule condition * Create experimental flag for future work, and use it to gate MSC3931 * Changelog entry
-
- Oct 25, 2022
-
-
DeepBlueV7.X authored
-
- Oct 12, 2022
-
-
Patrick Cloke authored
MSC3772 has been abandoned.
-
- Sep 30, 2022
-
-
Erik Johnston authored
We move the expensive check of visibility to after calculating push actions, avoiding the expensive check for users who won't get pushed anyway. I think this should have a big impact on rooms with large numbers of local users that have pushed disabled.
-
- Sep 29, 2022
-
-
Erik Johnston authored
-
- Jul 20, 2022
-
-
Erik Johnston authored
This can cause a lot of extra load on servers with lots of appservice users. Introduced in #13078
-
- May 24, 2022
-
-
Patrick Cloke authored
Implements the following behind an experimental configuration flag: * A new push rule kind for mutually related events. * A new default push rule (`.m.rule.thread_reply`) under an unstable prefix. This is missing part of MSC3772: * The `.m.rule.thread_reply_to_me` push rule, this depends on MSC3664 / #11804.
-
- Mar 21, 2022
-
-
Dirk Klimpel authored
-
- Feb 28, 2022
-
-
Richard van der Hoff authored
* Fix `PushRuleEvaluator` to work on frozendicts frozendicts do not (necessarily) inherit from dict, so this needs to handle them correctly. * Fix event filtering for frozen events Looks like this one was introduced by #11194.
-
- May 11, 2021
-
-
Richard van der Hoff authored
* tests for push rule pattern matching * tests for acl pattern matching * factor out common `re.escape` * Factor out common re.compile * Factor out common anchoring code * add word_boundary support to `glob_to_regex` * Use `glob_to_regex` in push rule evaluator NB that this drops support for character classes. I don't think anyone ever used them. * Improve efficiency of globs with multiple wildcards The idea here is that we compress multiple `*` globs into a single `.*`. We also need to consider `?`, since `*?*` is as hard to implement efficiently as `**`. * add assertion on regex pattern * Fix mypy * Simplify glob_to_regex * Inline the glob_to_regex helper function Signed-off-by:
Dan Callahan <danc@element.io> * Moar comments Signed-off-by:
Dan Callahan <danc@element.io> Co-authored-by:
Dan Callahan <danc@element.io>
-
- Apr 14, 2021
-
-
Jonathan de Jong authored
Part of #9744 Removes all redundant `# -*- coding: utf-8 -*-` lines from files, as python 3 automatically reads source code as utf-8 now. `Signed-off-by:
Jonathan de Jong <jonathan@automatia.nl>`>
-
- Jan 25, 2021
-
-
Patrick Cloke authored
Treat the content as untrusted and do not assume it is of the proper form.
-
- Jul 06, 2020
-
-
reivilibre authored
* Fix spec compliance; tweaks without values are valid (default to True, which is only concretely specified for `highlight`, but it seems only reasonable to generalise) * Changelog for 7766. * Add documentation to `tweaks_for_actions` May as well tidy up when I'm here. * Add a test for `tweaks_for_actions`
-
- Jun 15, 2020
-
-
Patrick Cloke authored
-
- Apr 22, 2020
-
-
Patrick Cloke authored
-
- Apr 16, 2020
-
-
Patrick Cloke authored
-