MOBILE-4089 forum: Fix infinite loop in getDiscussionsInPages

main
Dani Palou 2022-06-02 16:10:31 +02:00 committed by Pau Ferrer Ocaña
parent 98e54d05be
commit 585f669641
1 changed files with 5 additions and 4 deletions

View File

@ -845,8 +845,6 @@ export class AddonModForumProvider {
forumId: number, forumId: number,
options: AddonModForumGetDiscussionsInPagesOptions = {}, options: AddonModForumGetDiscussionsInPagesOptions = {},
): Promise<{ discussions: AddonModForumDiscussion[]; error: boolean }> { ): Promise<{ discussions: AddonModForumDiscussion[]; error: boolean }> {
options.page = options.page || 0;
const result = { const result = {
discussions: [] as AddonModForumDiscussion[], discussions: [] as AddonModForumDiscussion[],
error: false, error: false,
@ -859,7 +857,10 @@ export class AddonModForumProvider {
const getPage = (page: number): Promise<{ discussions: AddonModForumDiscussion[]; error: boolean }> => const getPage = (page: number): Promise<{ discussions: AddonModForumDiscussion[]; error: boolean }> =>
// Get page discussions. // Get page discussions.
this.getDiscussions(forumId, options).then((response) => { this.getDiscussions(forumId, {
...options,
page,
}).then((response) => {
result.discussions = result.discussions.concat(response.discussions); result.discussions = result.discussions.concat(response.discussions);
numPages--; numPages--;
@ -876,7 +877,7 @@ export class AddonModForumProvider {
}) })
; ;
return getPage(options.page); return getPage(options.page ?? 0);
} }
/** /**