Skip to content

Conversation

Copy link
Contributor

Copilot AI commented Nov 20, 2025

The buildRunningOperation function wasn't receiving the user-provided options.abortSignal, preventing proper cancellation of ongoing poll requests.

Changes:

  • Pass options parameter to buildRunningOperation to capture user-provided abort signal
  • Update sendPollRequest to listen to both options.abortSignal and pollOptions?.abortSignal
  • Add event listeners for both signals with proper cleanup in finally block

This aligns with the reference implementation in pollingHelpers.ts lines 53-94.

// Before: only pollOptions abort signal was handled
sendPollRequest: async (path: string, pollOptions?: { abortSignal?: AbortSignalLike }) => {
  if (pollOptions?.abortSignal?.aborted) {
    pollAbortController.abort();
  }
  // ...
}

// After: both user-provided and poll-specific signals are handled
sendPollRequest: async (path: string, pollOptions?: { abortSignal?: AbortSignalLike }) => {
  if (options?.abortSignal?.aborted) {
    pollAbortController.abort();
  } else if (pollOptions?.abortSignal?.aborted) {
    pollAbortController.abort();
  } else if (!abortSignal.aborted) {
    options?.abortSignal?.addEventListener("abort", abortListener, { once: true });
    pollOptions?.abortSignal?.addEventListener("abort", abortListener, { once: true });
  }
  // ...
}

💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.

Copilot AI changed the title [WIP] Update v2 LRO poller based on feedback Fix abort signal propagation in memory store update poller Nov 20, 2025
Copilot finished work on behalf of glharper November 20, 2025 21:47
Copilot AI requested a review from glharper November 20, 2025 21:47
@glharper glharper marked this pull request as ready for review November 21, 2025 00:40
@glharper glharper merged commit d1b2cc5 into glharper/proj-mem-store-update Nov 21, 2025
7 checks passed
@glharper glharper deleted the copilot/sub-pr-36703 branch November 21, 2025 00:41
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.

2 participants