mirror of
https://github.com/signalapp/Signal-Desktop.git
synced 2025-12-24 12:19:41 +00:00
Working registration
This commit is contained in:
25
helpers.js
25
helpers.js
@@ -85,7 +85,7 @@ var storage = {};
|
||||
|
||||
storage.putEncrypted = function(key, value) {
|
||||
//TODO
|
||||
localStorage.setItem("e" + key, getString(value));
|
||||
localStorage.setItem("e" + key, JSON.stringify(getString(value)));
|
||||
}
|
||||
|
||||
storage.getEncrypted = function(key, defaultValue) {
|
||||
@@ -93,18 +93,18 @@ storage.getEncrypted = function(key, defaultValue) {
|
||||
var value = localStorage.getItem("e" + key);
|
||||
if (value === null)
|
||||
return defaultValue;
|
||||
return value;
|
||||
return JSON.parse(value);
|
||||
}
|
||||
|
||||
storage.putUnencrypted = function(key, value) {
|
||||
localStorage.setItem("u" + key, getString(value));
|
||||
localStorage.setItem("u" + key, JSON.stringify(getString(value)));
|
||||
}
|
||||
|
||||
storage.getUnencrypted = function(key, defaultValue) {
|
||||
var value = localStorage.getItem("u" + key);
|
||||
if (value === null)
|
||||
return defaultValue;
|
||||
return value;
|
||||
return JSON.parse(value);
|
||||
}
|
||||
|
||||
/*******************************************
|
||||
@@ -153,10 +153,7 @@ function generateKeys() {
|
||||
|
||||
// Keep track of other's keys too
|
||||
function getDeviceObject(encodedNumber) {
|
||||
var deviceObject = storage.getEncrypted("deviceObject" + encodedNumber);
|
||||
if (deviceObject === undefined)
|
||||
return deviceObject;
|
||||
return JSON.parseJSON(deviceObject);
|
||||
return storage.getEncrypted("deviceObject" + getEncodedNumber(encodedNumber));
|
||||
}
|
||||
|
||||
function getDeviceIdListFromNumber(number) {
|
||||
@@ -164,7 +161,7 @@ function getDeviceIdListFromNumber(number) {
|
||||
}
|
||||
|
||||
function addDeviceIdForNumber(number, deviceId) {
|
||||
var deviceIdList = JSON.parseJSON(getDeviceIdListFromNumber(getNumberFromString(number)));
|
||||
var deviceIdList = getDeviceIdListFromNumber(getNumberFromString(number));
|
||||
for (var i = 0; i < deviceIdList.length; i++) {
|
||||
if (deviceIdList[i] == deviceId)
|
||||
return;
|
||||
@@ -176,6 +173,8 @@ function addDeviceIdForNumber(number, deviceId) {
|
||||
// throws "Identity key mismatch"
|
||||
function saveDeviceObject(deviceObject) {
|
||||
var existing = getDeviceObject(deviceObject.encodedNumber);
|
||||
if (existing === undefined)
|
||||
existing = {encodedNumber: getEncodedNumber(deviceObject.encodedNumber)};
|
||||
for (key in deviceObject) {
|
||||
if (key == "encodedNumber")
|
||||
continue;
|
||||
@@ -185,7 +184,7 @@ function saveDeviceObject(deviceObject) {
|
||||
|
||||
existing[key] = deviceObject[key];
|
||||
}
|
||||
storage.putEncrypted("deviceObject", JSON.encode(existing));
|
||||
storage.putEncrypted("deviceObject", existing);
|
||||
addDeviceIdForNumber(deviceObject.encodedNumber, getDeviceId(deviceObject.encodedNumber));
|
||||
}
|
||||
|
||||
@@ -246,7 +245,7 @@ var URL_CALLS = {};
|
||||
URL_CALLS['devices'] = "/v1/devices";
|
||||
URL_CALLS['keys'] = "/v1/keys";
|
||||
URL_CALLS['push'] = "/v1/messagesocket";
|
||||
URL_CALLS['messages'] = "/v1/messages";
|
||||
URL_CALLS['messages'] = "/v1/messages/";
|
||||
|
||||
/**
|
||||
* REQUIRED PARAMS:
|
||||
@@ -292,6 +291,7 @@ function doAjax(param) {
|
||||
});
|
||||
}
|
||||
|
||||
// message_callback(decoded_protobuf) (use decodeMessage(proto))
|
||||
function subscribeToPush(message_callback) {
|
||||
var user = storage.getUnencrypted("number_id");
|
||||
var password = storage.getEncrypted("password");
|
||||
@@ -417,5 +417,6 @@ function sendMessageToNumbers(numbers, message, success_callback, error_callback
|
||||
|
||||
|
||||
function requestIdentityPrivKeyFromMasterDevice(number, identityKey) {
|
||||
sendMessage(number, {message: "Identity Key request"}, function() {}, function() {});//TODO
|
||||
sendMessageToDevices([getDeviceObject(getNumberFromString(number)) + ".1"],
|
||||
{message: "Identity Key request"}, function() {}, function() {});//TODO
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user