Skip to content

protocol JSON schema: required fields of ConversationAccount don't match written specification #6541

Closed
@drmason13

Description

@drmason13

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

Metadata

Metadata

Assignees

Labels

Bot ServicesRequired for internal Azure reporting. Do not remove. Do not change color.bugIndicates an unexpected problem or an unintended behavior.customer-reportedIssue is created by anyone that is not a collaborator in the repository.needs-triageThe issue has just been created and it has not been reviewed by the team.

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions