microsoft/simplechat v0.237.009
microsoft/simplechat
Captured source
source ↗published Feb 9, 2026seen Jun 26captured 1whttp 200method plain
v0.237.009
Repository: microsoft/simplechat
Tag: v0.237.009
Published: 2026-02-09T18:20:35Z
Prerelease: no
Release notes:
New Features
- ServiceNow Integration Documentation
- Comprehensive documentation for integrating ServiceNow with Simple Chat, including step-by-step guides for both Basic Authentication and OAuth 2.0.
- OAuth 2.0 Setup: Detailed guide for Resource Owner Password Credential grant type with production security considerations.
- OpenAPI Specifications: 7 OpenAPI YAML files for ServiceNow Incident Management and Knowledge Base APIs (both bearer token and basic auth versions).
- Agent Instructions: Behavioral instructions optimized for ServiceNow operations (263 lines).
- Key Features: Integration user creation, role assignment guidance, token management strategies, troubleshooting guide, and production deployment considerations.
- Documentation Files:
SERVICENOW_INTEGRATION.md(760 lines),SERVICENOW_OAUTH_SETUP.md(480+ lines),servicenow_agent_instructions.txt, and 7 OpenAPI specs indocs/how-to/agents/ServiceNow/. - (Ref: ServiceNow integration, OAuth 2.0, OpenAPI specifications, enterprise integrations)
Bug Fixes
- Workspace Search Deselection KeyError Fix
- Fixed HTTP 500 error when deselecting the workspace search button after having a document selected. Users would get "Could not get a response. HTTP error! status: 500" in the chat interface.
- Root Cause: When workspace search was deselected (
hybrid_search_enabled = False), theuser_metadata['workspace_search']dictionary was never initialized. However, subsequent code for handling group scope or public workspace context attempted to accessuser_metadata['workspace_search']['group_name']or other properties, causing a KeyError. - Error:
KeyError: 'workspace_search'at lines 468, 479 inroute_backend_chats.pywhen trying to set group_name or active_public_workspace_id. - Solution: Added defensive checks before accessing
user_metadata['workspace_search']. If the key doesn't exist, initialize it with{'search_enabled': False}before attempting to set additional properties like group_name or workspace IDs. - Workaround: Clicking Home and then back to Chat worked because it triggered a page reload that reset the state properly.
- (Ref:
route_backend_chats.py, workspace search, metadata initialization, KeyError handling)
- OpenAPI Basic Authentication Fix
- Fixed "session not authenticated" errors when using Basic Authentication with OpenAPI actions, even when credentials were correct.
- Root Cause: Mismatch between how the UI stored Basic Auth credentials (as
username:passwordstring inauth.key) and how the OpenAPI plugin factory expected them (as separateusernameandpasswordproperties inadditionalFields). - Solution: Modified
OpenApiPluginFactoryto detect and parseusername:passwordformat fromauth.key, splitting credentials into separate properties that the authentication middleware expects. - Files Modified:
semantic_kernel_plugins/openapi_plugin_factory.py. - (Ref: OpenAPI actions, Basic Authentication, credential parsing,
OPENAPI_BASIC_AUTH_FIX.md)
- Group Action OAuth Schema Merging Fix
- Fixed HTTP 401 Unauthorized errors when using OAuth bearer token authentication with group actions. When editing group actions,
additionalFieldswas empty, missing all authentication configuration. - Root Cause: Group action backend routes did not call
get_merged_plugin_settings()to merge UI form data with OpenAPI schema defaults, while global action routes did. This caused group actions to be saved without authentication configuration fields likeauth_method,base_url, and authentication credentials. - Solution: Updated group action save/update routes in
route_backend_plugins.pyto callget_merged_plugin_settings(), ensuring authentication configuration is properly merged and persisted. - Files Modified:
route_backend_plugins.py. - (Ref: Group actions, OAuth authentication, schema merging,
GROUP_ACTION_OAUTH_SCHEMA_MERGING_FIX.md)
- Group Agent Loading Fix
- Fixed issue where group agents were not appearing in the agent list when per-user semantic kernel mode was enabled. Users selecting group agents would fall back to the global "researcher" agent with zero plugins/actions available.
- Root Cause: The
load_user_semantic_kernel()function only loaded personal agents and global agents (when merge enabled), but completely omitted group agents from groups the user is a member of. - Solution: Updated
load_user_semantic_kernel()to fetch and load group agents for all groups the user is a member of, ensuring proper agent availability in per-user kernel mode. - Files Modified:
semantic_kernel_loader.py. - (Ref: Group agents, per-user semantic kernel, agent loading,
GROUP_AGENT_LOADING_FIX.md)
- Manage Group Page Syntax Error Fix
- Fixed critical JavaScript syntax error preventing the manage group page from loading. Removed duplicate code blocks including duplicate conditional checks, forEach loops, button tags, and function definitions.
- The page was stuck on "Loading..." indefinitely with console error "Uncaught SyntaxError: missing ) after argument list" at line 673.
- (Ref:
manage_group.js, duplicate code removal, syntax error resolution)
- File Extension Handling Improvements
- Fixed multiple issues related to file extension handling and audio transcription across the application.
- Missing MP3 Extension: Fixed issue where .mp3 files were missing from the list of allowed extensions. Users attempting to upload mp3 files to workspaces saw "Uploaded 0/1, Failed: 1" with no error logging to activity_logs or documents containers.
- Centralized Extension Definitions: Resolved file extension variable duplications throughout codebase by centralizing all allowed file extension definitions in
config.pyand importing them in downstream function and route files. This prevents extension lists from going out of sync during updates. - Additional Supported Extensions: Added missing file types supported by Document Intelligence and Video Indexer services: .heic (image), .mpg, .mpeg, .webm (video).
- Browser-Compatible Extensions: Adjusted file extensions in
chat-enhanced-citations.jsfor proper browser rendering. Removed incompatible formats like .heif and added compatible formats like .3gp after thorough testing.
*...
Excerpt shown — open the source for the full document.