title: Bot Framework updating Teams activity with empty content
body: <p>I am experimenting some strange behaviour between a bot and MS Teams.</p>
  <p>Basically the bot sends me an Adaptive Card and when I interact again the bot will update that last message holding that card with &quot;I got updated!&quot;</p>
  <p>Inside MS Teams (both Windows desktop and web) the messages gets updated indicating &quot;Updated&quot; but with an empty content. This content is not filled until I change conversations.</p>
  <p>I can't tell if this is an expected behaviour or if I'm making some kind of mistake, this is a simplified example of the code:</p>
  <pre class="lang-json prettyprint-override"><code>&quot;dependencies&quot;: {
          &quot;adaptivecards&quot;: &quot;^2.1.0&quot;,
          &quot;axios&quot;: &quot;^0.21.0&quot;,
          &quot;botbuilder&quot;: &quot;~4.8.0&quot;,
          &quot;dotenv&quot;: &quot;^8.2.0&quot;,
          &quot;restify&quot;: &quot;~8.4.0&quot;,
          (...)
  }
  </code></pre>
  <pre class="lang-js prettyprint-override"><code>const adapter = new BotFrameworkAdapter({...});
  
  adapter.onTurnError = onTurnErrorHandler;
  
  const myBot = new EchoBot();
  
  static processActivity(req, res) {
      adapter.processActivity(req, res, async context =&gt; {
          // Route to main dialog.
          await myBot.run(context);
      });
      }
  </code></pre>
  <pre class="lang-js prettyprint-override"><code>class EchoBot extends ActivityHandler {
      constructor() {
          super();
  
          this.onMessage(async (context) =&gt; {
              await doSomething(context);
          });
      }
  }
  </code></pre>
  <pre class="lang-js prettyprint-override"><code>someCardContent = {...};
  lastCardId = undefinded;
  
  async function doSomething(turnContext) {
      if (!lastCardId) {
          { lastCardId } = await turnContext.sendActivity(MessageFactory.attachment(CardFactory.adaptiveCard(someCardContent)));
      } else {
          const newActivity = MessageFactory.text('I got updated!');
          newActivity.id = lastCardId;
          lastCardId = undefinded;
          await turnContext.updateActivity(newActivity)
      }
  }
  </code></pre>
  <p>Order as seen in Teams:</p>
  <ul>
  <li><p>1 I interact with the bot (greeting it)</p>
  </li>
  <li><p>2 The bot sends me a card:
  <a href="https://i.stack.imgur.com/99QZl.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/99QZl.png" alt="Original message" /></a></p>
  </li>
  <li><p>3 I interact again (pressing the button), the card gets updated (&quot;Actualizado&quot; = &quot;Updated&quot;):<br />
  <a href="https://i.stack.imgur.com/tgbJt.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/tgbJt.png" alt="Updated Message" /></a></p>
  </li>
  <li><p>4 I switch conversations and come back to the bot's chat<br />
  <a href="https://i.stack.imgur.com/0fGzJ.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/0fGzJ.png" alt="Updated Message after conversation switch" /></a></p>
  </li>
  </ul>