Sync Messages From Susi Server
utopian-io·@sachincool·
0.000 HBDSync Messages From Susi Server

Susi-Chromebot is one the Susi enabled Chrome extensions with Susi-Ai enabled.
People can message and susi responds with a response from Susi-Skill in [skills.susi.ai](https://skills.susi.ai/)
### Bug Fixes
It fixes this [issue](https://github.com/fossasia/susi_chromebot/issues/165)
## Description
There was no sync between messages sent via chromebot and other clients of Susi.
For eg. If a user has a chat history in Susi Mobile app, the chat history should also be present in chromebot.
- What was the solution?
* Take the old history from susi api endpoint `https://api.susi.ai/susi/memory.json?access_token=${accessToken}`;
(Yes, I know ES6)
* put the messages in correct Syncing order with the message chat box.

* Make sure the new messages are sent back to server.
# Describe briefly how you fixed the issue(s).
* Do the Above mentioned Steps .But, In ES6
I had alot of trouble, as the initial code was `Not that good`.
### New Features
* Restore messages from chrome storage (New + Old)
- How did you implement it/them?
by using `brain.exe` And some Bad Bad implementation of code
> function retrieveChatHistory() {
var serverHistoryEndpoint = BASE_URL + "/susi/memory.json?access_token=" + accessToken;
$.ajax({
url: serverHistoryEndpoint,
dataType: "jsonp",
jsonpCallback: "u",
jsonp: "callback",
crossDomain: "true",
success: function(response) {
var messages = [];
for (var i = response.cognitions.length - 1; i >= 0; i--) {
var queryAnswerPair = response.cognitions[i];
var queryTimes = new Date(Date.parse(queryAnswerPair.query_date));
var answerTimes = new Date(Date.parse(queryAnswerPair.answer_date));
var queryInside = queryAnswerPair.query;
var answerInside = queryAnswerPair;
var msgObj = {
query: queryInside,
answer: answerInside,
queryTime: queryTimes,
answerTime: answerTimes
}
messages.push(msgObj);
localStorage.setItem("messages", JSON.stringify(messages));
}
}
});
> }
- Roadmap
Adding a timestamp with the messages as it currently only fetches the current time.
# Thanks For reading ~!!
<br /><hr/><em>Posted on <a href="https://utopian.io/utopian-io/@sachincool/sync-messages-from-susi-server">Utopian.io - Rewarding Open Source Contributors</a></em><hr/>👍 maxinka, ms10398, yuxid, zapper, st3llar, mrshinzen, shadowmyst, alender, sachincool, woodenhero, liquidoo, alphacore, dandida, sparkman101, dailyxkcd, alidervash, osovich, efepng, supreme-verdict, rajukulli, sarmadazhar, najp, preconcept, fabiyamada, shamshad, asadullah101, codingdefined, uzay, malay11, kennethz, utopian-io, csharma,