Redis key vault auth and 3 bug fixes#767
Redis key vault auth and 3 bug fixes#767Xeelee33 wants to merge 7 commits intomicrosoft:Developmentfrom
Conversation
…ty is not available in sovereign clouds.
…sation details load properly for legacy conversations
…s in overflowing message responses to function properly
…conflict, resolved for both light and dark mode themes.
|
Great additions and bug fixes! |
|
@Xeelee33 did you want this as draft? |
Absolutely, I'll make the update shortly. |
There was a problem hiding this comment.
Pull request overview
Adds a Key Vault–based Redis authentication mode (for Azure Gov compatibility) and includes UI/CSS and backend fixes for chat rendering, prompt editor icons, and legacy conversation metadata.
Changes:
- Add Redis auth type
key_vaultand wire it through Admin Settings UI + test-connection flow. - Retrieve Redis secrets from Azure Key Vault for both session configuration and app cache setup.
- Fix chat overflow behavior, SimpleMDE toolbar icons, and legacy conversation metadata defaulting.
Reviewed changes
Copilot reviewed 9 out of 9 changed files in this pull request and generated 6 comments.
Show a summary per file
| File | Description |
|---|---|
| application/single_app/templates/admin_settings.html | Adds “Key Vault” auth option and updates Redis key label + hint text in Admin Settings. |
| application/single_app/static/js/admin/admin_settings.js | Toggles Redis key UI for key-vault option and includes auth_type in Redis test payload. |
| application/single_app/static/css/styles.css | Replaces missing Font Awesome toolbar icons with Bootstrap Icons and dark theme tweaks for SimpleMDE. |
| application/single_app/static/css/chats.css | Changes message content overflow to allow horizontal scrolling in responses. |
| application/single_app/route_backend_settings.py | Adds Key Vault secret retrieval path for Redis connection tests. |
| application/single_app/route_backend_conversations.py | Defaults chat_type for legacy conversations to prevent details pane errors. |
| application/single_app/functions_keyvault.py | Introduces retrieve_secret_direct() helper to fetch arbitrary Key Vault secret names. |
| application/single_app/app_settings_cache.py | Adds Key Vault path to initialize Redis cache client using secrets. |
| application/single_app/app.py | Adds Key Vault path to configure Flask sessions with Redis using secrets. |
Updating feature/redis_keyvault_auth branch with current Development branch to baseline release_notes.md for update
…uest & updated release_notes.md and version in config.py
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 11 out of 11 changed files in this pull request and generated 7 comments.
Comments suppressed due to low confidence (1)
application/single_app/functions_keyvault.py:581
key_vault_identitydefaults to an empty string in settings, but this code treats any non-Nonevalue as a client id. Passingmanaged_identity_client_id=''can break Key Vault auth when the intent is to use the system-assigned identity. Strip and check truthiness (e.g.,if key_vault_identity and key_vault_identity.strip(): ... else ...).
key_vault_identity = settings.get("key_vault_identity", None)
if key_vault_identity is not None:
credential = DefaultAzureCredential(managed_identity_client_id=key_vault_identity)
else:
credential = DefaultAzureCredential()
This pull requests adds 1 new feature and 3 bug fixes.
Feature - adds key vault secret authentication option for Redis
Commit: 3368d6e
Since authenticating to Redis via managed identity is not supported in Azure Gov (Confirmed in issue #696), added a Key Vault authentication option so Gov customers can utilize Redis session caching without storing plain text access keys in Cosmos. It builds off the existing Key Vault settings in the Security tab in Admin Settings. Unlike for agents, the secret name for Redis doesn't have any specific format restrictions.
Bug fix 1 - Resolved visible text being cut off and no horizontal scroll bars in blocks in message responses

Commit: 9823912
Resolved issue described in issue #719. Confirmed that all drop downs and expansion windows like message metadata details still function properly.
Bug fix 2 - Resolved invisible icons in New Prompt editor
Commit: e4157b6
Icons were missing in Create New Prompt editor in both light and dark mode due to the SimpleMDE toolbar in the editor using Front Awesome icons that don't exist in the project. Repointed the icons to the equivalent Bootstrap icons and made necessary adjustments for dark theme.
Before


After


Bugfix 3 - Resolved conversation details not loading for legacy conversations

Commit: 5c48426
The chat_type property being called in the conversation metadata query doesn't exist in legacy conversations, so clicking on the conversation details button on legacy conversations throws an error:
This commit just adds a default value of 'personal' to chat_type when it's called but returns no value. This same logic was previously added to the conversation search function (code snippet below is from current main branch):
simplechat/application/single_app/route_backend_conversations.py
Lines 981 to 987 in fdaa3f1
After the fix, the conversation details window populates properly for legacy conversations:
