Skip to content

Fix V1 chat page HTTP 500 from missing reasoning resolver import - #1755

Merged
Paul Lizer (paullizer) merged 3 commits into
microsoft:paullizer-react-v2-uifrom
paullizer:paullizer-v1-chat-error
Oct 11, 2026
Merged

Paul Lizer (paullizer) merged 3 commits into
microsoft:paullizer-react-v2-uifrom
paullizer:paullizer-v1-chat-error

Conversation

@paullizer

Copy link
Copy Markdown
Collaborator

Summary

  • Restore the explicit reasoning-policy resolver import used by V1's initial model selector. A catalog refactor removed the import but retained the call, causing authenticated /chats startup to raise NameError with nonempty model catalogs.
  • Add fresh-process, real-web regression coverage for legacy, APIM, and multi-endpoint catalogs, warm/cold startup, preferences, reasoning metadata, and access controls. Preserve existing model-selection behavior and V2 routes; document the fix in version 0.261.327.

Linked issue

N/A. The user requested investigation and implementation without creating an issue.

Release Notes & Latest Features

  • New Feature
  • Bug Fix
  • UI Enhancement
  • Breaking Change
  • Internal only

Is this visible to end users?

  • Yes
  • No

Is this admin-facing (Admin Settings, governance, deployment, config)?

  • Yes
  • No

Should this become a Latest Feature card?

  • Yes
  • No
  • Already added

Screenshot needed for the card?

  • Yes
  • No
  • Attached

Version bump

  • application/single_app/config.py VERSION third segment bumped, or not needed because this is docs-only
  • deployers/version.txt bumped, or not needed because deployers/ was not changed

Application version: 0.261.326 -> 0.261.327. No deployer changes.

Testing / validation

  • python -m pytest -q .\functional_tests\test_chat_v1_page_bootstrap.py before the fix: 4 failed as expected, including the actual authenticated route's missing-resolver exception in normal/optimized Python.
  • python -m pytest -q .\functional_tests\test_chat_v1_page_bootstrap.py .\functional_tests\test_chat_model_selector_initial_multiendpoint_bootstrap.py: 7 passed, including the final run after the version bump.
  • python -m pytest -q .\functional_tests\test_model_reasoning_capability_resolution.py .\functional_tests\test_chat_retry_import_boundaries.py: 31 passed, plus 64 passing subtests.
  • python -m pytest -q .\functional_tests\test_v2_ui_spa_route.py: 6 passed.
  • python .\functional_tests\route_tests\test_route_blueprint_policy_inventory.py: 15 passed.
  • python .\functional_tests\route_tests\test_route_unauthenticated_policy_contract.py: 10 passed.
  • python .\functional_tests\route_tests\test_route_policy_test_coverage.py: 3 passed.
  • python .\functional_tests\test_docs_app_surface_coverage.py: 7 passed; inventory remains current.
  • python .\functional_tests\test_docs_site_quality.py: 6 passed.
  • python -m pytest -q .\ui_tests\test_chat_page_multi_endpoint_notice_render.py .\ui_tests\test_staging_chat_smoke.py: 2 skipped because no authenticated deployed environment was configured.
  • git -c core.whitespace=blank-at-eol,blank-at-eof,space-before-tab,cr-at-eol diff --check: passed.

Application integration tests used a session-local virtual environment with repository Flask/Werkzeug/Semantic Kernel versions and compatible TLS dependencies to resolve the default interpreter's unrelated OpenSSL import failure. Shared interpreter packages and dependency manifests are unchanged.

The deployed screenshot did not include a server traceback. This defect was reproduced through the real local route, but deployed page loading and a complete model send/response cycle remain unverified. An unrelated existing bootstrap-safety test still expects the previously removed migration notice; it remains unchanged and is documented in the fix notes.

Documentation

  • Release notes updated, or not needed
  • Feature documentation updated, or not needed
  • Fix documentation updated, or not needed

Added docs/explanation/fixes/V1_CHAT_PAGE_BOOTSTRAP_FIX.md. Release notes remain unchanged pending user approval. No new feature surface is introduced.

Security checklist

  • New Flask routes include @swagger_route(security=get_auth_security())
  • Settings sent to non-admin frontends use sanitize_settings_for_user()
  • Browser JavaScript is served from local SimpleChat static assets only; no CDN-hosted JS
  • No secrets, keys, connection strings, or local-only artifacts are included

No new routes or browser assets. Runtime tests retain actual authentication decorators and sanitizer, and check that synthetic credential/private endpoint markers are absent from rendered HTML.

Restore the reasoning policy dependency used by the classic chat model selector. Add real-web bootstrap regressions, document the fix, and advance the application version to 0.261.327.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Refresh the three import-invalidated owner fingerprints, replace the upload context source-only baseline with real pinned-SDK runtime evidence, and preserve unused write-response classifications. Bump app version to 0.261.328 and document validation for PR microsoft#1755.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Resolve the config version conflict by keeping 0.261.328 while integrating the current paullizer-react-v2-ui changes.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
@paullizer
Paul Lizer (paullizer) merged commit 99cc451 into microsoft:paullizer-react-v2-ui Oct 11, 2026
11 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant