Comments (5)
This would require some sort of new flag in the chat props.
from botframework-directlinejs.
Continuation of conversation is something not supported today. On Direct Line side, it use watermark
to identify which messages it need to load from the service.
If you can keep the watermark
number, Direct Line won't send you the old history, and thus, Web Chat won't display them.
Does that solve the problem?
from botframework-directlinejs.
Thanks @compulim for the idea.
Our challenge is that when Web Chat starts it always begins by sending a GET
to /conversations/:conversationID/activities
with no watermark in the query string (&watermark=) and therefore it returns all conversation history in the first GET
along the watermark for subsequent polling.
Your suggestion looks good, but if I understood correctly we would have to store the watermark somewhere and modify the Web Chat initialization to retrieve this watermark and pass it along the first GET
to activities
. Is that what you meant?
What we did for the time being is to modify the conversationsControllerV3.js
getActivities
method in our back end so when no watermark is passed in the query string we return and empty activities
array and the current watermark (which is just activities.lenght
. At least in this way we don't send the whole history to the Web Chat in the first load and the experience for the user is faster loading. Here would be easy for example to return the last X messages if we want to display partial history on loading, for example.
What do you think of this approach?
from botframework-directlinejs.
I still prefer client-side solution because both of the following are difficult to tackle on a server-side solution and they are important:
- Faster to load
- Less worries on privacy (e.g. server need to flush history after X days)
And one need to think about opening multiple tabs against same web site, handling user ID, etc.
BTW, the official support for conversation preservation is coming, but it will take 2-3 months because there are more high-pri/visible work coming before that. 😉
from botframework-directlinejs.
This sample would need to be created after the following: microsoft/BotFramework-WebChat#365
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.