feat(push): add experimental support for MSC3768 (in-app-only notifications)
This adds experimental support for MSC3768 by introducing the push rule action NotifyInApp and a room notification mode that is similar to mentions & keywords but notifies in-app rather than muting other notifications.
- [ ] Public API changes documented in changelogs (optional)
Signed-off-by:
Codecov Report
:white_check_mark: All modified and coverable lines are covered by tests.
:white_check_mark: Project coverage is 88.92%. Comparing base (92192c5) to head (c3a694c).
:warning: Report is 49 commits behind head on main.
:white_check_mark: All tests successful. No failed tests found.
Additional details and impacted files
@@ Coverage Diff @@
## main #5441 +/- ##
=======================================
Coverage 88.92% 88.92%
=======================================
Files 333 333
Lines 92267 92311 +44
Branches 92267 92311 +44
=======================================
+ Hits 82051 82091 +40
- Misses 6374 6378 +4
Partials 3842 3842
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.
CodSpeed Performance Report
Merging #5441 will not alter performance
Comparing Johennes:johannes/msc3768 (c3a694c) with main (872713c)
Summary
✅ 31 untouched benchmarks
For the tests, I'd like to integrate something into matrix-sdk-ui/tests/integration/notification_client.rs but I'm struggling a bit to see how to inject custom push rules in the client. It looks like all the current tests just run with the default push rules?
Tests are still missing. I will need to figure out how to extend the existing ones.
Moving back to draft to re-evaluate alternatives to MSC3768.