Repository navigation
Fix private action credential recovery in shared conversations - #1784
Merged
Paul Lizer (paullizer) merged 1 commit intoOct 19, 2026
Merged
Paul Lizer (paullizer) merged 1 commit into
Paul Lizer (paullizer) merged 1 commit into
Conversation
Resolve shared and execution conversation contexts without weakening personal-agent ownership. Restore private credential prompts and idempotent shared-answer delivery, clarify reload failures, and add regression coverage and documentation for version 0.261.348. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
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
Linked issue
N/A. Issue creation was deferred during investigation; no issue has been created.
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.347->0.261.348. No deployer changes.Testing / validation
Python checks used an isolated environment with the application's pinned dependencies and
application\single_appplusfunctional_testsonPYTHONPATH.python .\scripts\check_cosmos_response_boundaries.py --run-contracts- passed: 1,118 tests and 244 subtests; 1,067 storage owners and 411 doubles with zero review gaps. External network access was blocked. Includes fresh-process credential bootstrap, shared recovery, private stream projection, and relevant orchestration/storage contracts.node .\functional_tests\test_v2_action_personal_credentials.mjs- passed.npm --prefix .\application\v2_ui run typecheck- passed.npm --prefix .\application\v2_ui run build- passed, with the existing large-chunk warning.python .\functional_tests\test_docs_app_surface_coverage.py- passed, 7/7 checks; generated application-surface inventory remains current without a content change.python .\functional_tests\test_docs_site_quality.py- passed, 6/6 checks.git diff --check- passed before commit.V2 credential browser coverage also passed (30 cases across the component and real Flask/Semantic Kernel backend suites), as did the classic credential browser cases (28). Coverage includes shared personal/group chats, noncreator participants using their own personal agents, navigation/reload races, revoked access, and delivery retry without another provider call.
No deployment, production credential submission, or real external action execution was performed. Production validation after deployment remains a separate authorized step.
Documentation
Updated the personal action-credentials feature, user guide, and chat-controls reference. Added
docs/explanation/fixes/SHARED_CHAT_ACTION_CREDENTIALS_FIX.mdwith the confirmed routing cause, privacy boundaries, continuation behavior, and limitations. The release-notes update was offered but remains deferred pending approval.Security checklist
@swagger_route(security=get_auth_security())sanitize_settings_for_user()No new routes or settings-to-browser surfaces were added. Existing CSRF, no-store headers, ETags, actor-partition ownership, manifest fingerprints, checkpoint/journal guards, and general personal-conversation authorization remain in place. Shared pending reads do not create backing conversations or participant-state records, and infrastructure errors remain explicit rather than returning an empty success.