Skip to content

Commit f699dba

Browse files
author
Fabio Colajanni
committed
fix filtering cc logic
1 parent 5125acf commit f699dba

File tree

3 files changed

+6
-7
lines changed

3 files changed

+6
-7
lines changed

Diff for: src/webchat-ui/components/WebchatUI.tsx

+3-2
Original file line numberDiff line numberDiff line change
@@ -1382,14 +1382,15 @@ export class WebchatUI extends React.PureComponent<
13821382

13831383
// Find specifics controlCommands messages and remove from the messages list (these message types are not displayed in the chat log).
13841384
// If we do not remove, they will conflict with funcitonalities like messages collation and QR buttons disabling.
1385-
const messagesExcludingControlCommands = getMessagesListWithoutControlCommands(messages);
1385+
const messagesExcludingPrivacyMessage = getMessagesListWithoutControlCommands(messages, ["acceptPrivacyPolicy"]);
1386+
const messagesExcludingControlCommands = getMessagesListWithoutControlCommands(messages, ["acceptPrivacyPolicy", "setRating"]);
13861387

13871388
return (
13881389
<>
13891390
<TopStatusMessage variant="body-regular" component="div">
13901391
You are now talking to an AI agent.
13911392
</TopStatusMessage>
1392-
{messagesExcludingControlCommands.map((message, index) => {
1393+
{messagesExcludingPrivacyMessage.map((message, index) => {
13931394
// Lookahead if there is a user reply
13941395
const hasReply = messagesExcludingControlCommands
13951396
.slice(index + 1)

Diff for: src/webchat-ui/utils/filter-out-control-commands.ts

+2-4
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,11 @@
11
import { IMessageEvent } from "../../common/interfaces/event";
22
import { IMessage } from "../../common/interfaces/message";
33

4-
const EXCLUDE_CC_TYPES = ["acceptPrivacyPolicy", "setRating"];
5-
6-
const getMessagesListWithoutControlCommands = (messages: (IMessage | IMessageEvent)[]) => {
4+
const getMessagesListWithoutControlCommands = (messages: (IMessage | IMessageEvent)[], types: string[]) => {
75
return messages.filter(message => {
86
if (message.data?._cognigy && (message.data._cognigy as any).controlCommands) {
97
return !(message.data._cognigy as any).controlCommands.some((controlCommand: any) =>
10-
EXCLUDE_CC_TYPES.includes(controlCommand.type),
8+
types.includes(controlCommand.type),
119
);
1210
}
1311
return true;

Diff for: src/webchat/store/autoinject/autoinject-middleware.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ export const createAutoInjectMiddleware = (webchat: Webchat): Middleware<unknown
5151
// Exclude engagement messages from state.messages
5252
const messagesExcludingEngagementMessages = state.messages?.filter(message => message.source !== 'engagement');
5353
// Exclude controlCommands messages from filtered message list
54-
const messagesExcludingControlCommands = getMessagesListWithoutControlCommands(messagesExcludingEngagementMessages);
54+
const messagesExcludingControlCommands = getMessagesListWithoutControlCommands(messagesExcludingEngagementMessages, ["acceptPrivacyPolicy", "setRating"]);
5555
const isEmptyExceptEngagementAndControlCommands = messagesExcludingControlCommands.length === 0;
5656

5757
if (!isEmptyExceptEngagementAndControlCommands) {

0 commit comments

Comments
 (0)