Skip to content
This repository was archived by the owner on Jan 5, 2026. It is now read-only.

[#6430] Adaptive ForEachElement does not exit when child action CancelAllDialogs is called#6452

Merged
tracyboehrer merged 2 commits into
mainfrom
southworks/fix/foreachelement-cancel-dialog
Aug 29, 2022
Merged

[#6430] Adaptive ForEachElement does not exit when child action CancelAllDialogs is called#6452
tracyboehrer merged 2 commits into
mainfrom
southworks/fix/foreachelement-cancel-dialog

Conversation

@ceciliaavila
Copy link
Copy Markdown
Collaborator

Fixes #6430

Description

This PR fixes the issue in the ForEachElement action that wasn't exiting the loop after a call to the CancelAllDialogs action.
The fix also considers the nested ForEachElement loops scenario.

Specific Changes

  • Updated the ShouldEndDialog method of the ForEachElement class to consider also Cancelled status as well as Complete to end the dialogs.
  • Added a unit test in the ActionTests class to cover the nested ForEachElement's loops with a CancelAllDialogs call scenario.
  • Added the Action_Foreach_Nested_WithCancel.test.dialog test script.

Testing

These images show the issue fixed after the changes.
image

@ceciliaavila ceciliaavila added the Automation: No parity PR does not need to be applied to other languages. label Aug 25, 2022
@ceciliaavila ceciliaavila requested a review from a team as a code owner August 25, 2022 17:50
@coveralls
Copy link
Copy Markdown
Collaborator

Pull Request Test Coverage Report for Build 318702

  • 0 of 0 changed or added relevant lines in 0 files are covered.
  • 4 unchanged lines in 3 files lost coverage.
  • Overall coverage decreased (-0.006%) to 79.052%

Files with Coverage Reduction New Missed Lines %
/libraries/AdaptiveExpressions/BuiltinFunctions/GetNextViableTime.cs 1 90.91%
/libraries/AdaptiveExpressions/BuiltinFunctions/GetPreviousViableTime.cs 1 90.91%
/libraries/Microsoft.Bot.Builder.Dialogs.Adaptive/Actions/ForEachElement.cs 2 89.39%
Totals Coverage Status
Change from base Build 318566: -0.006%
Covered Lines: 25529
Relevant Lines: 32294

💛 - Coveralls

@tracyboehrer tracyboehrer merged commit c572be3 into main Aug 29, 2022
@tracyboehrer tracyboehrer deleted the southworks/fix/foreachelement-cancel-dialog branch August 29, 2022 20:01
tracyboehrer added a commit that referenced this pull request Sep 1, 2022
* README version to 4.18 (#6425)

Co-authored-by: Tracy Boehrer <trboehre@microsoft.com>

* [#6434] Priority broken for RegexRecognizer (#6435)

* Consider priority in OnRecognizeAsync method

* Add unit test

* Update Bool function to use Convert.ToBoolean (#6431)

* Update IsMatch empty string values (#6426)

* [#6428] Adaptive ForEachElement loop's incorrectly when changes cause ContinueDialogAsync to be recalled (#6448)

* Reacquire childDialogState after ContinueDialogAsync

* Add unit test

* Support passing sas token url's for token service (#6449)

Co-authored-by: Swagat Mishra <swagatm@microsoft.com>

* Bump @actions/core from 1.6.0 to 1.9.1 in /actions/verify-pr-labels (#6445)

Bumps [@actions/core](https://github.com/actions/toolkit/tree/HEAD/packages/core) from 1.6.0 to 1.9.1.
- [Release notes](https://github.com/actions/toolkit/releases)
- [Changelog](https://github.com/actions/toolkit/blob/main/packages/core/RELEASES.md)
- [Commits](https://github.com/actions/toolkit/commits/HEAD/packages/core)

---
updated-dependencies:
- dependency-name: "@actions/core"
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Support passing sas token url's for token service (#6449)

Co-authored-by: Swagat Mishra <swagatm@microsoft.com>

* [#6428] Adaptive ForEachElement loop's incorrectly when changes cause ContinueDialogAsync to be recalled (#6448)

* Reacquire childDialogState after ContinueDialogAsync

* Add unit test

* Delete vnext code which is dead (#6440)

* Fix PublishToCoveralls.ps1 (#6439)

* Remove failing Powershell patch download

* Upgrade coveralls.net to 4.0.1

* [#6430] Adaptive ForEachElement does not exit when child action CancelAllDialogs is called (#6452)

* Consider canceled status to end the dialog

* Add unit test

* [#6432] TeamsInfo.GetMemberAsync(...) doesn't work properly in Skill Bot scenario, it returns http 405 error (#6443)

* Implement GetMemberAsync for skills

* Add unit test

* [#6433] Error in AdaptiveDialog.ContinueActionAsync with native dialog SDK (#6444)

* Add condition before loading the resource

* Add unit tests

* Load AdaptiveDialogs dynamically on DialogContext

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Tracy Boehrer <trboehre@microsoft.com>
Co-authored-by: Cecilia Avila <44245136+ceciliaavila@users.noreply.github.com>
Co-authored-by: Joel Mut <62260472+sw-joelmut@users.noreply.github.com>
Co-authored-by: swagat mishra <swagatmishra2007@gmail.com>
Co-authored-by: Swagat Mishra <swagatm@microsoft.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: BruceHaley <v-brucehaley@microsoft.com>
tracyboehrer pushed a commit that referenced this pull request Sep 7, 2022
…on CancelAllDialogs is called (#6452)"

This reverts commit c572be3.
tracyboehrer pushed a commit that referenced this pull request Sep 7, 2022
…on CancelAllDialogs is called (#6452)"

This reverts commit c572be3.
tracyboehrer added a commit that referenced this pull request Sep 7, 2022
…on CancelAllDialogs is called (#6452)" (#6466)

This reverts commit c572be3.

Co-authored-by: Tracy Boehrer <trboehre@microsoft.com>
tracyboehrer added a commit that referenced this pull request Sep 7, 2022
…on CancelAllDialogs is called (#6452)" (#6466)

This reverts commit c572be3.

Co-authored-by: Tracy Boehrer <trboehre@microsoft.com>
tracyboehrer added a commit that referenced this pull request Sep 7, 2022
* Revert "[#6430] Adaptive ForEachElement does not exit when child action CancelAllDialogs is called (#6452)" (#6466)

This reverts commit c572be3.

Co-authored-by: Tracy Boehrer <trboehre@microsoft.com>

* Add cancellation token to TeamsOperation class (#6458)

* Fix typing indicator shown after bot has replied (#6460)

Co-authored-by: Tracy Boehrer <trboehre@microsoft.com>
Co-authored-by: Joel Mut <62260472+sw-joelmut@users.noreply.github.com>
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

Automation: No parity PR does not need to be applied to other languages.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Adaptive ForEachElement does not exit when child action CancelAllDialogs is called

3 participants