OfficeDev / office-js

A repo and NPM package for Office.js, corresponding to a copy of what gets published to the official "evergreen" Office.js CDN, at https://appsforoffice.microsoft.com/lib/1/hosted/office.js.
https://learn.microsoft.com/javascript/api/overview
Other
658 stars 94 forks source link

Outlook 365 add-in not loading on MAC/OS new Outlook app. #4574

Open SE-Hubert opened 1 month ago

SE-Hubert commented 1 month ago

Provide required information needed to triage your issue

We are currently developing an Office 365 addin for Outlook. We are currently testing the addin throughout all the working platforms. We encountered a problem when testing our addin on the new Outlook on MAC/OS. We did a centralized deployment through the "Microsoft 365 admin center > Settings > Integrated Apps > Upload custom apps > Office addin" and we were able to see and test the addin every where but on the new Outlook on MAC/OS we couldn't see it at first. So we tried side loading the addin manually through the "Get Addins > My add-ins > Add a custom addin > add from file", and it gets installed correctly with no validation error. Only to realize that when I close the "Get Addins" window , the addin disappears. Also in every other platform, we were able to see the addin under the "Admin-managed" tab, but we never see it.

After sideloading the addin manually:

Before

After closing the "Get Addins" window a reopening it:

After

Also, it might be important to the issue, but our Add-in is an ItemSend addin and on this page: https://learn.microsoft.com/en-us/office/dev/add-ins/outlook/outlook-on-send-addins?tabs=windows#limitations. It clearly says that we would be able to Sideloading the addin and the validation process should be okay, but we can't publish it directly to the Microsoft store.

We can also provide our Manifest.

Your Environment

Expected behavior

The expected behavior is to be able to see the addin when doing a centralized deployment or just be able to side load it manually.

Current behavior

Addin not showing with every way I tried.

Steps to reproduce

  1. Create a simple ItemSend addin with requirements 1.13, taskpane on read and compose, dectected entity regex and launch event on the OnMessageAttachmentsChanged and OnMessageFromChanged events.
  2. Then make sure it passes the validation and gets installed on any other platform
  3. Finally, side load it in the MAC/OS new Outlook app.

Provide additional details

We already made a StackOverflow post with more details: https://stackoverflow.com/questions/77794145/office-365-web-add-in-not-showing-on-outlook-for-mac

mobisw-msft commented 1 month ago

Hey @SE-Hubert ,

Can you please share the manifest with us, as well as the tenant information? (edit: addition) Does this add-in not show up only in Mac (as an admin managed add-in), or is this a behaviour you see across platforms?

SE-Hubert commented 1 month ago

Hi,

Of course here is the hosted link: https://office365.secure-exchanges.com/SecureExchanges.xml

From: mobisw-msft @.> Sent: Thursday, June 13, 2024 8:24 AM To: OfficeDev/office-js @.> Cc: Hubert Laliberté @.>; Mention @.> Subject: [PUBLIPOSTAGE] Re: [OfficeDev/office-js] Outlook 365 add-in not loading on MAC/OS new Outlook app. (Issue #4574) Importance: Low

Hey @SE-Huberthttps://github.com/SE-Hubert ,

Can you please share the manifest with us?

— Reply to this email directly, view it on GitHubhttps://github.com/OfficeDev/office-js/issues/4574#issuecomment-2165505540, or unsubscribehttps://github.com/notifications/unsubscribe-auth/BJEDXHO2E23LAT6XKPLOYQ3ZHGFOXAVCNFSM6AAAAABJGNQYO2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCNRVGUYDKNJUGA. You are receiving this because you were mentioned.Message ID: @.**@.>>

SE-Hubert commented 1 month ago

The add-in doesn't show up only on the Mac application as admin managed or as a side load. If I access it on a web browser on a Mac, everything works accordingly. Its really only on the Mac application

SE-Hubert commented 1 month ago

From what I was able to debug, it may be link to the LauchEvents preventing my add-in to be shown correctly.

1TheMuffinMan commented 1 month ago

From reading in another issue + my own experience the javascript engine used in the smart events (your UI-less function file) for Outlook on Windows or Mac is not a modern javascript engine. It's not clear exactly what its capabilities are, but it's pretty basic. I took a look at your function file and I see you're using let keyword. That is a feature of ES6? Doubt it's supported.

In Outlook on the web your UI-less function file gets run in the browser so you can use all the juicy features no problem.

It would be great to get a hold of some documentation of what the JS engine is capable of on the desktop versions so that we can write the source code in typescript and compile it to javascript that works. I fear that writing any real world code for this JS engine by hand will be too cumbersome.

SE-Hubert commented 1 month ago

The thing is that I was able to make it work on the Windows new Outlook application with no problems, its only on the Mac desktop app that its not working. Also, I was able to modify my addin so that it would show up on the Mac application, but I had to remove the LaunchEvents from the manifest and they provide crucial information for our add-in to work.

My guess is that its an error with the LaunchEvents on Mac.

NickLWMP commented 1 month ago

@SE-Hubert I should have clarified. Outlook NEW (for desktop) != to Classic Outlook Desktop. I would see if it works in one of the previous versions. I wonder if Outlook for Mac uses a similar approach to the classic desktop apps that have a limited javascript environment like I mentioned.

shighosh-msft commented 2 weeks ago

Thanks for reporting this issue. It has been put on our backlog. We unfortunately have no timelines to share at this point

Internal tracking id: Office: 9108499