Repository navigation
Add native V2 file source configuration for all workspaces - #1734
Merged
Paul Lizer (paullizer) merged 2 commits intoOct 9, 2026
Merged
Paul Lizer (paullizer) merged 2 commits into
Paul Lizer (paullizer) merged 2 commits into
Conversation
Reuse the shared editor for personal, group and public file-source setup without classic page hand-offs. Add authorized personal editor reads and conflict-safe writes while preserving stored secrets, existing connector availability and classic API compatibility. Include API, browser and transport regressions plus versioned documentation. Refs #1722 Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Use module-qualified fixture aliases so pytest discovers both the personal fixture and its shared dependency without unused imports. Remove the redundant fixture import from the harness and bump the application patch version to 0.261.311. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Paul Lizer (paullizer)
merged commit Oct 9, 2026
dcc15e5
into
paullizer-react-v2-ui
10 of 11 checks passed
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
Linked issue
Refs #1722
Completes row 4 only. The other parity gaps and the companion legacy routing/interface-policy change remain outside this PR.
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?
Release notes were left unchanged because approval was unavailable; the feature documentation describes version 0.261.310.
Version bump
application/single_app/config.pyVERSIONthird segment bumped, or not needed because this is docs-onlydeployers/version.txtbumped, or not needed becausedeployers/was not changedApplication version:
0.261.309->0.261.310. No deployer changes.Testing / validation
Python commands below used the isolated validation interpreter (Flask 3.1.3/Werkzeug 3.1.6), rather than the incompatible global Flask installation. Fixture suites used
PYTHONPATH=ui_tests\fixtures.npm --prefix application\v2_ui run typecheck- passed.npm --prefix application\v2_ui run build- passed.python -m pytest ui_tests\test_v2_personal_file_sources.py ui_tests\test_v2_group_file_sources.py ui_tests\test_v2_public_file_sources.py -q --tb=short --browser chromium --tracing retain-on-failure- 100 passed.python -m pytest functional_tests\test_personal_file_source_apis.py functional_tests\test_v2_personal_file_sources.py functional_tests\test_public_file_source_fixture_parity.py functional_tests\test_group_file_source_fixture_parity.py -q --tb=short- 86 passed.python -m pytest functional_tests\test_group_file_source_apis.py functional_tests\test_public_file_source_apis.py functional_tests\test_group_file_source_sync_fields.py functional_tests\test_file_source_credential_round_trip_fix.py functional_tests\test_file_sync_concurrent_write_safety.py -q --tb=short- 154 passed.python -m pytest functional_tests\test_v2_personal_file_sources.py functional_tests\test_group_file_source_transport.py functional_tests\test_public_file_source_transport.py -q --tb=short- 29 passed.python functional_tests\route_tests\test_route_blueprint_policy_inventory.py- 15/15 passed.python functional_tests\route_tests\test_route_unauthenticated_policy_contract.py- 10/10 passed.python functional_tests\route_tests\test_route_policy_test_coverage.py- 3/3 passed.python scripts\build_docs_inventory.py- passed; no semantic inventory change.python functional_tests\test_docs_app_surface_coverage.py- 7/7 passed.python functional_tests\test_docs_site_quality.py- 6/6 passed.python scripts\check_xss_sinks.py application\v2_ui\src\components\ui\Modal.tsx application\v2_ui\src\components\fileSources\FileSourceEditorDialog.tsx application\v2_ui\src\lib\fileSourceFields.ts application\v2_ui\src\lib\fileSourceWorkbench.ts application\v2_ui\src\pages\workspace\FileSourcesSection.tsx application\v2_ui\src\pages\workspace\GroupFileSourcesSection.tsx application\single_app\route_backend_file_sync.py- passed for 7 files.python scripts\check_broken_access_control.py application\single_app\route_backend_file_sync.py application\single_app\functions_file_sync.py- passed for 2 files.git -c core.whitespace=blank-at-eol,blank-at-eof,space-before-tab,cr-at-eol diff --cached --check- passed.Desktop-light/mobile-dark captures were inspected, and dialog overflow/focus checks passed. The Impeccable source detector also passed. Live root-hosted/Teams behavior and New UI only enforcement were not tested: they require the companion routing change and a configured deployment.
Documentation
Added
V2_FILE_SOURCE_CONFIGURATION.md; updated personal/group/public feature notes and the file-sync guide with distinct native V2 and classic workflows. Separate fix documentation is not needed for this feature; release notes remain pending approval.Security checklist
@swagger_route(security=get_auth_security())sanitize_settings_for_user()New responses contain only editor-safe options and sanitized source projections, not raw settings, credentials or Key Vault references. Test credentials are synthetic. Identity creation and new/coming-soon connector enablement are not included.