Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Merged
merged 2 commits into from
Aug 23, 2022

Conversation

ceciliaavila
Copy link
Collaborator

Fixes #6428

Description

This PR fixes the malfunctioning of the ForEachElement loop when there're recursive calls to the ContinueDialogAsync method by reacquiring the child dialog state after finishing the ContinueDialogAsync execution.

Specific Changes

  • Updated the RunItemsAsync method of the ForEachElement class to call the GetActionScopeState method again after finishing the ContinueDialogAsync execution.
  • Added a unit test in the AdaptiveDialogTests class to cover the scenario with recursive calls to the ContinueDialogAsync method.

Testing

These images show the ForEachElement's behavior before and after the fix.

image

@ceciliaavila ceciliaavila added the Automation: No parity PR does not need to be applied to other languages. label Aug 23, 2022
@ceciliaavila ceciliaavila requested a review from a team as a code owner August 23, 2022 17:45
@tracyboehrer tracyboehrer merged commit bc5d708 into main Aug 23, 2022
@tracyboehrer tracyboehrer deleted the southworks/fix/foreachelement-loop-with-changes branch August 23, 2022 19:15
tracyboehrer pushed a commit that referenced this pull request Aug 24, 2022
… ContinueDialogAsync to be recalled (#6448)

* Reacquire childDialogState after ContinueDialogAsync

* Add unit test
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 6, 2022
…es cause ContinueDialogAsync to be recalled (#6448)"

This reverts commit bc5d708.
tracyboehrer pushed a commit that referenced this pull request Sep 7, 2022
…y when changes cause ContinueDialogAsync to be recalled (#6448)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
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 loop's incorrectly when changes cause ContinueDialogAsync to be recalled
3 participants