.NET: ChatHistoryMemoryProvider swallows caller cancellation
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Newbie friendliness
- 74/100
Research direction
Start at ChatHistoryMemoryProvider's BeforeAIInvoke search path and post-invocation UpsertAsync storage path, focusing on their generic exception handlers. Reproduce both cases with an already-cancelled caller token and verify caller cancellation propagates while provider-side failures still complete best-effort.
Written by the indexing model from the issue text.
Description
Description
ChatHistoryMemoryProvider treats vector search and history storage failures as best-effort, but its generic exception handlers also swallow OperationCanceledException when the caller-provided CancellationToken has been cancelled.
This affects both the BeforeAIInvoke search path and the post-invocation UpsertAsync storage path, allowing work to continue after caller cancellation.
Expected behavior
Caller-triggered cancellation should propagate. Unrelated provider-side failures, including provider-side cancellation when the caller token remains active, should keep the existing best-effort behavior.
Reproduction
With an already-cancelled caller token, configure SearchAsync or UpsertAsync to surface cancellation. Both paths currently complete without propagating OperationCanceledException.
The fix can remain narrow by filtering the generic catch based on whether the caller token is actually cancelled.
- Dominant language
- Python
- Stars
- 13.9k
- Forks
- 2.4k
- Avg merge
- 1d 16h
- Merged PRs (30d)
- 432
Getting set up
Starts the project's dev container in your browser, under your own GitHub account.
- No Dockerfile or Docker Compose file
- Has a pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from microsoft/agent-framework
-
.NET python triage
Difficulty 1/5 Under an hour Newbie friendliness 85/100
microsoft/agent-framework#9092 · 1 comment ·
Maintainers usually reply within 1 day
-
Python: raw-data content mappings lose annotations and attachment metadataPossibly taken @moonbox3 claimed this 7 days ago. Openpython triage
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
microsoft/agent-framework#8632 · 2 comments ·
Maintainers usually reply within 1 day
-
Python: Clarify when to use platformPossibly taken @eavanvalkenburg claimed this 6 days ago. Openpython triage
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
microsoft/agent-framework#8599 · 1 comment ·
Maintainers usually reply within 1 day
-
.NET Compaction - Update docs to refer to `AIContextProvider` deep divePossibly taken A pull request linked to this issue is open or already merged. Open.NET compaction documentation
Difficulty 1/5 Under an hour Newbie friendliness 82/100
microsoft/agent-framework#4629 · 1 comment ·
Maintainers usually reply within 1 day
-
Python: [Bug]: Public stream close does not release delegated provider responsesPossibly taken @eavanvalkenburg claimed this today. Openag-ui python reproduced
microsoft/agent-framework#9099 · 1 comment · 1 assignee ·
Maintainers usually reply within 1 day
All issues in microsoft/agent-framework
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
Maintainers usually reply within 1 day
-
area:docs
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
RailtownAI/railtracks#1633 ·
Maintainers usually reply within 2 days
-
review-panel severity:low
Difficulty 1/5 Under an hour Newbie friendliness 85/100
kristovatlas/coin-accounting#152 ·
Maintainers usually reply within 1 day
-
documentation :blue_book:
Difficulty 1/5 Under an hour Newbie friendliness 88/100
PennyLaneAI/pennylane#10280 ·
Maintainers usually reply within 2 days
-
`pipx reinstall` prints a Python traceback when the reinstall failsPossibly taken @ParamTanna claimed this today. Openbug
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
Maintainers usually reply within 1 day