Outlook Online - проблемы с диалогами - PullRequest
0 голосов
/ 18 марта 2020

Наша команда расследует проблему с нашей стороны, связанную с Outlook Online и загрузкой нашей надстройки. Наша проблема заключается в том, что при входе в систему у нас есть диалоговое окно (не отображаемое в рамке), которое после успешного входа в систему сообщает нашему компоненту на панели задач информацию о входе в систему, а также инструкции по закрытию указанного диалога.

То, что мы испытывали, это то, что диалоговое окно не закрывается и сообщение не отправляется родителю. Не было журналов ошибок или сетевых выходных данных, что вход был неудачным, поэтому в качестве части проведенного нами исследования мы создали тестовое приложение, которое просто фокусируется на открытии и закрытии диалога из области задач.

Наши предыдущие исследования показали, что наши надстройки выполняли описанное поведение, как и ожидалось, для Word, Excel и PowerPoint Online во всех браузерах, но для Outlook Online диалоговое окно только успешно закрывалось и отправляло сообщения компоненту панели задач в IE11 и Edge. Для Outlook Online мы подтвердили, что он не работал должным образом в Chrome, Safari, Firefox и Edge Chromium (это браузеры, которые мы тестировали с дополнительными функциями для IE11 и Edge).

Чтобы уменьшить шансы что эта проблема может быть вызвана некоторыми логиками c на нашей стороне, мы сделали тестовое приложение, которое вы можете найти здесь (с readme, включенным, чтобы помочь с этим расследованием). Мы протестировали открытие диалогового окна - , установив его так, чтобы оно не отображалось в кадре - и затем нажав кнопку в диалоговом окне, которая отправляет сообщение обратно родителю.

Если это сообщение было получено родителем, оно вызовет dialog.close () , и всплывающее окно закроется. Исходя из наших выводов, мы можем определить следующее:

  • Загрузка кода в Word Online с боковой стороны, выполнение теста в Edge и Chrome, все работало, как ожидалось, и диалоговое окно закрылось. Это означает, что файл App.tsx получил сообщение из диалогового окна, которое вызвало действие закрытия.
  • Теперь, загружая ту же надстройку в Outlook Online, тест прошел успешно в пограничном тесте. Для теста в Chrome App.tsx не получил сообщение из диалогового окна, а это, в свою очередь, означает, что диалоговое окно не закрылось.

Мы также проверили это, разместив приложение, а также запустив его локально на одной из наших машин разработки, и столкнулись с такими же проблемами. Там нигде нет сообщений об ошибках, так что мы немного озадачены тем, куда направить go.

Потенциально мы думаем, что нам, возможно, придется подходить к этому по-разному, чтобы работать для Outlook Online в разных средах, но мы не уверены, какие варианты у нас есть, чтобы решить эту проблему. Другая вещь, которая может потенциально отличаться, это то, что в нашем файле манифеста для Outlook отсутствует конфигурация (которую вы также можете найти в связанном репозитории, файл называется manifest. xml - манифест мы раньше тестировали офис называется manifest_office. xml).

Мы будем признательны за любой вклад в связанное репо относительно того, где мы можем ошибаться.

1 Ответ

1 голос
/ 25 марта 2020

Outlook JS (правильно, согласно документации) требует, чтобы у каждой записи в доменах приложений был протокол. Первая запись в манифесте. xml, которая также присутствует во многих примерах github, которые не были обновлены для соответствия документации, - это contoso.com, протокол которого не указан. При проверке того, будет ли отправлено сообщение в родительское окно, эта запись на contoso.com без протокола указала на короткое замыкание, проверяющее любые другие записи AppDomain, и сообщение не отправляется. Удалите contoso.com и убедитесь, что в каждой записи AppDomain включен протокол, т. Е. https://example.com

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...