Skip to content

Remove Rx dependencies - #1364

Open
Eli Arbel (aelij) wants to merge 1 commit into
Azure:mainfrom
aelij:remove-rx
Open

Remove Rx dependencies#1364
Eli Arbel (aelij) wants to merge 1 commit into
Azure:mainfrom
aelij:remove-rx

Conversation

@aelij

Copy link
Copy Markdown
Member

Updated deprecated packages:

  • Removed System.Reactive.* - only a simple Subscribe extension method was used and can be embedded in the repo.
  • Replaced System.Linq.Async with System.Linq.AsyncEnumerable.

CopilotAI review requested due to automatic review settings June 2, 2026 12:42

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Note

Copilot was unable to run its full agentic suite in this review.

This PR removes the System.Reactive dependency and replaces prior “Subscribe(Action)” usages with a lightweight local observer implementation, while also updating async-enumerable-related dependencies.

Changes:

  • Removed System.Reactive.* package references from DurableTask.Core and replaced Rx-based Subscribe usage with a custom ActionObserver<T>.
  • Swapped System.Linq.Async for System.Linq.AsyncEnumerable in AzureStorage and updated the ToDictionaryAsync callsite to use a named cancellationToken argument.
  • Updated centralized package versions for async interfaces and async-enumerable packages.

Reviewed changes

Copilot reviewed 5 out of 5 changed files in this pull request and generated 1 comment.

Show a summary per file
FileDescription
src/DurableTask.Core/DurableTask.Core.csprojDrops System.Reactive package references to remove Rx dependency.
src/DurableTask.Core/CorrelationTraceClient.csReplaces Rx Subscribe(Action<T>) with custom IObserver<T> implementation.
src/DurableTask.AzureStorage/OrchestrationSessionManager.csAdjusts ToDictionaryAsync invocation for updated async-enumerable package API.
src/DurableTask.AzureStorage/DurableTask.AzureStorage.csprojReplaces System.Linq.Async with System.Linq.AsyncEnumerable.
Directory.Packages.propsUpdates package versions to match new dependency set.
Comments suppressed due to low confidence (1)

src/DurableTask.Core/CorrelationTraceClient.cs:1

  • The nested new ActionObserver<...>(...) allocations add verbosity and make the subscription logic harder to scan. Consider factoring a small helper (e.g., a private static Observer(Action<T> onNext) factory) so the subscription reads closer to the original intent, and so any future changes to error/completion behavior are centralized in one place.
// ----------------------------------------------------------------------------------

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +162 to +165
public void OnError(Exception error)
{
ExceptionDispatchInfo.Capture(error).Throw();
}

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sign up for freeto 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.

2 participants

@aelij