Comments (3)
The internal method observableWebSocket
does throw errors. activity$
calls webSocketActivity$
, which catches the errors from observableWebSocket
and repeatedly attempts to reconnect to the webSocket.
Basically DirectLineJS handles every error condition as well as possible, and so if activity$
throws an error it means it has tried everything repeatedly, and nothing worked.
In the case of WebChat, we have a plan to have the UX reflect this state, but that code is not in place and so we don't handle the error right now. I admit that this is not ideal, but the new code is coming soon!
from botframework-directlinejs.
Thanks for your response Bill.
I have played around with RX (https://jsfiddle.net/gk6se537/) and my understanding is that if there is some error caused by abnormal socket termination (as actually specified in code comments) then the retryWhen will cause the whole sequence to execute again. This means that a upon a successful recovery a new socket will be created. It should also seamlessly recover all messages possibly missed due to the error.
However a question that remains unanswered for me is that it seems that if the socket creation fails for some reason this error is not handled. i.e. ( https://jsfiddle.net/x2gnzv2y/ ) Am I missing something here?
from botframework-directlinejs.
If WebSocket
fails on creation it doesn't throw an error, it just calls onClose
. This was certainly surprising to me when I was testing the code!
from botframework-directlinejs.
Related Issues (20)
- Whether to support the wechat mini program HOT 1
- Hello, how to send by directline, the ID of my QA environment? HOT 2
- Please create an Offline DirectLine Emulation that is supported by Microsoft.
- DirectlineStreaming doesn't work with Node.js HOT 7
- Error with Power Virtual Agent: Site Missing code 403 from https://directline.botframework.com/v3/directline/conversations HOT 1
- DirectlineStreaming - Retrying connection after end HOT 5
- Update webpack target for modern Node HOT 1
- DirectLineStreaming: unhandled rejection from connectWithRetryAsync in activity$
- While sending attachment, activity API was not triggering using botframework-directlinejs HOT 2
- Post an activity with attachment occurs 502 HOT 3
- Attachements limitation and expiry on DirectLine HOT 1
- DirectlineStreaming: Errors on disconnect are written to console HOT 2
- networkInformation: Switching network type, then switching back again, results in RECONNECT_REJECTED HOT 1
- Angular 15 with botframework-directlinejs does not compile due to typings errors. HOT 3
- [Error] NetworkInformation, missing Interface. HOT 4
- Mocking the WebSocket URL for end to end testing using playwright/cypress. HOT 2
- Application crashes when refresh token returns an error HOT 2
- Receiving repeated user input as part of response from direct line bot HOT 1
- Multiple Continuous API Requests Issue HOT 3
- API issue HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from botframework-directlinejs.