Cancel all dialogs vs Cancel All Active dialogs
What is the difference ? I am working using 2.1.2-nightly.314453.6e43cf5. Within the Dialog Management activities you can choose between Cancel Dialog and Cancel all active dialogs, but the input form is exactly the same. So, is it a bug or is there some difference that I frankly don't understand?
@ZepHakase22 - Thank you for your patience while I looked into this. In my testing, that dialog action (as well as several others) wasn't available until I added the Microsoft.Bot.Components.AdaptiveCards or Microsoft.Bot.Components.Teams packages to the Composer bot. It doesn't appear to be a part of the core Composer actions available. (Side note: Interestingly, when the packages were removed, the functionality remained which also seems to be a bug.)
Looking at the code, 'Cancel dialog' is designed with the same implementations as 'Cancel all active dialogs' with one exception. Both extend from the base CancelAllDialogs class which takes a boolean parameter dictating whether the parent dialog should be canceled or not. 'Cancel dialog' has this property set to false however this value is not being respected. The result is it functions the same as 'Cancel all active dialogs'.
Whatismore, the text descriptions are also inaccurate. Overall, it appears this is a bug in the code. I will bubble this up to be addressed. I don't have a timeframe on when this might happen especially considering this is involving a package and not the core product.
If you are looking for a way to cancel a single dialog, you will need to handle this directly by detecting the user's intent, ending the dialog (which will return control to the parent dialog), and clearing any property values that also would have been returned.
Thx, so much. I think it is appropriate to eliminate this "confusion" in the composer but I understand your priorities. in reality I wanted to eliminate all the dialogs in the chain, except the father who launches the cancellation, a problem that arises whenever an error occurs somewhere. I think I solved it in another way.