Why is tab removed when cloning a Team? - microsoft-teams

I have a team (let's call it "Team A") configured with a new Tab in the General channel. When I create a new Team ("Team B") based on "Team A", it shows this Tab in the General tab but in an unconfigured state. So far so good.
When I go configure the Tab, it shows the configuration page and I click save. Now the Tab is completely removed from the General channel.
The Chrome Developer Console shows this error:
angular.min.js:112 TypeError: Cannot read property 'resolve' of undefined
at Object.successFunc (https://statics.teams.microsoft.com/hashedjs/3.1-app.min-7ba60abf.js:874:4148)
at https://statics.teams.microsoft.com/hashedjs/3.1-app.min-7ba60abf.js:771:5203
at c (https://statics.teams.microsoft.com/hashedjs/3.1-app.min-7ba60abf.js:771:258)
at o._resolveCallback (https://statics.teams.microsoft.com/hashedjs/3.1-app.min-7ba60abf.js:771:5182)
at https://statics.teams.microsoft.com/hashedjs/3.1-app.min-7ba60abf.js:771:5074
at Array.forEach (<anonymous>)
at o._resolveSuccesses (https://statics.teams.microsoft.com/hashedjs/3.1-app.min-7ba60abf.js:771:4992)
at o.resolve (https://statics.teams.microsoft.com/hashedjs/3.1-app.min-7ba60abf.js:771:3112)
at Object.successFunc (https://statics.teams.microsoft.com/hashedjs/3.1-app.min-7ba60abf.js:771:5394)
at https://statics.teams.microsoft.com/hashedjs/3.1-app.min-7ba60abf.js:771:5203 Unhandled error caught in promise chain
How do I make the Tab show up?

Related

uncaught exception : Experience not defined when testing a Shopify web app using Cypress

I'm writing automated tests for a Shopify application using cypress
When I finish filling the cart with items then click on the checkout button, I got this kind of error that prevents me to go to the checkout page :
(uncaught exception) Error: undefined status[500] response [{"message":"Experience not defined"}]
The following error originated from your application code, not from Cypress.It was caused by an unhandled promise rejection.
>undefined status[500] response [{"message":"Experience not defined"}]
When Cypress detects uncaught errors originated from your application it will automatically fail the current test.
This behavior is configurable, and you can choose to turn this off by listening to the uncaught:exception event.
This is the line when it heppens :
cy.get('.cart__checkout-form >
.button').scrollIntoView().click({force:true});

The Outlook add-in displayDialogAsync has unintended behavior

I'm creating an add-in on Outlook on the Web, and I'm seeing unexpected behavior when I test it.
In the Web version of Outlook, when I compose a message on the compose screen and click the "Send" button
A dialog box should appear, but it does not. Also, I am unable to send the email.
1)The event occurs even when the sample code described in the official reference is executed.
var dialog; Office.context.ui.displayDialogAsync('https://localhost:3000/index.html',
{height: 30, width: 20, displayInIframe: true},
function (asyncResult) { dialog = asyncResult.value; dialog.addEventHandler(
Office.EventType.DialogMessageReceived, processMessage); }
);[enter image description here][1]
2)The same behavior occurs when the sample code in (1) is incorporated into the official sample project files available on github.
■sample code link
https://github.com/OfficeDev/Outlook-Add-in-On-Send
3)When the event occurs, don't go to connect to the URL that is given as an argument in displayDialogAsync.
4)The problem definitely occurs when I access Outlook on the web and immediately click "New Message" to go to the compose screen.
5)No error message is displayed when a problem occurs.

Switching manually between tabs in personal msteams application

I have two tabs in my personal msteams application and I would like to navigate between them dynamically. Is it possible? I've tried to use microsoftTeams.getTabInstances method from msteams SDK to get my tabs and after that navigate to the chosen tab by invoking microsoftTeams.navigateToTab but this approach doesn't work - I get null from microsoftTeams.getTabInstances. My user is logged in (I've read somewhere that user must be logged in).
I've not tried exactly this action, but I believe you should be able to do what you're trying using Deep Links. In particular, see the Deep linking from your tab where it talks about
This is useful if your tab needs to link to [...] another tab [...]
and the syntax is
microsoftTeams.executeDeepLink(/*deepLink*/);
Just a reminder that in deep link syntax, e.g. https://teams.microsoft.com/l/entity/<appId>/<entityId>, the appid is your Teams app id, and the "entityId" must match the "entityId" for your tab in your Teams manifest file.
You can deeplink to content in Teams from your tab. This is useful if your tab needs to link to other content in Teams such as to a channel, message, another tab or even to open a scheduling dialog. To trigger a deeplink from your tab you should call:
var encodedWebUrl = encodeURI('https://tasklist.example.com/123/456&label=Task 456');
var encodedContext = encodeURI('{"subEntityId": "task456"}');
var taskItemUrl = 'https://teams.microsoft.com/l/entity/fe4a8eba-2a31-4737-8e33-e5fae6fee194/tasklist123?webUrl=' + encodedWebUrl + '&context=' + encodedContext;
Please take a look Deep Link to your tab

uiless action in Outlook add-in with displayDialog()

We are seeing a change in Outlook with one of actions (“Help”) that stopped working on the web client only.
This action simply calls a js that opens a web page in a displayDialog() but it’s uiless in the sense that there’s no pane.
The other action (“Sign”) works ok but it launches a pane that does this.
Both of them work fine on the rich client (at least the version I use).
I wonder if there has been in recent changes in the requirements or the way this works?
We’re not seeing any error messages, just nothing happens after the prompt saying that the add-in is doing something.
We did some initial testing and noticed that in chrome the dialog will sometimes appear briefly. Could you confirm that you are calling event.completed() in the eventhandler of EventType.DialogEventReceived? event.completed() must be called in the DialogEventReceived handler otherwise the dialog will be closed prematurely.
Office.context.ui.displayDialogAsync(url, dialogOptions, function(result) {
// In the callback, save the dialog object
dialog = result.value;
// Add an event handler for messages sent via messageParent
dialog.addEventHandler(Microsoft.Office.WebExtension.EventType.DialogMessageReceived, receiveMessage);
// Add an event handler for events from the platform (like closing the dialog, etc.)
dialog.addEventHandler(Microsoft.Office.WebExtension.EventType.DialogEventReceived, dialogClosed);
});

UnauthorizedAccessException when redirecting to a new page with the error displayed on top

The app is at certain view with submenus at the left and a list of items in the main content area. The user needs to select an item before clicking on any of the submenu to navigate to the submenu pages. If no item is selected and a submenu is clicked, the server is supposed to post an error to MVC and redirect to the original list page with the error message displayed on top of the page.
The test simply navigate to the list page, without selecting any item, immediately click on the submenu.
The following exception is caught by WatiN, if I use the try/catch block to eat the exception, the original list page would be displayed without the error message displayed on top. How can I tell WatiN to ignore the exception so that the error message would be displayed on top of the original list page, just as user would get by manually interact with the server w/o WatiN?
System.UnauthorizedAccessException was unhandled by user code
Message=Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))
Source=WatiN.Core
StackTrace:
at WatiN.Core.UtilityClasses.UtilityClass.TryFuncFailOver[T](DoFunc1 func, Int32 numberOfRetries, Int32 sleepTime)
at WatiN.Core.Native.InternetExplorer.IEElement.GetWithFailOver[T](DoFunc1 func)
at WatiN.Core.Native.InternetExplorer.IEElement.GetAttributeValue(String attributeName)
at WatiN.Core.Element.GetAttributeValueImpl(String attributeName)
at WatiN.Core.Component.GetAttributeValue(String attributeName)
at WatiN.Core.Element.get_Enabled()
at WatiN.Core.Element.Click()
at ARMSAutomation.TestAnimals.NegativeTestNavigateToAnimalsPanels() in C:\ARMS\ARS\QA\Automation\ARMSAutomation\TestAnimals.cs:line 655
InnerException:
I think this is a bug in WatiN which prevents the actual clicking on the button. That is why you still see your original page.
Try upgrading to the latest release (2.0.50) in which a lot of changes regarding the clicking on elements have been made.
HTH,
Jeroen
Lead dev WatiN.

Resources