-
Notifications
You must be signed in to change notification settings - Fork 25
Open
Labels
bugSomething isn't workingSomething isn't working
Description
Bug Description
I have a chat with a Teams bot, which renders adaptive cards.
Viewing the chat in Teams Desktop (and Web) shows the adaptive card contents.
Viewing the same chat in Teams iOS shows a blank bubble with no adaptive card contents.
Steps to Reproduce
App Versions
- Desktop - 25306.805.4102.7211, macOS Tahoe 26.2
- Mobile - 7.22.2, iOS 26.2
Packages
"@microsoft/teams.ai": "^2.0.5",
"@microsoft/teams.apps": "^2.0.5",
"@microsoft/teams.common": "^2.0.5",
"@microsoft/teams.openai": "^2.0.5"Card Code
await send(
new AdaptiveCard(
new TextBlock('Enter Time').withStyle('heading'),
new DateInput()
.withId('date')
.withValue(getDateString(new Date()))
.withIsRequired(true)
.withLabel('Date')
.withPlaceholder('Select a date')
.withErrorMessage('Date is required'),
new ChoiceSetInput()
.withId('taskId')
.withChoices(...cardTasks)
.withValue(parameters.taskId || '')
.withIsRequired(true)
.withLabel('Task')
.withErrorMessage('Task is required'),
new NumberInput()
.withId('durationMinutes')
.withValue(cardDurationMinutes)
.withMin(0)
.withIsRequired(true)
.withLabel('Time (minutes)')
.withPlaceholder('Enter duration in minutes')
.withErrorMessage('Time is required'),
new TextInput()
.withId('comment')
.withValue(parameters.comment || '')
.withMaxLength(250)
.withIsMultiline(true)
.withIsRequired(true)
.withLabel('Comment')
.withPlaceholder('Write a short comment')
.withErrorMessage('Comment is required'),
new ActionSet(
new ExecuteAction()
.withTitle('Submit')
.withStyle('positive')
.withVerb('enter_time_submit')
.withAssociatedInputs('auto'),
new ExecuteAction().withTitle('Cancel').withVerb('cancel')
)
)
);Expected Behavior
The adaptive card contents should be visible in the chat when viewed in Teams Desktop as well as Teams iOS.
Actual Behavior
Case 1
- Open Teams Desktop and message the bot to trigger the adaptive card.
- The adaptive card is shown with visible inputs and contents.
- Open the same chat on Teams iOS.
- The adaptive card is blank. The empty bubble in the red square is the card.
Case 2
- Open the Teams iOS app.
- Message the bot to trigger the adaptive card.
- The adaptive card is blank.
- Open the same chat on Teams Desktop or Web.
- The adaptive card has contents and inputs.
SDK Version
2.0.5
Node.js Version
22.20.0
Additional Context
This bot was migrated from the older Teams AI SDK. The same card contents and inputs used to show correctly in Teams iOS.
Considering this an SDK bug, instead of an iOS app bug, since the same card contents were showing with the old SDK on iOS.
Old Packages
"@microsoft/teams-ai": "^1.7.4",
"adaptivecards-templating": "^2.3.1",
"botbuilder": "^4.23.2",Old Adaptive Card Template
{
"type": "AdaptiveCard",
"$schema": "https://adaptivecards.io/schemas/adaptive-card.json",
"version": "1.5",
"actions": [
{
"type": "Action.Submit",
"title": "Submit",
"iconUrl": "icon:Checkmark",
"data": {
"verb": "onEnterTimeSubmit"
}
},
{
"type": "Action.Submit",
"title": "Cancel",
"iconUrl": "icon:Dismiss",
"mode": "secondary",
"data": {
"verb": "onCancel"
},
"associatedInputs": "none"
}
],
"body": [
{
"type": "TextBlock",
"text": "Enter Time",
"wrap": true,
"style": "heading"
},
{
"type": "Input.Date",
"label": "Date",
"placeholder": "Select a date",
"isRequired": true,
"id": "date",
"value": "${date}",
"errorMessage": "Date is required"
},
{
"type": "Input.ChoiceSet",
"label": "Task",
"placeholder": "Select a task",
"isRequired": true,
"id": "taskId",
"value": "${taskId}",
"errorMessage": "Task is required",
"choices": [
{
"$data": "${tasks}",
"title": "${title}",
"value": "${value}"
}
]
},
{
"type": "Input.Number",
"label": "Time (minutes)",
"placeholder": "Enter time",
"isRequired": true,
"min": 0,
"id": "durationMinutes",
"value": "${durationMinutes}",
"errorMessage": "Time is required"
},
{
"type": "Input.Text",
"label": "Comment",
"placeholder": "Write a short comment",
"isMultiline": true,
"isRequired": true,
"maxLength": 250,
"id": "comment",
"value": "${comment}",
"errorMessage": "Comment is required"
}
]
}Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't working

