add setter for session reset state

pull/66/head
sachaaaaa 6 years ago
parent 1dc621a917
commit 4cc614269e

@ -1431,26 +1431,25 @@
isSearchable() { isSearchable() {
return !this.get('left'); return !this.get('left');
}, },
async setSessionResetStatus(newStatus) {
async onSessionResetInitiated() { // Ensure that the new status is a valid SessionResetEnum value
if (this.get('sessionResetStatus') === SessionResetEnum.none) { if (!(newStatus in Object.values(SessionResetEnum)))
this.set({ sessionResetStatus : SessionResetEnum.initiated }); return;
if (this.get('sessionResetStatus') !== newStatus) {
this.set({ sessionResetStatus: newStatus });
await window.Signal.Data.updateConversation(this.id, this.attributes, { await window.Signal.Data.updateConversation(this.id, this.attributes, {
Conversation: Whisper.Conversation, Conversation: Whisper.Conversation,
}); });
} }
}, },
async onSessionResetInitiated() {
this.setSessionResetStatus(SessionResetEnum.initiated);
},
async onSessionResetReceived() { async onSessionResetReceived() {
if (this.get('sessionResetStatus') === SessionResetEnum.none) { this.setSessionResetStatus(SessionResetEnum.request_received);
this.set({ sessionResetStatus : SessionResetEnum.request_received });
await window.Signal.Data.updateConversation(this.id, this.attributes, {
Conversation: Whisper.Conversation,
});
// send empty message, this will trigger the new session to propagate // send empty message, this will trigger the new session to propagate
// to the reset initiator. // to the reset initiator.
window.libloki.sendEmptyMessage(this.id); window.libloki.sendEmptyMessage(this.id);
}
}, },
isSessionResetReceived() { isSessionResetReceived() {
@ -1483,10 +1482,7 @@
window.libloki.sendEmptyMessage(this.id); window.libloki.sendEmptyMessage(this.id);
} }
this.createAndStoreEndSessionMessage('done'); this.createAndStoreEndSessionMessage('done');
this.set({ sessionResetStatus : SessionResetEnum.none }); this.setSessionResetStatus(SessionResetEnum.none);
await window.Signal.Data.updateConversation(this.id, this.attributes, {
Conversation: Whisper.Conversation,
});
}, },
async endSession() { async endSession() {

Loading…
Cancel
Save