SharePoint / SharePoint/sp-dev-docs

context.location Promise Never Resolves in Viva Connections ACE on Microsoft Teams Mobile

Open
#10,864 3 comments 0 reactions 1 assignee View on GitHub

@Ashlesha-MSFT is already working on this.

Since May 27, 2026.

Needs: Author Feedback sharepoint-developer-support status:answered type:bug-suspected
Dominant language
PowerShell
Stars
1.4k
Forks
1.1k
Avg merge
4d 12h
Merged PRs (30d)
12

Description

Target SharePoint environment

SharePoint Online

What SharePoint development model, framework, SDK or API is this about?

💥 SharePoint Framework

Developer environment

Windows

What browser(s) / client(s) have you tested
  • 💥 Internet Explorer
  • 💥 Microsoft Edge
  • 💥 Google Chrome
  • 💥 FireFox
  • 💥 Safari
  • mobile (iOS/iPadOS)
  • mobile (Android)
  • not applicable
  • other (enter in the "Additional environment details" area below)
Additional environment details
  • SPFx 1.22.1
  • Node 22.22.0
  • API used: AdaptiveCardExtensionContext.location (experimental feature)

Clients tested:

  • ✅Browser (Viva Connections Dashboard in SharePoint): works
  • ❌Microsoft Teams mobile (iOS): promise remains pending
Describe the bug / error

we would like to report an unexpected behavior we are observing with the experimental AdaptiveCardExtensionContext.location API when used in a Viva Connections Adaptive Card Extension (ACE), specifically in Microsoft Teams mobile clients.

Summary of the observation
When our ACE is running inside Microsoft Teams on mobile devices (iOS and Android), the promise returned by AdaptiveCardExtensionContext.location never resolves and never rejects. As a result, the application remains in a loading state indefinitely.
The same ACE works as expected when accessed via browser (e.g. Viva Connections in SharePoint), where the promise either resolves successfully with a location or rejects with an error.

Implementation details (simplified)

    // @ts-expect-error we are loading a beta feature
    props.context.location
      .then((location: ILocation) => {
        console.log("LocationACE: Acquired user location: ", location);
        // update user’s location
        setUserGeoLocation(location);
        // switch off the spinner
        setLoading(false);
      })
      .catch((error: Error) => {
        console.error("LocationACE: Error acquiring user location: ", error);
        // switch off the spinner
        setLoading(false);
      });

Request
Could you please:

  1. Confirm whether this is a known limitation or issue with Viva Connections in Teams mobile?
  2. Check on your side why AdaptiveCardExtensionContext.location does not resolve or reject on mobile clients?
  3. Clarify if Teams mobile support for AdaptiveCardExtensionContext.location is considered

This information would help us handle the feature appropriately and set correct expectations for our users.

Thank you very much for your support — we are happy to provide additional information or having a chat to go deeper into details.

Steps to reproduce

use above-described code to acquire user's location using teams mobile

Expected behavior

promise will be resolved or rejected with appropriate error

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.