Repository navigation
Fix lost orchestration turns after navigation and refresh - #1897
Merged
Paul Lizer (paullizer) merged 2 commits intoNov 6, 2026
Conversation
Persist accepted questions before planning, continue authorized Auto work server-side, and restore turn state after navigation or reload. Fixes microsoft#1893 Co-authored-by: Copilot App <[email protected]>
Preserve guided questions, selected-document planning recovery, and conversation attachment isolation alongside durable planning. Reconcile runtime-backed SDK inventory reviews, align integration fixtures, and advance VERSION to 0.261.415. Co-authored-by: Copilot App <[email protected]>
Paul Lizer (paullizer)
merged commit Nov 6, 2026
86892d0
into
microsoft:paullizer-react-v2-ui
12 checks passed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Uses the existing message and orchestration containers; no new deployment resources or settings are required. Process interruption remains an explicit recoverable state, not permission to replay uncertain external effects. This does not reconstruct questions older versions never saved. Nothing has been deployed to Azure.
Linked issue
Fixes #1893
Release Notes & Latest Features
Is this visible to end users?
Is this admin-facing (Admin Settings, governance, deployment, config)?
Should this become a Latest Feature card?
Screenshot needed for the card?
Version bump
application/single_app/config.pyVERSIONthird segment bumped, or not needed because this is docs-onlydeployers/version.txtbumped, or not needed becausedeployers/was not changedApplication version relative to the updated base:
0.261.414->0.261.415. No deployer files changed.Testing / validation
Current-head local validation follows. Offline Python selections used
PYTHONPATHcontainingapplication\single_appandfunctional_tests. Browser checks used local Chromium, not the deployed Azure application.python .\scripts\check_cosmos_response_boundaries.py --run-contracts- passed: 2,002 tests and 431 subtests, with network blocked; 1,092 owners, 425 doubles, and zero inventory review gaps.python -m pytest -q -p test_support.cosmos_network_guard --disable-warnings --tb=short --show-capture=no .\functional_tests\test_orchestration_document_planning_recovery.py .\functional_tests\test_orchestration_planning_persistence.py .\functional_tests\test_guided_user_input_orchestration.py- 96 passed.python -m pytest -q --disable-warnings --tb=short --show-capture=no .\ui_tests\test_v2_orchestration_planning_persistence.py .\ui_tests\test_v2_orchestration_planning_retry.py .\ui_tests\test_v2_chat_attachment_isolation.py .\ui_tests\test_v2_guided_user_input.py .\ui_tests\test_v2_new_chat_reset.py- 72 passed.python .\ui_tests\test_v2_orchestration_elicitation.py- 6/6 passed using its standalone initialization.python .\ui_tests\test_v2_orchestration_run_hydration.py- 7/7 passed using its standalone initialization.node .\functional_tests\test_v2_chat_attachment_isolation.mjs- passed.npm --prefix .\application\v2_ui run typecheck- passed.npm --prefix .\application\v2_ui run build- passed.python .\functional_tests\route_tests\test_route_blueprint_policy_inventory.py- 15/15 passed.python .\functional_tests\route_tests\test_route_unauthenticated_policy_contract.py- 10/10 passed.python .\functional_tests\route_tests\test_route_policy_test_coverage.py- 3/3 passed.python .\functional_tests\test_docs_app_surface_coverage.py- 7/7 passed; generated inventory remains current.python .\functional_tests\test_docs_site_quality.py- 6/6 passed.git -c core.whitespace=blank-at-eol,blank-at-eof,space-before-tab,cr-at-eol --no-pager diff --cached --check- passed.The 47 generated-inventory conflicts were module hashes only. They were regenerated while retaining runtime-backed reviews only for identical consumer bodies. Planner-only fixtures retain their no-step-execution guard and now verify the approved Auto handoff separately; real detached Auto completion remains covered. Browser fixtures explicitly answer the new pending-input reads and durable Stop acknowledgement without relaxing unexpected-request checks. Domain validators and repository guard rules were not weakened.
Existing clarification coverage requires exactly one saved question with its original acknowledged ID across repeated continuations. A historical-message fixture uses its insertion time instead of a future timestamp, preserving the pre-turn history boundary.
Documentation
Updated the orchestration feature/recovery documentation and plan-review guide, and added
docs/explanation/fixes/ORCHESTRATION_INITIAL_TURN_PERSISTENCE_FIX.md. Both feature histories were preserved during the base merge. Release notes were offered but left unchanged pending author approval.Security checklist
@swagger_route(security=get_auth_security())sanitize_settings_for_user()Turn status and cancellation revalidate conversation/question ownership. Normal history exposes public lifecycle hints, not private claim tokens or canonical planning records. No new raw-settings response was introduced.