Task type
Tech Debt — Good to have
Context
RetryOperationHelper in Microsoft.Identity.Client/Utils/ is vendored retry logic originally copied from an external repo. It has only 2 consumers. Replacing it reduces the internal API surface and removes code no one actively owns.
Priority
🟢 Low priority / Good to have — Not urgent, not blocking any work. Suitable for spare cycles.
Proposed fix
- Identify the 2 call sites
- Inline the retry loop directly at each call site (simple
for loop with try/catch and Task.Delay)
- Preserve exception filtering and callback semantics
- Delete
RetryOperationHelper.cs
- Update/remove
RetryOperationHelperTest.cs accordingly
Note: Polly is likely overkill for just 2 call sites. Simple inline retry is preferred.
Risk assessment
🟡 Medium — Retry semantics must be preserved exactly. Verify with existing tests.
Task type
Tech Debt — Good to have
Context
RetryOperationHelperinMicrosoft.Identity.Client/Utils/is vendored retry logic originally copied from an external repo. It has only 2 consumers. Replacing it reduces the internal API surface and removes code no one actively owns.Priority
🟢 Low priority / Good to have — Not urgent, not blocking any work. Suitable for spare cycles.
Proposed fix
forloop withtry/catchandTask.Delay)RetryOperationHelper.csRetryOperationHelperTest.csaccordinglyRisk assessment
🟡 Medium — Retry semantics must be preserved exactly. Verify with existing tests.