You've already forked matrix-js-sdk
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:
@@ -2155,10 +2155,11 @@ MatrixClient.prototype.getEventTimeline = function(room, eventId) {
|
|||||||
|
|
||||||
// we start with the last event, since that's the point at which we
|
// we start with the last event, since that's the point at which we
|
||||||
// have known state.
|
// 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.event])
|
||||||
.concat(res.events_after);
|
.concat(res.events_before);
|
||||||
events.reverse();
|
|
||||||
var matrixEvents = utils.map(events, self.getEventMapper());
|
var matrixEvents = utils.map(events, self.getEventMapper());
|
||||||
|
|
||||||
var timeline = room.getTimelineForEvent(matrixEvents[0].getId());
|
var timeline = room.getTimelineForEvent(matrixEvents[0].getId());
|
||||||
|
|||||||
@@ -238,9 +238,9 @@ describe("MatrixClient event timelines", function() {
|
|||||||
.respond(200, function() {
|
.respond(200, function() {
|
||||||
return {
|
return {
|
||||||
start: "start_token",
|
start: "start_token",
|
||||||
events_before: [EVENTS[0]],
|
events_before: [EVENTS[1], EVENTS[0]],
|
||||||
event: EVENTS[1],
|
event: EVENTS[2],
|
||||||
events_after: [EVENTS[2]],
|
events_after: [EVENTS[3]],
|
||||||
state: [
|
state: [
|
||||||
ROOM_NAME_EVENT,
|
ROOM_NAME_EVENT,
|
||||||
USER_MEMBERSHIP_EVENT,
|
USER_MEMBERSHIP_EVENT,
|
||||||
@@ -250,8 +250,8 @@ describe("MatrixClient event timelines", function() {
|
|||||||
});
|
});
|
||||||
|
|
||||||
client.getEventTimeline(room, "event1:bar").then(function(tl) {
|
client.getEventTimeline(room, "event1:bar").then(function(tl) {
|
||||||
expect(tl.getEvents().length).toEqual(3);
|
expect(tl.getEvents().length).toEqual(4);
|
||||||
for (var i = 0; i < 3; i++) {
|
for (var i = 0; i < 4; i++) {
|
||||||
expect(tl.getEvents()[i].event).toEqual(EVENTS[i]);
|
expect(tl.getEvents()[i].event).toEqual(EVENTS[i]);
|
||||||
expect(tl.getEvents()[i].sender.name).toEqual(userName);
|
expect(tl.getEvents()[i].sender.name).toEqual(userName);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user