Skip to content
Snippets Groups Projects
  1. Mar 07, 2023
  2. Mar 06, 2023
  3. Mar 02, 2023
    • Patrick Cloke's avatar
      Update intentional mentions (MSC3952) to depend on... · 8ef324ea
      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.
      8ef324ea
  4. Feb 28, 2023
    • Patrick Cloke's avatar
      Do not accept pattern_type from user input in push rules. (#15088) · e746f80b
      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.
      e746f80b
  5. Feb 23, 2023
  6. Feb 16, 2023
  7. Feb 14, 2023
  8. Feb 10, 2023
  9. Feb 08, 2023
  10. Feb 07, 2023
  11. Feb 03, 2023
  12. Jan 27, 2023
    • Patrick Cloke's avatar
      Implement MSC3952: Intentional mentions (#14823) · 2a51f3ec
      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.
      2a51f3ec
  13. Jan 11, 2023
  14. Nov 28, 2022
  15. Oct 25, 2022
  16. Oct 12, 2022
  17. Sep 30, 2022
    • Erik Johnston's avatar
      Speed up calculating push actions in large rooms (#13973) · 285b9e9b
      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.
      285b9e9b
  18. Sep 29, 2022
  19. Jul 20, 2022
  20. May 24, 2022
    • Patrick Cloke's avatar
      Experimental support for MSC3772 (#12740) · 88ce3080
      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.
      88ce3080
  21. Mar 21, 2022
  22. Feb 28, 2022
  23. May 11, 2021
    • Richard van der Hoff's avatar
      Merge pull request from GHSA-x345-32rc-8h85 · 03318a76
      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: default avatarDan Callahan <danc@element.io>
      
      * Moar comments
      
      Signed-off-by: default avatarDan Callahan <danc@element.io>
      
      Co-authored-by: default avatarDan Callahan <danc@element.io>
      03318a76
  24. Apr 14, 2021
  25. Jan 25, 2021
  26. Jul 06, 2020
    • reivilibre's avatar
      Don't ignore `set_tweak` actions with no explicit `value`. (#7766) · 57feeab3
      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`
      57feeab3
  27. Jun 15, 2020
  28. Apr 22, 2020
  29. Apr 16, 2020
Loading