BotBuilder-Samples
BotBuilder-Samples copied to clipboard
Skill ConversationIdFactories should not throw on receiving a trace after conversation is ended
Describe the bug
If a child bot sends a trace after ending the conversation, the parent is currently throwing due to the conversation.id not being present in the dictionary. Instead of throwing exceptions, the parent should just silently ignore the trace.
To Reproduce
Steps to reproduce the behavior:
- Create a V3 node skill which calls session.endConveration() when the skill completes
- Connect to the parent of the skill from the emulator
- Notice an exception in the parent after the skill finishes, due to conversation.Id not present in ConversationIdFactory
Expected behavior
Trace activities should not throw exceptions in the parent if the converation.id is not present
[bug]
Hi @EricDahlvang, does this happen only in JS and using a V3 bot? Or it affects all languages? Is it possible to repro this with sample 80 or 81?
@gabog This issue arose from a v3 node skill (since it auto-sends traces while connected to the emulator), and any v4 parent/skill host (dotnet, javascript, python).
I believe this would be reproducible with sample 80, if it included telemetry/tracing. The bug is actually in the v4 sdks... imo, they should be ignoring trace messages if there is no conversation.id for the skill which called them (something cannot be traced when the conversation has ended).