perf(azure): throttle parallel tenant sign-in checks with shared concurrency limiter#694
Open
hanhan761 wants to merge 3 commits into
Open
perf(azure): throttle parallel tenant sign-in checks with shared concurrency limiter#694hanhan761 wants to merge 3 commits into
hanhan761 wants to merge 3 commits into
Conversation
feat(tree): show index count on Indexes folder node Add lazy-loaded index count as the description on IndexesItem tree items (e.g., "5 indexes" or "1 index"), following the same pattern used by CollectionItem for document counts. The count is fetched asynchronously via listIndexes() and includes search indexes when supported by the platform. Also add a stale-check guard (isCurrent) to IndexesItem so that in-flight count work is discarded when the owning CollectionItem is recreated on refresh or re-expand. Closes microsoft#659 @
fix(tree): hide single-item context menu commands when multiple items selected Add `&& !listMultiSelection` to the `when` clause of 36 context menu commands in the Connections tree view. When multiple items are selected (`listMultiSelection` is true), single-item commands are now hidden, preventing silent failures or unexpected behavior. Commands already supporting multi-select (removeConnection, moveItems) and discovery-view-only commands are intentionally left unchanged. Closes microsoft#668 @
perf(azure): throttle parallel tenant sign-in checks with shared concurrency limiter Replace unbounded Promise.all fan-outs against the Azure Identity endpoint with a shared ConcurrencyLimiter (concurrency: 5). For corporate users with many tenants, the original code issued an unlimited number of parallel isSignedIn calls against Microsoft Entra — the same anti-pattern that caused issues with estimateDocumentCount in microsoft#685. New shared limiter at api-shared/azure/tenantSignInLimiter.ts is imported by both SelectAccountStep and InitializeFilteringStep, ensuring total parallelism is bounded across the wizard. Closes microsoft#688 @
Open
4 tasks
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
Replace unbounded
Promise.allfan-outs against the Azure Identity endpoint with a sharedConcurrencyLimiter(concurrency: 5).For corporate users with many tenants, the original code issued unlimited parallel
isSignedIncalls against Microsoft Entra — the same anti-pattern fixed forestimateDocumentCountin #685.Issue
Fixes #688
Changes
api-shared/azure/tenantSignInLimiter.tsConcurrencyLimiter(concurrency: 5)credentialsManagement/SelectAccountStep.tsisSignedIncallssubscriptionFiltering/InitializeFilteringStep.tsisSignedIncallsVerification
npm run build— TypeScript compilation passesnpm run lint— ESLint passesnpm run prettier-fix— formatting confirmed@