72 lines
2.6 KiB
JavaScript
72 lines
2.6 KiB
JavaScript
var Account = {
|
|
resetPassword: function () {
|
|
var form = document.querySelector('form[name=password]');
|
|
form.reset();
|
|
document.querySelector('#password_save').className = 'button color flat';
|
|
},
|
|
resolveSessionsStates: function () {
|
|
var store = new ChatOmemoStorage();
|
|
store.getSessionsIds(store.jid).map(id => {
|
|
store.getSessionState(store.jid + '.' + id).then(state => {
|
|
if (state) {
|
|
let checkbox = document.querySelector('input[name=accountsessionstate_' + id + ']');
|
|
|
|
if (checkbox) {
|
|
checkbox.checked = true;
|
|
}
|
|
}
|
|
})
|
|
});
|
|
},
|
|
toggleFingerprintState: function (checkbox) {
|
|
var store = new ChatOmemoStorage();
|
|
store.setSessionState(checkbox.dataset.identifier, checkbox.checked);
|
|
},
|
|
deleteBundle: async function (bundleid) {
|
|
ChatOmemo.resolveContactFingerprints(USER_JID).then(remoteKeys => {
|
|
remoteKeys = remoteKeys.filter(remoteKey =>
|
|
remoteKey.bundleid == bundleid
|
|
);
|
|
|
|
Account_ajaxDeleteBundle(remoteKeys[0])
|
|
});
|
|
},
|
|
deleteBundleConfirm: function (bundleid) {
|
|
var store = new ChatOmemoStorage();
|
|
|
|
var address = new libsignal.SignalProtocolAddress(USER_JID, bundleid);
|
|
store.removeSession(address);
|
|
|
|
Account_ajaxDeleteBundleConfirm(bundleid, store.getOwnSessionsIds());
|
|
},
|
|
refreshFingerprints: async function () {
|
|
ChatOmemo.resolveContactFingerprints(USER_JID).then(remoteKeys => {
|
|
let omemoStorage = new ChatOmemoStorage;
|
|
|
|
omemoStorage.getLocalRegistrationId().then(localBundleId => {
|
|
omemoStorage.getIdentityKeyPair().then(identityKey => {
|
|
// Remove it if its already there
|
|
remoteKeys = remoteKeys.filter(remoteKey =>
|
|
remoteKey.bundleid != localBundleId.toString()
|
|
);
|
|
|
|
remoteKeys.unshift({
|
|
jid: USER_JID,
|
|
self: true,
|
|
bundleid: localBundleId.toString(),
|
|
fingerprint: MovimUtils.arrayBufferToBase64(identityKey.pubKey)
|
|
});
|
|
|
|
Account_ajaxHttpGetFingerprints(remoteKeys);
|
|
});
|
|
});
|
|
});
|
|
}
|
|
}
|
|
|
|
MovimWebsocket.attach(function () {
|
|
if (OMEMO_ENABLED) Account.refreshFingerprints();
|
|
Account_ajaxHttpGetPresences();
|
|
Account_ajaxGetGateways();
|
|
});
|