diff --git a/src/addon/mod/forum/providers/prefetch-handler.ts b/src/addon/mod/forum/providers/prefetch-handler.ts index 7b82c8d3c..04e3289f8 100644 --- a/src/addon/mod/forum/providers/prefetch-handler.ts +++ b/src/addon/mod/forum/providers/prefetch-handler.ts @@ -195,8 +195,10 @@ export class AddonModForumPrefetchHandler extends CoreCourseActivityPrefetchHand }); // Prefetch intro files, attachments, embedded files and user avatars. - const files = this.getIntroFilesFromInstance(module, forum).concat(this.getPostsFiles(posts)) - .concat(Object.keys(avatars)); + const avatarFiles = Object.keys(avatars).map((url) => { + return { fileurl: url }; + }); + const files = this.getIntroFilesFromInstance(module, forum).concat(this.getPostsFiles(posts)).concat(avatarFiles); promises.push(this.filepoolProvider.addFilesToQueue(siteId, files, this.component, module.id)); // Prefetch groups data. diff --git a/src/addon/mod/glossary/providers/prefetch-handler.ts b/src/addon/mod/glossary/providers/prefetch-handler.ts index e43835243..ba5be62f3 100644 --- a/src/addon/mod/glossary/providers/prefetch-handler.ts +++ b/src/addon/mod/glossary/providers/prefetch-handler.ts @@ -170,7 +170,11 @@ export class AddonModGlossaryPrefetchHandler extends CoreCourseActivityPrefetchH } }); - const files = this.getFilesFromGlossaryAndEntries(module, glossary, entries).concat(Object.keys(avatars)); + // Prefetch intro files, entries files and user avatars. + const avatarFiles = Object.keys(avatars).map((url) => { + return { fileurl: url }; + }); + const files = this.getFilesFromGlossaryAndEntries(module, glossary, entries).concat(avatarFiles); promises.push(this.filepoolProvider.addFilesToQueue(siteId, files, this.component, module.id)); return Promise.all(promises); diff --git a/src/core/login/providers/helper.ts b/src/core/login/providers/helper.ts index af5b97243..2d4bbc62f 100644 --- a/src/core/login/providers/helper.ts +++ b/src/core/login/providers/helper.ts @@ -938,6 +938,8 @@ export class CoreLoginHelperProvider { promise.then(() => { this.waitingForBrowser = true; + this.sitesProvider.unsetCurrentSite(); // We need to unset current site to make authentication work fine. + this.openBrowserForSSOLogin(result.siteUrl, result.code, result.service, result.config && result.config.launchurl, data.pageName, data.params); }).catch(() => { diff --git a/src/providers/sites.ts b/src/providers/sites.ts index 31fc08b64..de7424c1b 100644 --- a/src/providers/sites.ts +++ b/src/providers/sites.ts @@ -1181,6 +1181,13 @@ export class CoreSitesProvider { }); } + /** + * Unset current site. + */ + unsetCurrentSite(): void { + this.currentSite = undefined; + } + /** * Updates a site's token. *