-
-
Notifications
You must be signed in to change notification settings - Fork 590
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix messages loaded during initial fetch ending up out of order #2971
Fix messages loaded during initial fetch ending up out of order #2971
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I love that this is a one-line fix!
One commented assertion, and a question.
@@ -1624,10 +1626,35 @@ describe("MatrixClient event timelines", function () { | |||
}, | |||
}, | |||
}); | |||
httpBackend |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please could you explain to me how these changes to the test check we are now behaving correctly?
I was expecting to see a test which failed before because events were out of order, but now passes.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The issue with that is that the tests often omit certain parts of the way threads are loaded, to reduce complexity. Otherwise our tests would be much larger than the are. Ideally, each of these tests only tests the part of the functionality that it's concerned with, and mocks the rest.
But as this PR changes a minor part of the original functionality, the way tests mock the loading has to be adapted.
There's no single test that can easily test this issue yet, because the way we mock the loading can mask the issue itself.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We talked over Matrix and agreed that @justjanne will work on a test that failed before and passes now.
The new test will either be part of this PR, or a new one as soon as possible afterwards.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Approving so long as a new test comes soon afterwards.
Thanks!
* Process `m.room.encryption` events before emitting `RoomMember` events ([\matrix-org#2914](matrix-org#2914)). Fixes element-hq/element-web#23819. * Don't expose `calls` on `GroupCall` ([\matrix-org#2941](matrix-org#2941)). * Support MSC3391: Account data deletion ([\matrix-org#2967](matrix-org#2967)). * Add a message ID on each to-device message ([\matrix-org#2938](matrix-org#2938)). * Enable multiple users' power levels to be set at once ([\matrix-org#2892](matrix-org#2892)). Contributed by @GoodGuyMarco. * Include pending events in thread summary and count again ([\matrix-org#2922](matrix-org#2922)). Fixes element-hq/element-web#23642. * Make GroupCall work better with widgets ([\matrix-org#2935](matrix-org#2935)). * Add method to get outgoing room key requests for a given event ([\matrix-org#2930](matrix-org#2930)). * Fix messages loaded during initial fetch ending up out of order ([\matrix-org#2971](matrix-org#2971)). Fixes element-hq/element-web#23972. * Fix #23919: Root message for new thread loaded from network ([\matrix-org#2965](matrix-org#2965)). Fixes element-hq/element-web#23919. * Fix #23916: Prevent edits of the last message in a thread getting lost ([\matrix-org#2951](matrix-org#2951)). Fixes element-hq/element-web#23916 and element-hq/element-web#23942. * Fix infinite loop when restoring cached read receipts ([\matrix-org#2963](matrix-org#2963)). Fixes element-hq/element-web#23951. * Don't swallow errors coming from the shareSession call ([\matrix-org#2962](matrix-org#2962)). Fixes element-hq/element-web#23792. * Make sure that MegolmEncryption.setupPromise always resolves ([\matrix-org#2960](matrix-org#2960)). * Do not calculate highlight notifs for threads unknown to the room ([\matrix-org#2957](matrix-org#2957)). * Cache read receipts for unknown threads ([\matrix-org#2953](matrix-org#2953)). * bugfix: sliding sync initial room timelines shouldn't notify ([\matrix-org#2933](matrix-org#2933)). * Redo key sharing after own device verification ([\matrix-org#2921](matrix-org#2921)). Fixes element-hq/element-web#23333. * Move updated threads to the end of the thread list ([\matrix-org#2923](matrix-org#2923)). Fixes element-hq/element-web#23876. * Fix highlight notifications increasing when total notification is zero ([\matrix-org#2937](matrix-org#2937)). Fixes element-hq/element-web#23885. * Fix synthesizeReceipt ([\matrix-org#2916](matrix-org#2916)). Fixes element-hq/element-web#23827 element-hq/element-web#23754 and element-hq/element-web#23847.
Type: Defect
Fixes: element-hq/element-web#23972
Here's what your changelog entry will look like:
🐛 Bug Fixes