Skip to content
This repository was archived by the owner on Dec 4, 2023. It is now read-only.
This repository was archived by the owner on Dec 4, 2023. It is now read-only.

port: Streaming: Surface exceptions like other paths to allow error handling in upper layers. (#5803) #1298

@github-actions

Description

@github-actions

The changes in Streaming: Surface exceptions like other paths to allow error handling in upper layers. (#5803) may need to be ported to maintain parity with microsoft/botbuilder-dotnet.

Fixes https://github.com/microsoft/botbuilder-dotnet/issues/5793

When we send outgoing activities in the adapter for http flows, if they fail, we let the exception get thrown so that it reaches the top level adapter. Cloud adapter+ streaming also does not catch, so that errors flow to the handlers.

However, outgoing activities on streaming when using the BotFrameworkHttpAdapter, we do catch the exceptions, log them and return null. The result is negative in a number of ways:

1- Errors are swallowed
2- Callers cannot retry or handler errors in code
3- Developers expect OnError trigger to get called but when using streaming it does not (OneVoice ran in to this)

This change makes all outgoing activities treat errors consistently (by not hiding them) and solve the problems above.

Please review and, if necessary, port the changes.

Metadata

Metadata

Assignees

No one assigned

    Labels

    ExemptFromDailyDRIReportUse this label to exclude the issue from the DRI report.needs-triageThe issue has just been created and it has not been reviewed by the team.parityThe issue describes a gap in parity between two or more platforms.

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions