Description
Github issues should be used for bugs and feature requests. Use Stack Overflow for general "how-to" questions.
Version
commit 0fa7c51 of the JSON schema (itself unversioned as far as I'm aware)
Describe the bug
The JSON schema doesn't match the written specification at https://github.com/microsoft/botframework-sdk/blob/main/specs/botframework-activity/botframework-activity.md#conversation.
ConversationAccount
requries all of id, name, isGroup and conversationType in the JSON schema.
Whereas the written specification explicitly states:
A2080: Channels, bots, and clients MUST include the conversation and conversation.id fields when generating an activity.
The conversation.name field is optional and represents the display name for the conversation if it exists and is available.
A2081: Channels SHOULD include the conversation.name and conversation.isGroup fields if they are available.
A2082: Bots and clients SHOULD NOT include the conversation.name field unless it is semantically valuable within the channel.
A2083: Bots and clients SHOULD NOT include the conversation.isGroup and conversation.converationType fields in activities they generate.
A2084: Channels SHOULD include the conversation.conversationType field if more than one value is defined for the channel. Channels SHOULD NOT include the field if there is only one possible value.
name being a required field doesn't match "The conversation.name field is optional", for a start.
To Reproduce
Steps to reproduce the behavior:
This can be reproduced using the emulator, see microsoft/BotFramework-Emulator#2397
Expected behavior
Only id field in ConversationAccount should be required in the JSON Schema definition.
The following JSON should be a valid ConversationAccount:
"conversation": {
"id": "40f7b490-2609-11ed-a12d-37cd6a1cd89f|livechat"
}
The JSON schema should be able to validate activities that meet the specification generated by trusted/well behaved clients such as the emulator.
Screenshots
If applicable, add screenshots to help explain your problem.
Additional context
Add any other context about the problem here.
Tracking Status
Dotnet SDK TODO
- PR
- Merged
Javascript SDK TODO
- PR
- Merged
Python SDK TODO
- PR
- Merged
Java SDK TODO
- PR
- Merged
Samples TODO
- PR
- Merged
Docs TODO
- PR
- Merged
Tools TODO
- PR
- Merged