From ac021713706cb1b98c8a09e4c89238eaf82020c9 Mon Sep 17 00:00:00 2001 From: Rodrigo Rodriguez Date: Fri, 28 Jul 2023 20:56:38 -0300 Subject: [PATCH] fix(all): Minor changes in PROD. --- .hintrc | 3 ++- packages/core.gbapp/services/GBSSR.ts | 33 +++++++++++++++++---------- 2 files changed, 23 insertions(+), 13 deletions(-) diff --git a/.hintrc b/.hintrc index 12c4655b4..676179f4b 100644 --- a/.hintrc +++ b/.hintrc @@ -3,6 +3,7 @@ "development" ], "hints": { - "typescript-config/strict": "off" + "typescript-config/strict": "off", + "typescript-config/consistent-casing": "off" } } \ No newline at end of file diff --git a/packages/core.gbapp/services/GBSSR.ts b/packages/core.gbapp/services/GBSSR.ts index f08a18c60..28e7b7aca 100644 --- a/packages/core.gbapp/services/GBSSR.ts +++ b/packages/core.gbapp/services/GBSSR.ts @@ -125,10 +125,11 @@ export class GBSSR { }; } + public static async createBrowser(profilePath): Promise { const opts = this.preparePuppeteer(profilePath); puppeteer.use(hidden()); - puppeteer.use(require('puppeteer-extra-plugin-minmax')()); + puppeteer.use(require("puppeteer-extra-plugin-minmax")()); const browser = await puppeteer.launch(opts); return browser; } @@ -284,26 +285,31 @@ export class GBSSR { const minBoot = GBServer.globals.minBoot; - const onlyChars = /\/([A-Za-z0-9\-\_]+)\/*/.exec(req.originalUrl); + let onlyChars:any = /\/([A-Za-z0-9\-\_]+)\/*/.exec(req.originalUrl); + onlyChars = onlyChars? onlyChars[1]: null; + + let botId = + req.originalUrl && req.originalUrl === '/' ? + minBoot.botId : + onlyChars; - let botId = (req.originalUrl && req.originalUrl === '/') || onlyChars ? onlyChars[1] : minBoot.botId; let min: GBMinInstance = req.url === '/' ? minBoot : GBServer.globals.minInstances.filter(p => p.instance.botId.toLowerCase() === botId.toLowerCase())[0]; if (!min) { - min = - req.url === '/' - ? minBoot - : GBServer.globals.minInstances.filter(p => - p.instance.activationCode ? p.instance.activationCode.toLowerCase() === botId.toLowerCase() : null - )[0]; + min = req.url === '/' + ? minBoot + : GBServer.globals.minInstances.filter(p => + p.instance.activationCode ? p.instance.activationCode.toLowerCase() === botId.toLowerCase() + : null)[0]; } if (!min) { botId = minBoot.botId; } + let path = DialogKeywords.getGBAIPath(botId, `gbui`); // Checks if the bot has an .gbui published or use default.gbui. @@ -315,6 +321,7 @@ export class GBSSR { let url = parts[0]; if (min && req.originalUrl && prerender && exclude) { + // Reads from static HTML when a bot is crawling. path = Path.join(process.env.PWD, 'work', path, 'index.html'); @@ -322,6 +329,7 @@ export class GBSSR { res.status(200).send(html); return true; } else { + // Servers default.gbui web application. path = Path.join( @@ -332,17 +340,18 @@ export class GBSSR { url === '/' || url === '' ? `index.html` : url ); if (GBServer.globals.wwwroot && url === '/') { - path = GBServer.globals.wwwroot + '/index.html'; // TODO. + path = GBServer.globals.wwwroot + "/index.html"; // TODO. } - if (!min && !url.startsWith('/static') && GBServer.globals.wwwroot) { + if (!min && !url.startsWith("/static") && GBServer.globals.wwwroot) { path = Path.join(GBServer.globals.wwwroot, url); } if (Fs.existsSync(path)) { if (min) { let html = Fs.readFileSync(path, 'utf8'); html = html.replace(/\{p\}/gi, min.botId); - html = html.replace(/\{theme\}/gi, min.instance.theme ? min.instance.theme : 'default.gbtheme'); html = html.replace(/\{botId\}/gi, min.botId); + html = html.replace(/\{theme\}/gi, min.instance.theme ? min.instance.theme : + 'default.gbtheme'); html = html.replace(/\{title\}/gi, min.instance.title); res.send(html).end(); } else {