From 1099ffdfba5daa8fceae14135339bb8f2e87b9fe Mon Sep 17 00:00:00 2001 From: gandiddi <164224646+gandiddi@users.noreply.github.com> Date: Mon, 5 Aug 2024 20:46:20 +0530 Subject: [PATCH] port: Fix first activity from bot to user has fake replyToId value (#2145) * Fix first activity from bot to user has fake replyToId value * Removed duplicate activity_id --- .../botbuilder/core/adapters/test_adapter.py | 4 +++- .../botbuilder/schema/_models_py3.py | 21 ++++++++++++++++--- 2 files changed, 21 insertions(+), 4 deletions(-) diff --git a/libraries/botbuilder-core/botbuilder/core/adapters/test_adapter.py b/libraries/botbuilder-core/botbuilder/core/adapters/test_adapter.py index 79070d732..77f566625 100644 --- a/libraries/botbuilder-core/botbuilder/core/adapters/test_adapter.py +++ b/libraries/botbuilder-core/botbuilder/core/adapters/test_adapter.py @@ -142,7 +142,9 @@ async def process_activity( if activity.type is None: activity.type = ActivityTypes.message - activity.channel_id = self.template.channel_id + if activity.channel_id is None: + activity.channel_id = self.template.channel_id + activity.from_property = self.template.from_property activity.recipient = self.template.recipient activity.conversation = self.template.conversation diff --git a/libraries/botbuilder-schema/botbuilder/schema/_models_py3.py b/libraries/botbuilder-schema/botbuilder/schema/_models_py3.py index e9eb1529d..b75cc9f82 100644 --- a/libraries/botbuilder-schema/botbuilder/schema/_models_py3.py +++ b/libraries/botbuilder-schema/botbuilder/schema/_models_py3.py @@ -639,7 +639,12 @@ def create_reply(self, text: str = None, locale: str = None): id=self.from_property.id if self.from_property else None, name=self.from_property.name if self.from_property else None, ), - reply_to_id=self.id, + reply_to_id=( + self.id + if not type == ActivityTypes.conversation_update + or self.channel_id not in ["directline", "webchat"] + else None + ), service_url=self.service_url, channel_id=self.channel_id, conversation=ConversationAccount( @@ -681,7 +686,12 @@ def create_trace( id=self.from_property.id if self.from_property else None, name=self.from_property.name if self.from_property else None, ), - reply_to_id=self.id, + reply_to_id=( + self.id + if not type == ActivityTypes.conversation_update + or self.channel_id not in ["directline", "webchat"] + else None + ), service_url=self.service_url, channel_id=self.channel_id, conversation=ConversationAccount( @@ -737,7 +747,12 @@ def get_conversation_reference(self): :returns: A conversation reference for the conversation that contains this activity. """ return ConversationReference( - activity_id=self.id, + activity_id=( + self.id + if not type == ActivityTypes.conversation_update + or self.channel_id not in ["directline", "webchat"] + else None + ), user=self.from_property, bot=self.recipient, conversation=self.conversation,