Skip to content
This repository was archived by the owner on Sep 11, 2024. It is now read-only.

Commit ef96f5c

Browse files
author
Kerry Archibald
committed
Merge branch 'develop' into kerryarchibald/ts-test-stores
Signed-off-by: Kerry Archibald <[email protected]>
2 parents 511a1a6 + 9082e07 commit ef96f5c

File tree

2 files changed

+18
-9
lines changed

2 files changed

+18
-9
lines changed

src/components/views/rooms/PinnedEventTile.tsx

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -80,18 +80,22 @@ export default class PinnedEventTile extends React.Component<IProps> {
8080
await Promise.all(
8181
[M_POLL_RESPONSE.name, M_POLL_RESPONSE.altName, M_POLL_END.name, M_POLL_END.altName]
8282
.map(async eventType => {
83-
const { events } = await this.context.relations(
84-
roomId, eventId, RelationType.Reference, eventType,
85-
);
86-
8783
const relations = new Relations(RelationType.Reference, eventType, room);
84+
relations.setTargetEvent(this.props.event);
85+
8886
if (!this.relations.has(RelationType.Reference)) {
8987
this.relations.set(RelationType.Reference, new Map<string, Relations>());
9088
}
9189
this.relations.get(RelationType.Reference).set(eventType, relations);
9290

93-
relations.setTargetEvent(this.props.event);
94-
events.forEach(event => relations.addEvent(event));
91+
let nextBatch: string | undefined;
92+
do {
93+
const page = await this.context.relations(
94+
roomId, eventId, RelationType.Reference, eventType, { from: nextBatch },
95+
);
96+
nextBatch = page.nextBatch;
97+
page.events.forEach(event => relations.addEvent(event));
98+
} while (nextBatch);
9599
}),
96100
);
97101
} catch (err) {

test/components/views/right_panel/PinnedMessagesCard-test.tsx

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -234,11 +234,16 @@ describe("<PinnedMessagesCard />", () => {
234234
});
235235

236236
// Make the responses available
237-
cli.relations.mockImplementation((roomId, eventId, relationType, eventType) => {
237+
cli.relations.mockImplementation((roomId, eventId, relationType, eventType, { from }) => {
238238
if (eventId === poll.getId() && relationType === RelationType.Reference) {
239239
switch (eventType) {
240-
case M_POLL_RESPONSE.name: return { events: responses };
241-
case M_POLL_END.name: return { events: [end] };
240+
case M_POLL_RESPONSE.name:
241+
// Paginate the results, for added challenge
242+
return (from === "page2") ?
243+
{ events: responses.slice(2) } :
244+
{ events: responses.slice(0, 2), nextBatch: "page2" };
245+
case M_POLL_END.name:
246+
return { events: [end] };
242247
}
243248
}
244249
return { events: [] };

0 commit comments

Comments
 (0)