Issue
Application code can pass unsupported structured-metadata keywords to functions_appinsights.log_event(). In the conversation-fork conflict path, custom_dimensions= raises TypeError, replacing the intended HTTP 409 eligibility conflict with HTTP 500. Additional fork cleanup paths use the similarly unsupported properties= keyword.
Steps to Reproduce
- Submit a personal-conversation fork request that correctly raises
ConversationForkConflictError.
- Let the route attempt to log the conflict with
custom_dimensions=.
- Observe that the logger call raises before the route can return its intended response.
Expected Behavior
The conflict is logged with canonical structured metadata and the route returns HTTP 409. All application log_event() callers use only supported arguments, with automated coverage preventing future contract drift.
Actual Behavior
The conflict logger raises TypeError: log_event() got an unexpected keyword argument 'custom_dimensions', converting the intended HTTP 409 into HTTP 500. Five cleanup/fallback calls also use unsupported properties= metadata.
Impact
Users receive an incorrect server-error response for a valid eligibility conflict, diagnostics are disrupted, and the same failure class can occur in other exception-handling paths.
Acceptance Criteria
Notes
Current findings are in route_backend_conversations.py and functions_simplechat_operations.py. No duplicate issue was found in the initial repository search. Roadmap triage: priority P1, size M.
Issue
Application code can pass unsupported structured-metadata keywords to
functions_appinsights.log_event(). In the conversation-fork conflict path,custom_dimensions=raisesTypeError, replacing the intended HTTP 409 eligibility conflict with HTTP 500. Additional fork cleanup paths use the similarly unsupportedproperties=keyword.Steps to Reproduce
ConversationForkConflictError.custom_dimensions=.Expected Behavior
The conflict is logged with canonical structured metadata and the route returns HTTP 409. All application
log_event()callers use only supported arguments, with automated coverage preventing future contract drift.Actual Behavior
The conflict logger raises
TypeError: log_event() got an unexpected keyword argument 'custom_dimensions', converting the intended HTTP 409 into HTTP 500. Five cleanup/fallback calls also use unsupportedproperties=metadata.Impact
Users receive an incorrect server-error response for a valid eligibility conflict, diagnostics are disrupted, and the same failure class can occur in other exception-handling paths.
Acceptance Criteria
custom_dimensions=andproperties=arguments in applicationlog_event()calls with canonicalextra=metadata.log_event()call signatures underapplication/.Notes
Current findings are in
route_backend_conversations.pyandfunctions_simplechat_operations.py. No duplicate issue was found in the initial repository search. Roadmap triage: priority P1, size M.