MicrosoftDocs / msteams-docs

Source for the Microsoft Teams developer platform documentation.
https://aka.ms/teamsdev
Creative Commons Attribution 4.0 International
289 stars 513 forks source link

Adaptive Cards not shown on Mobile Teams App #11407

Open dooriya opened 3 months ago

dooriya commented 3 months ago

Steps to reproduce

Coped issue from https://github.com/OfficeDev/teams-toolkit/issues/12064

Details from original post: We are currently in the submission of a new app. Our app uses the bot framework and message extension features. The adaptive card is rendered inside the message of the user (message extension feature):

This works pretty fine in any Desktop client of Microsoft Teams: image

However, when I open the same chat in the Mobile Version of Teams (Android + iOS), the adaptive card will be completely omitted. image

Expected behavior

Teams mobile client can render the adaptive card as well.

Actual behavior

The adaptive card will be completely omitted in Teams mobile client.

Error details

No response

Prasad-MSFT commented 3 months ago

@dooriya , thanks for raising your issue. Could you please share the adaptive card JSON which you are using? And is this issue specific to Android or iOS device?

jker-org commented 3 months ago

@Prasad-MSFT : The original issue was created by me. It came up during submission of our new app. According to submission team, Android and iOS is affected. However, we have only tested it on iOS.

For the test, we used a very basic adaptive card. Here is the output from our bot within the message extension. It includes the adaptive card:

{
    "statusCode": 200,
    "type": "application/vnd.microsoft.card.adaptive",
    "value": {
        "type": "AdaptiveCard",
        "body": [
            {
                "type": "TextBlock",
                "text": "Object not found",
                "wrap": true,
                "size": "Large"
            },
            {
                "type": "TextBlock",
                "text": "The object you are looking for does not exist.",
                "wrap": true,
                "size": "Small"
            },
            {
                "type": "TextBlock",
                "text": "",
                "wrap": true,
                "size": "Small"
            },
            {
                "type": "TextBlock",
                "text": "",
                "wrap": true,
                "size": "Small"
            }
        ],
        "$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
        "version": "1.5"
    }
}
Prasad-MSFT commented 3 months ago

Thanks for sharing the JSON. We will look into this and will respond back

Prasad-MSFT commented 3 months ago

Hi @jker-org , @dooriya - we tried with the adaptive card JSON provided and observed that it renders perfectly fine in both Android and iOS client along with Desktop/Web.

Android: image

image

iOS: image

jker-org commented 3 months ago

@Prasad-MSFT : Thank you for testing this. Was the card created in the chat by a bot or by a user? In our scenario, the user uses our app / bot via message extension. The bot returns an adaptive card that is then posted to the chat via the user.

Another possible root cause: We are currently using a custom uploaded app. Our app was released this morning, so we think that we can also test again from our side when the app is provided by teams store.

Prasad-MSFT commented 3 months ago

Hi @jker-org, we did repro with the same scenario only. At our end also, the bot returns an adaptive card that is then posted to the chat via the user.

jker-org commented 3 months ago

@Prasad-MSFT : The app is now published. Issue still remains. Card is omitted on iPhone app.

jker-org commented 3 months ago

@Prasad-MSFT : Here is the link to our app for a better reproduction of the issue. https://tinyurl.com/teams-issue-example-app . The link will expire automatically on 31th August 2024. Please do not share any screenshots of our app due to privacy. Thanks!

Prasad-MSFT commented 3 months ago

@Prasad-MSFT : Here is the link to our app for a better reproduction of the issue. https://tinyurl.com/teams-issue-example-app . The link will expire automatically on 31th August 2024. Please do not share any screenshots of our app due to privacy. Thanks!

Requested for approval. Please grant.

jker-org commented 3 months ago

@Prasad-MSFT : Here is the link to our app for a better reproduction of the issue. https://tinyurl.com/teams-issue-example-app . The link will expire automatically on 31th August 2024. Please do not share any screenshots of our app due to privacy. Thanks!

Requested for approval. Please grant.

The app is globally rolled out. If you need approval, please contact your administrator.

jker-org commented 3 months ago

@Prasad-MSFT : Is there anything more you need from us? Otherwise please remove the "needs-author-feedback" label (see comment above). Thank you :-)

Prasad-MSFT commented 3 months ago

@Prasad-MSFT : Is there anything more you need from us? Otherwise please remove the "needs-author-feedback" label (see comment above). Thank you :-)

Thanks. We are just waiting for approval from Admin. Once granted, we will test and verify.

Prasad-MSFT commented 3 months ago

@Prasad-MSFT : Here is the link to our app for a better reproduction of the issue. https://tinyurl.com/teams-issue-example-app . The link will expire automatically on 31th August 2024. Please do not share any screenshots of our app due to privacy. Thanks!

Hi @jker-org, we got access to the app, could you please let us know how we can repro the issue using this shared app? Any repro video would be really helpful. If you do not want to share the video in this thread, you can share it via microsoftteamsdev@microsoft.com

jker-org commented 3 months ago

@Prasad-MSFT : We will quickly share the instructions here:

  1. Open Teams in Desktop.
  2. Go to any chat, add the app via compose area / message area ('+').
  3. Create a poll.
  4. Post it to chat.
  5. Vote and see the results.
  6. Open chat on Teams Mobile => Results are not visible. Card is not shown.
Prasad-MSFT commented 3 months ago

Hi @jker-org We tried to repro this issue following the above-mentioned steps and observed that after sending a poll and voting, in Teams desktop/web the card gets refreshed showing us the results, however in mobile devices it doesn't. (Didn't share the screenshots due to privacy concern as mentioned by you earlier)

Is this the same behaviour at your end?

jker-org commented 3 months ago

Yes, we confirm.

Prasad-MSFT commented 3 months ago

We have raised a bug for this issue. We will inform you once we get any further update from engineering team.

Thanks!

jker-org commented 2 months ago

@Prasad-MSFT : Is there any update when the issue is fixed? Thanks!

Prasad-MSFT commented 2 months ago

Hi @jker-org , apologies. At the moment, we have not received any updates from the engineering team. However, we are actively communicating with them to stay updated on the progress. As soon as we receive any updates from them, we will notify you in this thread. Thank you!

GitJark commented 1 month ago

Hello i have the same error

in teams web and teams desktop its working correctly but in teams for Android and iOS not showing the Adaptive Card

There is a limit on the number of lines of code in the adaptive cards. If I reduce it to 4 elements, the card displays correctly

i share my json card

{ "type": "AdaptiveCard", "$schema": "http://adaptivecards.io/schemas/adaptive-card.json", "version": "1.3", "body": [ { "type": "TextBlock", "size": "Medium", "weight": "Bolder", "text": "¿Cuál sala deseas reservar?", "wrap": true }, { "type": "TextBlock", "text": "La siguiente disponibilidad ha sido encontrada:", "wrap": true, "spacing": "None" }, { "type": "ColumnSet", "spacing": "Medium", "columns": [ { "type": "Column", "width": "stretch", "items": [ { "type": "TextBlock", "text": "Sala 1", "weight": "Bolder", "size": "Medium", "wrap": true }, { "type": "TextBlock", "text": "Disponible a las:", "wrap": true, "spacing": "None" }, { "type": "TextBlock", "text": "10/10/2024 09:00 AM - 10/10/2024 09:30 AM", "color": "Good", "weight": "Bolder", "wrap": true }, { "type": "ActionSet", "actions": [ { "type": "Action.Submit", "title": "Reservar 09:00 AM", "style": "positive", "data": { "response": "1", "upn": "1@contoso.com", "startTime": "10/10/2024 09:00 AM", "endTime": "10/10/2024 09:30 AM" } } ] } ] } ] }, { "type": "ColumnSet", "spacing": "Medium", "columns": [ { "type": "Column", "width": "stretch", "items": [ { "type": "TextBlock", "text": "Sala 2", "weight": "Bolder", "size": "Medium", "wrap": true }, { "type": "TextBlock", "text": "Disponible a las:", "wrap": true, "spacing": "None" }, { "type": "TextBlock", "text": "10/10/2024 09:00 AM - 09:30 AM", "color": "Good", "weight": "Bolder", "wrap": true }, { "type": "ActionSet", "actions": [ { "type": "Action.Submit", "title": "Reservar 09:00 AM", "style": "positive", "data": { "response": "2", "upn": "2@contoso.com", "startTime": "10/10/2024 09:00 AM", "endTime": "10/10/2024 09:30 AM" } } ] } ] } ] }, { "type": "ColumnSet", "spacing": "Medium", "columns": [ { "type": "Column", "width": "stretch", "items": [ { "type": "TextBlock", "text": "Sala 3", "weight": "Bolder", "size": "Medium", "wrap": true }, { "type": "TextBlock", "text": "Disponible a las:", "wrap": true, "spacing": "None" }, { "type": "TextBlock", "text": "10/10/2024 09:00 AM - 09:30 AM", "color": "Good", "weight": "Bolder", "wrap": true }, { "type": "ActionSet", "actions": [ { "type": "Action.Submit", "title": "Reservar 09:00 AM", "style": "positive", "data": { "response": "3", "upn": "3@contoso.com", "startTime": "10/10/2024 09:00 AM", "endTime": "10/10/2024 09:30 AM" } } ] } ] } ] }, { "type": "ColumnSet", "spacing": "Medium", "columns": [ { "type": "Column", "width": "stretch", "items": [ { "type": "TextBlock", "text": "Sala 4", "weight": "Bolder", "size": "Medium", "wrap": true }, { "type": "TextBlock", "text": "Disponible a las:", "wrap": true, "spacing": "None" }, { "type": "TextBlock", "text": "10/10/2024 09:00 AM - 09:30 AM", "color": "Good", "weight": "Bolder", "wrap": true }, { "type": "ActionSet", "actions": [ { "type": "Action.Submit", "title": "Reservar 09:00 AM", "style": "positive", "data": { "response": "4", "upn": "4@contoso.com", "startTime": "10/10/2024 09:00 AM", "endTime": "10/10/2024 09:30 AM" } } ] } ] } ] }, { "type": "ColumnSet", "spacing": "Medium", "columns": [ { "type": "Column", "width": "stretch", "items": [ { "type": "TextBlock", "text": "Sala 5", "weight": "Bolder", "size": "Medium", "wrap": true }, { "type": "TextBlock", "text": "Disponible a las:", "wrap": true, "spacing": "None" }, { "type": "TextBlock", "text": "10/10/2024 02:00 PM - 02:30 PM", "color": "Good", "weight": "Bolder", "wrap": true }, { "type": "ActionSet", "actions": [ { "type": "Action.Submit", "title": "Reservar 02:00 PM", "style": "positive", "data": { "response": "5", "upn": "5@contoso.com", "startTime": "10/10/2024 02:00 PM", "endTime": "10/10/2024 02:30 PM" } } ] } ] } ] }, { "type": "ColumnSet", "spacing": "Medium", "columns": [ { "type": "Column", "width": "stretch", "items": [ { "type": "TextBlock", "text": "Sala 6", "weight": "Bolder", "size": "Medium", "wrap": true }, { "type": "TextBlock", "text": "Disponible a las:", "wrap": true, "spacing": "None" }, { "type": "TextBlock", "text": "10/10/2024 06:00 PM - 06:30 PM", "color": "Good", "weight": "Bolder", "wrap": true }, { "type": "ActionSet", "actions": [ { "type": "Action.Submit", "title": "Reservar 06:00 PM", "style": "positive", "data": { "response": "6", "upn": "6@contoso.com", "startTime": "10/10/2024 06:00 PM", "endTime": "10/10/2024 06:30 PM" } } ] } ] } ] }, { "type": "ColumnSet", "spacing": "Medium", "columns": [ { "type": "Column", "width": "stretch", "items": [ { "type": "TextBlock", "text": "Sala 7", "weight": "Bolder", "size": "Medium", "wrap": true }, { "type": "TextBlock", "text": "Disponible a las:", "wrap": true, "spacing": "None" }, { "type": "TextBlock", "text": "10/10/2024 09:00 AM - 09:30 AM", "color": "Good", "weight": "Bolder", "wrap": true }, { "type": "ActionSet", "actions": [ { "type": "Action.Submit", "title": "Reservar 09:00 AM", "style": "positive", "data": { "response": "7", "upn": "7@contoso.com", "startTime": "10/10/2024 09:00 AM", "endTime": "10/10/2024 09:30 AM" } } ] } ] } ] }, { "type": "ColumnSet", "spacing": "Medium", "columns": [ { "type": "Column", "width": "stretch", "items": [ { "type": "TextBlock", "text": "Sala 8", "weight": "Bolder", "size": "Medium", "wrap": true }, { "type": "TextBlock", "text": "Disponible a las:", "wrap": true, "spacing": "None" }, { "type": "TextBlock", "text": "10/10/2024 09:00 AM - 09:30 AM", "color": "Good", "weight": "Bolder", "wrap": true }, { "type": "ActionSet", "actions": [ { "type": "Action.Submit", "title": "Reservar 09:00 AM", "style": "positive", "data": { "response": "8", "upn": "8@contoso.com", "startTime": "10/10/2024 09:00 AM", "endTime": "10/10/2024 09:30 AM" } } ] } ] } ] }, { "type": "ColumnSet", "spacing": "Medium", "columns": [ { "type": "Column", "width": "stretch", "items": [ { "type": "TextBlock", "text": "Sala 9", "weight": "Bolder", "size": "Medium", "wrap": true }, { "type": "TextBlock", "text": "Disponible a las:", "wrap": true, "spacing": "None" }, { "type": "TextBlock", "text": "10/10/2024 09:00 AM - 09:30 AM", "color": "Good", "weight": "Bolder", "wrap": true }, { "type": "ActionSet", "actions": [ { "type": "Action.Submit", "title": "Reservar 09:00 AM", "style": "positive", "data": { "response": "9", "upn": "9@contoso.com", "startTime": "10/10/2024 09:00 AM", "endTime": "10/10/2024 09:30 AM" } } ] } ] } ] }, { "type": "ColumnSet", "spacing": "Medium", "columns": [ { "type": "Column", "width": "stretch", "items": [ { "type": "TextBlock", "text": "Sala 10", "weight": "Bolder", "size": "Medium", "wrap": true }, { "type": "TextBlock", "text": "Disponible a las:", "wrap": true, "spacing": "None" }, { "type": "TextBlock", "text": "10/10/2024 01:30 PM - 02:00 PM", "color": "Good", "weight": "Bolder", "wrap": true }, { "type": "ActionSet", "actions": [ { "type": "Action.Submit", "title": "Reservar 01:30 PM", "style": "positive", "data": { "response": "10", "upn": "10@contoso.com", "startTime": "10/10/2024 01:30 PM", "endTime": "10/10/2024 02:00 PM" } } ] } ] } ] }, { "type": "ColumnSet", "spacing": "Medium", "columns": [ { "type": "Column", "width": "stretch", "items": [ { "type": "TextBlock", "text": "Sala 11", "weight": "Bolder", "size": "Medium", "wrap": true }, { "type": "TextBlock", "text": "Disponible a las:", "wrap": true, "spacing": "None" }, { "type": "TextBlock", "text": "10/10/2024 02:00 PM - 02:30 PM", "color": "Good", "weight": "Bolder", "wrap": true }, { "type": "ActionSet", "actions": [ { "type": "Action.Submit", "title": "Reservar 02:00 PM", "style": "positive", "data": { "response": "11", "upn": "11@contoso.com", "startTime": "10/10/2024 02:00 PM", "endTime": "10/10/2024 02:30 PM" } } ] } ] } ] }, { "type": "ColumnSet", "spacing": "Medium", "columns": [ { "type": "Column", "width": "stretch", "items": [ { "type": "TextBlock", "text": "Sala 12", "weight": "Bolder", "size": "Medium", "wrap": true }, { "type": "TextBlock", "text": "Disponible a las:", "wrap": true, "spacing": "None" }, { "type": "TextBlock", "text": "10/10/2024 09:00 AM - 09:30 AM", "color": "Good", "weight": "Bolder", "wrap": true }, { "type": "ActionSet", "actions": [ { "type": "Action.Submit", "title": "Reservar 09:00 AM", "style": "positive", "data": { "response": "12", "upn": "12@contoso.com", "startTime": "10/10/2024 09:00 AM", "endTime": "10/10/2024 09:30 AM" } } ] } ] } ] } ] }

jker-org commented 4 days ago

Hi @Prasad-MSFT ! Can you please give an update on this issue? The defect in the mobile apps of Microsoft Teams is affecting > 100,000 users already. That is not the experience we want to give our users.