fix: Dev v4 to main PR#1001
Conversation
fix: Dev v4 to dependabotchanges downmerge
fix: Add toaster message of failure in logs
chore: main to dev downmerge
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
refactor: Updated Foundry Roles name
There was a problem hiding this comment.
Pull request overview
This pull request aligns Azure AI Foundry RBAC terminology by renaming the “Azure AI User” role to “Foundry User” across docs/infra/scripts, and improves plan-execution failure reporting end-to-end (backend orchestration → WebSocket → frontend UI state).
Changes:
- Rename “Azure AI User” → “Foundry User” in documentation, Bicep templates, ARM template output, and the role-assignment script.
- Backend: propagate orchestration failures with richer logging/telemetry and emit
ERROR_MESSAGEWebSocket events; attempt to mark the plan as failed in storage. - Frontend: add a centralized
planFailedFinalRedux action and handleERROR_MESSAGE(plus a safety net for error-as-final-result), improving UX for failure states; minor UI tweak for “AI Agent” tag display.
Reviewed changes
Copilot reviewed 12 out of 12 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| src/tests/backend/v4/orchestration/test_orchestration_manager.py | Extends mocks to cover new imports/message types used by orchestration error handling. |
| src/backend/v4/orchestration/orchestration_manager.py | Adds plan_id threading, DB status update on failure, and sends ERROR_MESSAGE via WebSocket. |
| src/backend/v4/api/router.py | Wraps background orchestration task with error logging + telemetry (plan/session/user context). |
| src/App/src/store/slices/planSlice.ts | Adds planFailedFinal action to centralize plan failure UI state updates. |
| src/App/src/hooks/usePlanWebSocket.tsx | Handles ERROR_MESSAGE and updates plan/UI state accordingly; disconnects socket on terminal failure. |
| src/App/src/components/content/streaming/StreamingAgentMessage.tsx | Only shows “AI Agent” tag for non-system agent messages. |
| infra/scripts/assign_azure_ai_user_role.sh | Updates role-name output/messages to “Foundry User”. |
| infra/main.json | Regenerates ARM template (Bicep generator metadata and formatting changes). |
| infra/main.bicep | Updates inline role comment to “Foundry User”. |
| infra/main_custom.bicep | Updates inline role comment to “Foundry User”. |
| docs/re-use-foundry-project.md | Updates role assignment guidance to “Foundry User”. |
| docs/LocalDevelopmentSetup.md | Updates local dev role assignment command to “Foundry User”. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
feat: Enhance email template, add RG owner tag, scalability input
fix: dependabot package upgrades
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 21 out of 22 changed files in this pull request and generated 8 comments.
Comments suppressed due to low confidence (1)
src/App/src/hooks/usePlanWebSocket.tsx:260
- In the
ERROR_MESSAGEhandler you mark the plan failed and disconnect, but you don’t disable the chat input. If input was enabled (e.g., after a clarification request), the user can still submit text against a disconnected/failed run. DispatchsetSubmittingChatDisableInput(true)as part of this failure handling.
const errorAgent: AgentMessageData = {
agent: 'system',
agent_type: AgentMessageType.SYSTEM_AGENT,
timestamp: Date.now(),
steps: [],
next_steps: [],
content: formatErrorMessage(errorContent),
raw_data: errorMessage || '',
};
dispatch(addAgentMessage(errorAgent));
dispatch(planFailedFinal());
dispatch(setShowBufferingText(false));
scrollToBottom();
showToast(errorContent, 'error');
webSocketService.disconnect();
},
fix: address SFI security compliance issues
chore: resolve copilot comments
|
🎉 This PR is included in version 4.2.3 🎉 The release is available on GitHub release Your semantic-release bot 📦🚀 |
Purpose
This pull request primarily updates the naming of a key Azure role from "Azure AI User" to "Foundry User" throughout the documentation, infrastructure, and scripts, to match current Azure terminology. Additionally, it introduces improved error handling and status reporting in the frontend and backend plan orchestration workflow.
Role Naming Consistency Updates:
docs/LocalDevelopmentSetup.md,docs/re-use-foundry-project.md), infrastructure Bicep modules (infra/main.bicep,infra/main_custom.bicep), deployment scripts (infra/scripts/assign_azure_ai_user_role.sh), and generated ARM templates (infra/main.json) have been changed to "Foundry User" for accuracy and clarity. [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16]Frontend Plan Orchestration Improvements:
planFailedFinalaction in the Redux slice to centralize error state management for plan execution. [1] [2]Backend Orchestration Robustness:
These changes ensure consistent terminology, improve user experience by making error states more visible and actionable, and enhance backend robustness for orchestration failures.
Does this introduce a breaking change?
How to Test
What to Check
Verify that the following are valid
Other Information