1
0
mirror of https://github.com/matrix-org/matrix-js-sdk.git synced 2025-12-04 05:02:41 +03:00

Interpret the response from /context correctly

events_before are backwards

Fixes https://github.com/vector-im/vector-web/issues/963
This commit is contained in:
Richard van der Hoff
2016-02-19 17:03:47 +00:00
parent 923b9cad39
commit 24ae4a8d1a
2 changed files with 9 additions and 8 deletions

View File

@@ -2155,10 +2155,11 @@ MatrixClient.prototype.getEventTimeline = function(room, eventId) {
// we start with the last event, since that's the point at which we
// have known state.
var events = res.events_before
// events_after is already backwards; events_before is forwards.
res.events_after.reverse();
var events = res.events_after
.concat([res.event])
.concat(res.events_after);
events.reverse();
.concat(res.events_before);
var matrixEvents = utils.map(events, self.getEventMapper());
var timeline = room.getTimelineForEvent(matrixEvents[0].getId());

View File

@@ -238,9 +238,9 @@ describe("MatrixClient event timelines", function() {
.respond(200, function() {
return {
start: "start_token",
events_before: [EVENTS[0]],
event: EVENTS[1],
events_after: [EVENTS[2]],
events_before: [EVENTS[1], EVENTS[0]],
event: EVENTS[2],
events_after: [EVENTS[3]],
state: [
ROOM_NAME_EVENT,
USER_MEMBERSHIP_EVENT,
@@ -250,8 +250,8 @@ describe("MatrixClient event timelines", function() {
});
client.getEventTimeline(room, "event1:bar").then(function(tl) {
expect(tl.getEvents().length).toEqual(3);
for (var i = 0; i < 3; i++) {
expect(tl.getEvents().length).toEqual(4);
for (var i = 0; i < 4; i++) {
expect(tl.getEvents()[i].event).toEqual(EVENTS[i]);
expect(tl.getEvents()[i].sender.name).toEqual(userName);
}