Repository navigation
Fix V2 admin Web Search test failing for saved Foundry connections - #1662
Merged
Paul Lizer (paullizer) merged 1 commit intoOct 6, 2026
Merged
Paul Lizer (paullizer) merged 1 commit into
Paul Lizer (paullizer) merged 1 commit into
Conversation
The V2 Admin Settings page keys unsaved edits by each field's flat key, but the Web Search Foundry connection is saved inside web_search_agent. Test web search, field visibility, section status and the secret field all read those keys as top-level settings, so a saved connection was tested with blanks and the server reported the endpoint, API version and agent ID as required. Add readStoredFieldValue and readSettingValue, which follow a field's declared paths or settings_path, move the connection-test payload into buildConnectionTestPayload, and pass the field index to the connection test, the section shell and the section status. The section shell's visibility filter had no index at all, which also hid the document action limits once their action was saved as enabled. Bump to 0.261.260 with a regression test that runs the real field schema, the TypeScript readers and the server-side Web Search test together. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Paul Lizer (paullizer)
merged commit Oct 6, 2026
c5eb038
into
paullizer-react-v2-ui
11 checks passed
Paul Lizer (paullizer)
added a commit
that referenced
this pull request
Oct 6, 2026
…x to 0.261.261 #1662 merged as 0.261.260, the number this branch had taken. Both release note sections are kept, with this branch's on top. The fix doc, feature doc notes, test header and the new check's assert_app_version_at_least move to 0.261.261. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
14 of 24 tasks
Paul Lizer (paullizer)
added a commit
that referenced
this pull request
Oct 6, 2026
Paul Lizer (paullizer)
added a commit
that referenced
this pull request
Oct 6, 2026
…Indexer deployer fix to 0.261.264 Resolve the config.py VERSION, release notes, and fixes index conflicts. The base already used 0.261.260 through 0.261.263, so this fix moves to 0.261.264 in its release notes section, fix document, deployer READMEs, preflight script header, and test headers. The base's own 0.261.260 Web Search entry is unchanged. Deployer version stays 1.0.33 because no incoming commit changed deployers/. Refs #1666 Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Paul Lizer (paullizer)
added a commit
that referenced
this pull request
Oct 6, 2026
… Enhanced Extraction section to 0.261.265 Resolve the conflicts with paullizer-react-v2-ui, keeping both sides: - config.py: VERSION 0.261.265, after 0.261.264 on the base. - release_notes.md: this change on top as v0.261.265. - SettingsSection.tsx: pass both fieldsByKey (#1662) and runtimeFlags to isFieldVisible; the open_until_set reader passes fieldsByKey too. - test_v2_admin_section_logic.ts: both header lines, both imports and both sets of appended checks. - test_v2_admin_capability_placement.py: header version. #1662 renamed readDependencyValue to readSettingValue, which the text merge did not flag, so applyEnableEffect now calls readSettingValue. Renumber this change's own 0.261.260 references to 0.261.265. The base's 0.261.260 (the Web Search nested settings fix) is unchanged. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Paul Lizer (paullizer)
added a commit
that referenced
this pull request
Oct 6, 2026
…ber the File Sync single card to 0.261.266 Keep both sides of each conflict: the group `anchor` descriptor alongside `open_until_set`, both new vocabulary and section-logic checks, and both Knowledge doc entries. Anchored panels and their placement now pass the field index and runtime flags, and use the open-until-set group reader, the same way the base's card body does. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
14 of 24 tasks
Paul Lizer (paullizer)
added a commit
that referenced
this pull request
Oct 6, 2026
, #1671, #1674) and renumber the Operations settings parity to 0.261.269 Conflict resolutions: - admin_settings_fields.py: keep the full Operations block. The Application Insights and Health Check declarations #1670 added beside Appearance are superseded by it, and its mixed-source telemetry switch moves into the Operations Application Insights section, after the global logging readouts. Keep #1668's on_enable documentation and both sides' V2_ONLY_FIELDS entries. - route_backend_v2.py: fold content_understanding_supported into _build_runtime_flags. - SettingsSection.tsx, AdminSettingsPage.tsx, adminFields.ts: keep both the section guide and runtimeFlags props, and on_enable beside the Operations field properties. - operations.md, release_notes.md and tests: keep both sides. Both enable_dai_debug and enable_mixed_source_development_telemetry are documented rather than exempted, and Workspaces and Operations are both fully described. - Renumber this branch's 0.261.260 references to 0.261.269; the base's own 0.261.260 Web Search fix references are unchanged. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
15 of 24 tasks
Paul Lizer (paullizer)
added a commit
to paullizer/simplechat
that referenced
this pull request
Oct 7, 2026
…e setting to 0.261.262 microsoft#1662 merged as 0.261.260, the number this branch had taken, and microsoft#1663 as 0.261.261. Both release note sections are kept, with this branch's on top. The fix doc, feature doc note, test headers and the new check's assert_app_version_at_least move to 0.261.262. The capability placement test keeps microsoft#1663's forced tabular parity check and this branch's relocation. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Paul Lizer (paullizer)
added a commit
to paullizer/simplechat
that referenced
this pull request
Oct 7, 2026
…rosoft#1665, microsoft#1667, microsoft#1668) and renumber the mixed-source settings fix to 0.261.266 Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
web_search_agent(declared throughpaths), but the connection test read each field key as a top-level setting. The test only worked while the values were unsaved edits, so it failed again after Save or a reload.readStoredFieldValue, and a key reader,readSettingValue, that follow a field's declaredpathsorsettings_path. The connection-test payload moves into a purebuildConnectionTestPayload. The field index is now passed to the connection test, the section shell's visibility filter, the section status and the secret field.Review notes:
readSettingValuedoes not substitute schema defaults, matching the dependency reader it replaces, so a condition holds only once a value is saved or chosen.ConnectionTestnow requiresfieldsByKey, so TypeScript rejects a call site that omits it.ENABLE_MCP_UIon, the Inbound MCP card renders none of its flag-gated settings.Linked issue
N/A - no tracking issue for this fix.
Release Notes & Latest Features
Is this visible to end users?
Is this admin-facing (Admin Settings, governance, deployment, config)?
Should this become a Latest Feature card?
Screenshot needed for the card?
Version bump
application/single_app/config.pyVERSIONthird segment bumped, or not needed because this is docs-only (0.261.259 -> 0.261.260)deployers/version.txtbumped, or not needed becausedeployers/was not changed (deployers/not changed)Testing / validation
npx tsc -b --noEmit(inapplication/v2_ui): passednpm run build(inapplication/v2_ui): passed, with only the existing chunk-size warningpython functional_tests/test_v2_admin_nested_setting_reads.py: passed, 8/8. This new end-to-end test:normalize_admin_settings_updates.run_web_search_connection_test, with a stand-in that records the Foundry agent call.python -m pytest functional_tests/test_v2_admin_nested_setting_reads.py functional_tests/test_v2_admin_secret_field_handling.py -q: passed, 18 passedpython functional_tests/test_v2_admin_section_shell.py: passed, 5/5, including 32 TypeScript logic checks (2 new)python functional_tests/test_v2_admin_secret_field_handling.py: passed, 10/10. Its structural check was updated for the path-aware stored value.node functional_tests/test_v2_admin_field_visibility.mjs: passed, 22/22python functional_tests/test_web_search_admin_connection_test.py: passed, 5/5python functional_tests/test_v2_admin_knowledge_web_research.py: passed, 9/9python functional_tests/test_docs_site_quality.py: passed, 6/6python functional_tests/test_docs_app_surface_coverage.py: passed, 7/7python functional_tests/<file>ornode functional_tests/<file>:test_v2_admin_capability_placement.py(7/7)test_v2_admin_field_renderer_coverage.py(4/4)test_v2_admin_inbound_mcp_parity.py(9/9)test_v2_admin_settings_layout.py(5/5)test_v2_admin_settings_live_shell_refresh.py(6/6)test_v2_admin_workspaces_parity.py(11/11)test_v2_model_catalog_workbench.py(3/3)test_v2_admin_secret_fields.py(7/7)test_v2_admin_settings_secret_handling.py(6/6)test_v2_admin_settings_secret_redaction.py(4/4)test_v2_admin_settings_normalization.py(15/15)test_orchestration_planner_model_setting.pytest_v2_admin_agents_logic.mjs(40/40)test_shared_ai_connections_ui_logic.mjstest_v2_chat_content_checks.mjspython functional_tests/test_v2_admin_settings_schema.py: failed, 10/11. The failure,core-plugin-toggles.m365_trusted_download_hosts: default [] is not str, was already there and is unrelated; neither the schema nor that test changed.pathssupport fromreadStoredFieldValuefails 6 of the 8 new end-to-end checks with the reported symptoms, includingEndpoint sent as ''and a hidden Managed Identity Type.SettingsSection's visibility filter fails the new shell check.Documentation
docs/explanation/release_notes.md)docs/explanation/fixes/V2_ADMIN_WEB_SEARCH_NESTED_SETTINGS_FIX.md)Security checklist
@swagger_route(security=get_auth_security())(no new routes)sanitize_settings_for_user()(no change to settings exposure; admin settings page only, and secrets still arrive masked)