diff --git a/VERSION.md b/VERSION.md index 9fb62197..df64dd0a 100644 --- a/VERSION.md +++ b/VERSION.md @@ -1,3 +1,10 @@ +# Release History + +## Version 0.0.24 + +- FIX: AskDialog compilation error. +- FIX: More Whatsapp line adjustments: Duplicated 'Hi!' & log enrichment. + ## Version 0.0.23 - FIX: Duplicated asking on main loop removed. diff --git a/deploy/core.gbapp/dialogs/WelcomeDialog.ts b/deploy/core.gbapp/dialogs/WelcomeDialog.ts index 61f2486a..7453866b 100644 --- a/deploy/core.gbapp/dialogs/WelcomeDialog.ts +++ b/deploy/core.gbapp/dialogs/WelcomeDialog.ts @@ -56,7 +56,8 @@ export class WelcomeDialog extends IGBDialog { session.endDialog(msgs); } - if (session.message) { + + if (session.message && session.message.text != "") { session.replaceDialog("/answer", { query: session.message.text }); return; } diff --git a/deploy/core.gbapp/services/GBConversationalService.ts b/deploy/core.gbapp/services/GBConversationalService.ts index c717383b..118755d0 100644 --- a/deploy/core.gbapp/services/GBConversationalService.ts +++ b/deploy/core.gbapp/services/GBConversationalService.ts @@ -110,6 +110,7 @@ export class GBConversationalService implements IGBConversationalService { logger.trace("error: intent: [" + intent + "] error: [" + error + "]"); session.sendTyping(); session.send("Desculpe-me, não encontrei nada a respeito..."); + session.replaceDialog("/ask", {isReturning: true}); } } @@ -117,6 +118,7 @@ export class GBConversationalService implements IGBConversationalService { } else { session.sendTyping(); session.send("Lamento, não achei nada a respeito..."); + session.replaceDialog("/ask", {isReturning: true}); cb(null, null); } } diff --git a/deploy/core.gbapp/services/GBCoreService.ts b/deploy/core.gbapp/services/GBCoreService.ts index d30a9665..7aefeb6c 100644 --- a/deploy/core.gbapp/services/GBCoreService.ts +++ b/deploy/core.gbapp/services/GBCoreService.ts @@ -44,7 +44,7 @@ const logger = require("../../../src/logger"); import { Sequelize } from "sequelize-typescript"; import { Promise } from "bluebird"; import { GBConfigService } from "./GBConfigService"; -import { DataTypeUUIDv1 } from "sequelize"; +import { DataTypeUUIDv1 } from "sequelize"; import { UniversalBot } from "botbuilder"; import { GBServiceCallback, IGBInstance, IGBCoreService } from 'botlib'; import { GuaribasInstance } from "../models/GBModel"; @@ -105,13 +105,18 @@ export class GBCoreService implements IGBCoreService { }); cb(); } - + syncDatabaseStructure(cb) { - logger.trace("Syncing database..."); - this.sequelize.sync().then(value => { - logger.trace("Database synced."); - cb(); - }); + if (GBConfigService.get("DATABASE_SYNC")) { + logger.trace("Syncing database..."); + this.sequelize.sync().then(value => { + logger.trace("Database synced."); + cb(); + }); + } + else{ + logger.trace("Database synchronization is disabled."); + } } diff --git a/deploy/core.gbapp/services/GBMinService.ts b/deploy/core.gbapp/services/GBMinService.ts index dcbd27a6..5121e8b1 100644 --- a/deploy/core.gbapp/services/GBMinService.ts +++ b/deploy/core.gbapp/services/GBMinService.ts @@ -115,7 +115,7 @@ export class GBMinService { Authorization: `Bearer ${instance.webchatKey}` } }; - request(options).then((response: + request(options).then((response: string) => { // Serves the bot information object via http so clients can get @@ -246,20 +246,24 @@ export class GBMinService { }, receive: function (event: any, next) { logger.trace( - `Event RCV: (Type: ${event.type}, Name: ${event.name}, Value: ${ - event.value - }).` + `[RCV]: ChannelID: ${event.address.channelId}, ConversationID: ${event.address.conversation.id} + Type: ${event.type}, Name: ${event.name}, Text: ${event.text}.` ); // PACKAGE: Provide loop here. if ( event.type === "conversationUpdate" && - event.membersAdded.length > 0 && - event.membersAdded[0].name != "You" + event.membersAdded.length > 0 + // TODO: Is it really Necessary? !event.membersAdded[0].id.startsWith('general-bot-9672a8d3') //DEMO: min.botId) //TODO: Check entire collection. ) { - min.bot.beginDialog(event.address, "/"); + if (event.address.channelId != "directline") { + min.bot.beginDialog(event.address, "/"); + } + else { + next(); + } } else if (event.name === "whoAmI") { min.bot.beginDialog(event.address, "/whoAmI"); } else if (event.name === "showSubjects") { @@ -284,6 +288,9 @@ export class GBMinService { } }, send: function (event, next) { + logger.trace( + `[SND]: ChannelID: ${event.address.channelId}, ConversationID: ${event.address.conversation}, + Type: ${event.type} `); this.core.createMessage( this.min.conversation, this.min.conversation.startedBy, diff --git a/deploy/kb.gbapp/dialogs/AskDialog.ts b/deploy/kb.gbapp/dialogs/AskDialog.ts index 851a3418..4b408ea6 100644 --- a/deploy/kb.gbapp/dialogs/AskDialog.ts +++ b/deploy/kb.gbapp/dialogs/AskDialog.ts @@ -47,6 +47,7 @@ export class AskDialog extends IGBDialog { bot.dialog("/answer", [ (session, args) => { + let text = ""; if (args && args.query) { diff --git a/deploy/kb.gbapp/services/KBService.ts b/deploy/kb.gbapp/services/KBService.ts index 3bcb7385..a54eb041 100644 --- a/deploy/kb.gbapp/services/KBService.ts +++ b/deploy/kb.gbapp/services/KBService.ts @@ -118,6 +118,7 @@ export class KBService { // Builds search query. + what = what.toLowerCase(); what = what.replace("?", " "); what = what.replace("!", " "); what = what.replace(".", " "); @@ -125,9 +126,12 @@ export class KBService { what = what.replace("\\", " "); if (subjects) { - what = `${what} ${KBService.getSubjectItemsSeparatedBySpaces( + let text = KBService.getSubjectItemsSeparatedBySpaces( subjects - )}`; + ); + if (text){ + what = `${what} ${text}`; + } } // TODO: Filter by instance. what = `${what}&$filter=instanceId eq ${instanceId}`; diff --git a/package.json b/package.json index 11087953..0b64dbc8 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "botserver", - "version": "0.0.23", + "version": "0.0.24", "description": "General Bot Community Edition open-core server.", "contributors": [ "Rodrigo Rodriguez "