-
-
Notifications
You must be signed in to change notification settings - Fork 2.1k
Stabilize support for MSC3952: intentional mentions #15487
Comments
I think in the past we've just punted on this problem, but does there seem like a reasonable way to have clients get notified of a new push rule for incremental syncs? I think we'd need to do something like push a new row into What do people think about this? |
Actually, we might need to add two rows, one for |
@reivilibre had a few good ideas:
Other thoughts:
|
I asked client developers for some help with this. The matrix-js-sdk treats unknown conditions as "not matching" which seems like a reasonable way to fallback. |
Turns out that we've been leaking the extensible events rules since they were implemented, which have new conditions and nothing has exploded. 😢 See #15494. |
I think I have a proof-of-concept using this approach, it does mean that we have to make the
It seems like the push rules stream is only writable from the main process (which is also where we run background updates), so I don't think this will be an issue.
This depends a bit on the implementation, but I guess we'd write a marker that all user's streams are updated at X. After a rollback we wouldn't read that marker anywhere, but individual user streams might move past X. When rolling forward again we would read the marker, but the user's stream is farther along so we would do nothing with it? tl;dr Rollback + forward could mean that some users aren't notified of the update. |
It looks like Element Web pulls push rules separately during an incremental sync. I discussed this a bit with folks and I think the failure mode of the push rules being out of date between server & client is that you end up in backwards compatiblity discussed in the MSC. It seems any attempt to push the rules down a stream will probably be a bit buggy, which makes me think it won't be worth the effort. |
We'll want to tweak this a bit more per this comment to handle a better migration path for users from the legacy rules to the stable rules. |
This looks a bit more annoying than expected, since the Additionally things that won't work well include:
|
We no longer want to migrate existing users. @clokep did an analysis of how many folks would need to be migrated and the amount of effort it would take to do so -- I do not believe it's worth it and the outcome of not migrating people is not that bad (they can go back to settings and turn it off). Therefore, this is ready to go! The meta issue has also been updated FYI: element-hq/element-web#24291 |
I think we just need to merge #15520. |
MSC3952 has almost passed FCP, we need a plan to stabilize it.
Figure out if we can send the new rule down incremental syncs.The text was updated successfully, but these errors were encountered: