more webodf sync

pull/1/head
Tobias Hintze 11 years ago
parent 0902ee57b3
commit 38fc574527

@ -9468,10 +9468,7 @@ ops.PullBoxServer = function PullBoxServer(args) {
return"/session/" + sessionId + "/genesis"
};
function call(message, cb) {
var xhr = new XMLHttpRequest, byteArrayWriter = new core.ByteArrayWriter("utf8"), data;
if(typeof message === "object") {
message = JSON.stringify(message)
}
var xhr = new XMLHttpRequest, byteArrayWriter = new core.ByteArrayWriter("utf8"), messageString = JSON.stringify(message), data;
function handleResult() {
if(xhr.readyState === 4) {
if((xhr.status < 200 || xhr.status >= 300) && xhr.status === 0) {
@ -9480,8 +9477,8 @@ ops.PullBoxServer = function PullBoxServer(args) {
cb(xhr.responseText)
}
}
runtime.log("Sending message to server: " + message);
byteArrayWriter.appendString(message);
runtime.log("Sending message to server: " + messageString);
byteArrayWriter.appendString(messageString);
data = byteArrayWriter.getByteArray();
xhr.open("POST", args.url, true);
xhr.onreadystatechange = handleResult;
@ -9502,9 +9499,6 @@ ops.PullBoxServer = function PullBoxServer(args) {
}
}
this.call = call;
this.getBase64 = function() {
return base64
};
this.getToken = function() {
return token
};
@ -9518,7 +9512,7 @@ ops.PullBoxServer = function PullBoxServer(args) {
return"ready"
};
this.login = function(login, password, successCb, failCb) {
call("login:" + base64.toBase64(login) + ":" + base64.toBase64(password), function(responseData) {
call({command:"login", args:{login:base64.toBase64(login), password:base64.toBase64(password)}}, function(responseData) {
var response = (runtime.fromJson(responseData));
runtime.log("Login reply: " + responseData);
if(response.hasOwnProperty("token")) {
@ -12948,14 +12942,14 @@ ops.PullBoxUserModel = function PullBoxUserModel(server) {
}
}
function pullUserData() {
var base64 = server.getBase64(), i, userIds = [];
var i, userIds = [];
for(i in memberDataSubscribers) {
if(memberDataSubscribers.hasOwnProperty(i)) {
userIds.push(i)
}
}
runtime.log("user-list request for : " + userIds.join(","));
server.call("user-list:" + base64.toBase64(server.getToken()) + ":" + userIds.join(","), function(responseData) {
server.call({command:"user-list", args:{user_ids:userIds}}, function(responseData) {
var response = (runtime.fromJson(responseData)), userList, newUserData, oldUserData;
runtime.log("user-list reply: " + responseData);
if(response.hasOwnProperty("userdata_list")) {
@ -13342,13 +13336,8 @@ ops.PullBoxOperationRouter = function PullBoxOperationRouter(sessionId, memberId
syncLock = true;
syncedClientOpspecs = unsyncedClientOpspecQueue;
unsyncedClientOpspecQueue = [];
server.call({command:"sync-ops", sec_token:server.getToken(), es_id:sessionId, member_id:memberId, seq_head:String(lastServerSeq), client_ops:syncedClientOpspecs}, function(responseData) {
var shouldRetryInstantly = false, response;
try {
response = (runtime.fromJson(responseData))
}catch(ex) {
runtime.assert(response !== undefined, "invalid sync-ops reply: [" + responseData + "]")
}
server.call({command:"sync-ops", args:{es_id:sessionId, member_id:memberId, seq_head:String(lastServerSeq), client_ops:syncedClientOpspecs}}, function(responseData) {
var shouldRetryInstantly = false, response = (runtime.fromJson(responseData));
runtime.log("sync-ops reply: " + responseData);
if(response.result === "newOps") {
if(response.ops.length > 0) {
@ -13436,9 +13425,7 @@ ops.PullBoxOperationRouter = function PullBoxOperationRouter(sessionId, memberId
triggerPushingOps()
};
function init() {
var base64 = server.getBase64(), token = server.getToken();
runtime.assert(token, "invalid token");
server.call("join-session:" + base64.toBase64(token) + ":" + base64.toBase64(sessionId) + ":" + base64.toBase64(memberId), function(responseData) {
server.call({command:"join-session", args:{session_id:sessionId, member_id:memberId}}, function(responseData) {
var response = Boolean(runtime.fromJson(responseData));
runtime.log("join-session reply: " + responseData);
runtime.assert(response, "Trying to join a session which does not exists or where we are already in")

File diff suppressed because one or more lines are too long
Loading…
Cancel
Save