What steps can I take to troubleshoot why a pop-up window will appear in web Outlook but not in the 2016 version

While my dialog opens correctly in the Office web app, it only displays a loading indicator and shows "working on your request" in Office 2016. I've attempted to add a task pane, which successfully works and allows me to accept the HTTPS certificate override first, but still, no luck. There are no attempts for the dialog box to appear and I only see an inline indicator.

Unfortunately, there doesn't seem to be an Office developer console that I can access to aid in debugging what might be going wrong.

The functions HTML file is structured like this:

function showSmsModal() {
  Office.context.ui
    .displayDialogAsync("https://localhost:3000/send-sms", { height: 30, width: 20 });
}

(() => {
  // The initialize function must be run each time a new page is loaded
  Office.initialize = () => {
    console.log("inited");
  };

  // Add any UI-less functions here
})();

Meanwhile, the index file that contains the dialog's HTML is plain HTML with a React root, and the accompanying JavaScript file appears as follows:

import * as React from 'react'
import * as ReactDOM from 'react-dom'


if (!!Office) {
  Office.initialize = async () => {
    ReactDOM.render(<div>test</div>, document.getElementById('root'))
  }
}

Lastly, let's take a look at the relevant manifest XML:

<Control xsi:type="Button" id="msgReadOpenPaneButton">
    <Label resid="paneReadButtonLabel" />
    <Supertip>
        <Title resid="paneReadSuperTipTitle" />
        <Description resid="paneReadSuperTipDescription" />
    </Supertip>
    <Icon>
        <bt:Image size="16" resid="icon16" />
        <bt:Image size="32" resid="icon32" />
        <bt:Image size="80" resid="icon80" />
    </Icon>
    <!-- <Action xsi:type="ShowTaskpane">
            <SourceLocation resid="messageReadTaskPaneUrl" />
         </Action> -->
    <Action xsi:type="ExecuteFunction">
        <FunctionName>showSmsModal</FunctionName>
    </Action>
</Control>

Answer №1

If you need to debug an add-in in Office 2016 for Windows, you can launch the "F12 Developer Tools" as a separate instance. The step-by-step process for doing this is detailed in this guide: Debug add-ins using F12 developer tools on Windows 10.

It's important to note that there is an error in the referenced documentation. The correct executable to use is IEChooser.exe, not F12Chooser.exe. Other than that, the documentation is accurate.

Similar questions

If you have not found the answer to your question or you are interested in this topic, then look at other similar questions below or use the search

Removing a field from a collection using firebase-admin: Tips and tricks

I currently have a collection stored in Firebase Realtime Database structured like this: My requirement is to remove the first element (the one ending with Wt6J) from the database using firebase-admin. Below is the code snippet I tried, but it didn' ...

What is the best way to disable a collapsed section in VS Code using comments?

I'm wondering how to properly comment out a "folded" section of code using VS Code. For instance, I want to comment out the collapsible region: if (a == b) { dance(); } I am familiar with the keyboard shortcut for folding regions: Ctrl + Shift + ...

What methods are available to change one JSON format into another?

I am receiving JSON data from a Laravel API in the following format: [ { "id":48, "parentid":0, "title":"Item 1", "child_content":[ { "id":49, "parentid":48, "title":"Itema 1 ...

Encountering issues with Typescript when using absolute paths

After updating a forked repository, I noticed that TypeScript is no longer recognizing absolute paths. Surprisingly, I have not made any changes to my tsconfig.json: { "compilerOptions": { "allowJs": true, "allowSyntheticDefaultImports": true, ...

Updating the status of the checkbox on a specific row using Typescript in AngularJS

My goal is to toggle the checkbox between checked and unchecked when clicking on any part of the row. Additionally, I want to change the color of the selected rows. Below is my current implementation: player.component.html: <!-- Displaying players in ...

How to add an item to an array in JavaScript without specifying a key

Is there a way to push an object into a JavaScript array without adding extra keys like 0, 1, 2, etc.? Currently, when I push my object into the array, it automatically adds these numeric keys. Below is the code snippet that I have tried: let newArr = []; ...

My HTML files are not recognizing the IONIC Property within their own objects

As I delve deeper into understanding Angular and Ionic, a peculiar issue has arisen for which I seek a solution. I have several export classes containing HTML forms. In each corresponding .ts file, I declare a variable and import the relevant model to bin ...

The data type 'T' cannot be assigned to type 'T'

Having extensive experience as a javascript developer, I recently delved into learning C# as my first statically typed language. My upcoming project involves using TypeScript, so I've been refreshing my knowledge on it. Below is the code I have writt ...

Issues with Formik sign-up

Working on a study project involving React, Typescript, Formik, and Firebase presents a challenge as the code is not functioning correctly. While authentication works well with user creation in Firebase, issues exist with redirection, form clearing, and da ...

SwitchMap in Typescript allows you to switch to a

In my TypeScript code, I have implemented multiple interfaces, components, and a key/interface map. interface FooProps { 'keyInFoo': string } const Foo = (props: FooProps) => {} interface BarProps { 'keyInBar': string } cons ...

Select three random items from a string array list along with their corresponding indexes using TypeScript in Angular

Consider this example: I am working with a string array const groceries = [ 'milk', 'coriander', 'cucumber', 'eggplant', 'carrot', 'brinjal', 'on ...

Tests in headless mode with Cypress may fail sporadically, but consistently pass when running in a real browser

Currently, I am utilizing Cypress 9.5 to conduct tests on an Angular 13 application with a local PHP server as the backend. Throughout the testing process, I have encountered successful results when running the tests in the browser multiple times. However ...

Utilizing generic type and union types effectively in TypeScript

When initializing my class, I often pass in either a value or an object containing information about the value. For instance: new Field<string>('test') new Field<string>({value: 'test', inactive: 'preview'}) Howev ...

Determine the data type of a parameter by referencing a prior parameter

Consider a scenario in my software where I have two distinct implementations of an Event Emitter. For instance: type HandlerA = (data: boolean) => void; type HandlerB = (data: number) => void; // HandlerB is somehow different from HandlerA type Eve ...

Filtering an array of objects based on another array of objects in Angular2 through the use of pipes

I'm having trouble understanding how to use the angular pipe to filter an array of objects based on another array of objects. Currently, I have a pipe that filters based on a single argument. I am working with two arrays, array1 and array2, both cont ...

TypeScript encountered an unexpected { token, causing a SyntaxError

Despite multiple attempts, I can't seem to successfully run my program using the command "node main.js" as it keeps showing the error message "SyntaxError: Unexpected token {" D:\Visual Studio Code Projects\ts-hello>node main.js D:&bsol ...

Setting up APIGateway for CORS with the CDK: A Step-by-Step Guide

My API relies on AWS ApiGateway with an underlying AWS Lambda function provisioned through the CDK. The default CORS settings for the API are as follows: const api = new apiGateway.RestApi(this, "comments-api", { defaultCorsPreflightOptions: { ...

What's the deal with the `return of ()` syntax?

Just came across this piece of code: https://i.sstatic.net/JZXP5.png Code snippet in typescript. The first line looks like: ... return of (true); Can someone explain this syntax to me? ...

Angular 4: Transform a string into an array containing multiple objects

Recently, I received an API response that looks like this: { "status": "success", "code": 0, "message": "version list", "payload" : "[{\"code\":\"AB\",\"short\":\"AB\",\"name\":\"Alberta&b ...

Ways to duplicate package.json within a Dockerfile

My issue revolves around the challenge I am facing while attempting to copy my package.json to the Dockerfile context. Below is a representation of my file structure: src - apps -- api --- Dockerfile - docker -- tcp --- docker-compose.yml - package.json H ...