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

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

Merged
tracyboehrer (tracyboehrer) merged 2 commits into
mainfrom
southworks/fix/foreachelement-loop-with-changes
Aug 23, 2022
Merged

tracyboehrer (tracyboehrer) merged 2 commits into
mainfrom
southworks/fix/foreachelement-loop-with-changes

Conversation

@ceciliaavila

Copy link
Copy Markdown
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 Cecilia Avila (ceciliaavila) added the Automation: No parity PR does not need to be applied to other languages. label Aug 23, 2022
@ceciliaavila
Cecilia Avila (ceciliaavila) requested a review from a team as a code owner August 23, 2022 17:45
@tracyboehrer
tracyboehrer (tracyboehrer) deleted the southworks/fix/foreachelement-loop-with-changes branch August 23, 2022 19:15
tracyboehrer (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 (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 (tracyboehrer) pushed a commit that referenced this pull request Sep 6, 2022
…es cause ContinueDialogAsync to be recalled (#6448)"

This reverts commit bc5d708.
tracyboehrer (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 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 loop's incorrectly when changes cause ContinueDialogAsync to be recalled

3 participants