Repository navigation
Fix unrelated M365 banners and preserve drafts during session recovery - #1769
Merged
Paul Lizer (paullizer) merged 3 commits intoOct 15, 2026
Merged
Paul Lizer (paullizer) merged 3 commits into
Paul Lizer (paullizer) merged 3 commits into
Conversation
Keep optional outgoing-action errors contextual and distinguish app-session expiry from provider auth and connectivity failures. Add bounded read-only verification and a shared recovery notice without replaying failed operations or discarding drafts. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Resolve the plan-replay browser harness conflict by retaining calendar action placement and session recovery cases. Advance the application version to 0.261.339 after both branches used 0.261.338. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Paul Lizer (paullizer)
merged commit Oct 15, 2026
c494069
into
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
The original incident's token-versus-network cause remains unconfirmed without its request trace. No backend authorization, OAuth permissions, session lifetime, delivery policy, or classic UI behavior changes.
Linked issue
N/A. No associated issue; issue creation was declined.
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:
0.261.337to0.261.338. No deployer changes.Testing / validation
node --test .\functional_tests\test_v2_app_session_recovery.mjs .\functional_tests\test_v2_bootstrap_refresh_logic.mjs .\functional_tests\test_v2_workflow_plan_replay_client.mjs .\functional_tests\test_v2_access_restriction_and_safety_warning_logic.mjs- passed, 29 Node test results, including all 14 bootstrap checks.python .\functional_tests\test_v2_m365_pending_actions.py- passed, 15/15 checks; executed 32 logic, 44 store, 43 stream, and 19 session-recovery runtime tests without skips.python -m pytest .\ui_tests\test_v2_m365_pending_action_cards.py .\ui_tests\test_v2_workflow_plan_replay_card.py -q- passed, 28 tests. After expanding transport-failure and layout coverage,python -m pytest .\ui_tests\test_v2_workflow_plan_replay_card.py -qpassed all 12 tests.npm --prefix .\application\v2_ui run typecheck- passed.npm --prefix .\application\v2_ui run build -- --outDir ..\..\ui_tests\artifacts\orchestration-plan-editor- passed; existing bundle-size warning only. Build artifacts are not committed.python .\scripts\build_docs_inventory.py- passed; regenerated inventory has no content changes.python .\functional_tests\test_docs_app_surface_coverage.py- passed, 7/7 checks.python .\functional_tests\test_docs_site_quality.py- passed, 6/6 checks.python .\scripts\check_xss_sinks.py .\application\v2_ui\src\components\layout\SessionNotice.tsx .\application\v2_ui\src\components\layout\AppShell.tsx .\application\v2_ui\src\components\chat\PendingActionSlots.tsx .\application\v2_ui\src\lib\apiClient.ts .\application\v2_ui\src\stores\appSessionStore.ts- passed for all five modules.git -c core.whitespace=blank-at-eol,blank-at-eof,space-before-tab,cr-at-eol diff --check- passed.Browser coverage uses real React components and mocked HTTP boundaries, including desktop/mobile recovery, retained draft DOM, preserved schedule fields, confirmed expiry after rejected fetches, contextual action warnings, and no automatic POST replay. This is not a live-production reproduction of the original upstream failure.
Documentation
Release notes remain unchanged: approval was requested, but the user was unavailable. Updated pending-action feature documentation, the chat-controls reference, getting-started recovery guidance, and the versioned fix analysis.
Security checklist
@swagger_route(security=get_auth_security())sanitize_settings_for_user()No Flask routes or settings payloads were added or changed. Existing provider authentication, conversation authorization, terms-of-use, and account-restriction behavior is preserved.