Skip to content

Fix large workspace upload reliability and status reporting - #1387

Merged
Paul Lizer (paullizer) merged 29 commits into
microsoft:Developmentfrom
Xeelee33:fix-many-doc-upload-issue
Sep 3, 2026
Merged

Paul Lizer (paullizer) merged 29 commits into
microsoft:Developmentfrom
Xeelee33:fix-many-doc-upload-issue

Conversation

@chadpalmer

Copy link
Copy Markdown
Contributor

Summary

This PR improves reliability and user feedback for large workspace document uploads.

  • Adds safer Data Management Search write gate behavior for high-concurrency uploads.
  • Batches Markdown chunk writes to reduce Search gate contention during large upload sets.
  • Retries the known transient OrderedDict mutated during iteration Markdown parser failure before marking a document failed.
  • Updates personal, group, and public workspace upload progress messaging so request-level failures are not presented as final document processing failures.
  • Fixes App Service Easy Auth logout detection and adds an opt-out for deployments where /.auth/logout is not publicly reachable.
  • Updates release notes, fix documentation, and example environment guidance.

Validation

  • git diff --check
  • python -m py_compile application/single_app/config.py application/single_app/functions_data_management_search_write_fence.py application/single_app/functions_documents.py application/single_app/gunicorn.conf.py application/single_app/route_frontend_authentication.py functional_tests/test_app_service_easy_auth_logout.py functional_tests/test_data_management_search_write_fence.py functional_tests/test_idle_logout_timeout.py functional_tests/test_markdown_processing_batches_search_writes.py ui_tests/test_workspace_upload_request_status_copy.py
  • python functional_tests/test_app_service_easy_auth_logout.py
  • python functional_tests/test_idle_logout_timeout.py
  • python functional_tests/test_markdown_processing_batches_search_writes.py
  • python ui_tests/test_workspace_upload_request_status_copy.py
  • python -m pytest functional_tests/test_data_management_search_write_fence.py
  • python scripts/check_swagger_routes.py application/single_app/route_frontend_authentication.py
  • python functional_tests/route_tests/test_route_blueprint_policy_inventory.py
  • python functional_tests/route_tests/test_route_unauthenticated_policy_contract.py
  • python functional_tests/route_tests/test_route_policy_test_coverage.py
  • node --check application/single_app/static/js/workspace/workspace-documents.js
  • node --check application/single_app/static/js/public/public_workspace.js
  • python scripts/check_xss_sinks.py --base-sha upstream/Development --head-sha HEAD ...
  • python scripts/check_broken_access_control.py --base-sha upstream/Development --head-sha HEAD ...
  • python functional_tests/test_docs_app_surface_coverage.py
  • python functional_tests/test_docs_site_quality.py

Notes

  • Full-file XSS scan still reports legacy findings in large existing UI files, but changed-line XSS validation passed for this branch.
  • example.env changes are commented sample configuration only and contain no secrets.

Chad Palmer (chadpalmer) and others added 28 commits August 20, 2026 01:03
Resolves the merge conflicts with Development (VERSION and release notes) and
replaces the IS_DEVELOPMENT gate with a correct fix.

Logout redirected to /.auth/logout and returned 404 whenever
WEBSITE_AUTH_AAD_ALLOWED_TENANTS was set without Easy Auth actually running.
That variable is configured by hand per the advanced environment variable
guidance, so it was never evidence Easy Auth was intercepting requests. This
affected production deployments, not just development ones.

Detection now relies only on the X-MS-CLIENT-PRINCIPAL headers App Service
injects into requests it intercepts, so Easy Auth logout is preserved wherever
Easy Auth is genuinely active, including in development.

Adds DISABLE_APP_SERVICE_EASY_AUTH_LOGOUT for deployments where Easy Auth is
active but /.auth/* is not routed to the origin, plus debug logging of the
logout path decision and a Logout Behavior Across Environments section in the
local development guide.

Also removes a customer hostname from the test fixture and replaces an exact
VERSION assertion in the idle logout test with the shared version helper.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Promote v0.260.028 from Development to Staging
This prevents 404 error after logout.
Version and test updates.
Fixed goofy github conflict
Updating with latest fixes to deploy to dev for testing
…smos gate is not overwhelmed when many documents are uploaded.
Promote Development to Staging for v0.261.002
Promote Staging to main for v0.261.002
Comment thread application/single_app/functions_documents.py Fixed
@chadpalmer

Copy link
Copy Markdown
Contributor Author

Paul Lizer (@paullizer) Bionic711 This new PR has both the document upload fix and the Easy Auth route issue as per your comment on the other PR. I will go ahead and close that PR. Please let me know if you need anything else or have any questions. Thanks!

@paullizer
Paul Lizer (paullizer) merged commit f18c667 into microsoft:Development Sep 3, 2026
11 of 12 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.

4 participants