-
-
Notifications
You must be signed in to change notification settings - Fork 2.1k
Missing content
for edited encrypted event
#14252
Comments
So, the problem here stems from an ambiguity in the spec. https://spec.matrix.org/v1.4/client-server-api/#editing-encrypted-events says:
(An alternative would have been to put the encrypted payload inside We then have https://spec.matrix.org/v1.4/client-server-api/#server-side-replacement-of-content, which says:
Of course, the server doesn't have access to This behaviour changed in #14034, which updated Synapse to follow the spec in applying edits to encrypted events. |
I've opened matrix-org/matrix-spec#1299 to track this on the spec side. |
Looks like web can be affected in some cases Original event (displayed in UTD in the screen shot)
And the actual edit event (visible because of dev mode) is decrypted correctly (eventID is Maybe the edit was received before the original event (back pagination / gappy sync?) https://github.com/matrix-org/element-web-rageshakes/issues/16338 It's strange both message and edit were sent from this device (few seconds away). But somehow later I got back the message from server (probably a back pagination this morning following gappy sync?). Then the original message has been replaced with the one with empty content? and that did break the edit chain?? |
From our backend meeting today the decision was to backout the change for 1.70, see #14283. The other option we had was to special-case encrypted events to be bundled, but not apply the edit content. We decided against this as we didn't want to introduce a non-specced behavior. |
@richvdh I'm going to close this since the fix is now on the release branch. I think once a conclusion is done in matrix-org/matrix-spec#1299 we can file a separate issue to implement? |
According to @BillCarsonFr (element-hq/element-web#23550 (comment)):
limited=true
for that roomThe original event is then returned with with empty content, as if it's been redacted:
The text was updated successfully, but these errors were encountered: