For now, shelve persistance across sessions
This commit is contained in:
parent
edfc9a0841
commit
488cc416cf
3 changed files with 17 additions and 10 deletions
|
@ -55,13 +55,13 @@ export default class DecryptionFailureTracker {
|
||||||
this.trackDecryptionFailure = fn;
|
this.trackDecryptionFailure = fn;
|
||||||
}
|
}
|
||||||
|
|
||||||
loadTrackedEventHashMap() {
|
// loadTrackedEventHashMap() {
|
||||||
this.trackedEventHashMap = JSON.parse(localStorage.getItem('mx-decryption-failure-event-id-hashes')) || {};
|
// this.trackedEventHashMap = JSON.parse(localStorage.getItem('mx-decryption-failure-event-id-hashes')) || {};
|
||||||
}
|
// }
|
||||||
|
|
||||||
saveTrackedEventHashMap() {
|
// saveTrackedEventHashMap() {
|
||||||
localStorage.setItem('mx-decryption-failure-event-id-hashes', JSON.stringify(this.trackedEventHashMap));
|
// localStorage.setItem('mx-decryption-failure-event-id-hashes', JSON.stringify(this.trackedEventHashMap));
|
||||||
}
|
// }
|
||||||
|
|
||||||
eventDecrypted(e) {
|
eventDecrypted(e) {
|
||||||
if (e.isDecryptionFailure()) {
|
if (e.isDecryptionFailure()) {
|
||||||
|
@ -143,7 +143,9 @@ export default class DecryptionFailureTracker {
|
||||||
this.trackedEventHashMap,
|
this.trackedEventHashMap,
|
||||||
);
|
);
|
||||||
|
|
||||||
this.saveTrackedEventHashMap();
|
// Commented out for now for expediency, we need to consider unbound nature of storing
|
||||||
|
// this in localStorage
|
||||||
|
// this.saveTrackedEventHashMap();
|
||||||
|
|
||||||
const dedupedFailures = dedupedFailuresMap.values();
|
const dedupedFailures = dedupedFailuresMap.values();
|
||||||
|
|
||||||
|
|
|
@ -1313,7 +1313,10 @@ export default React.createClass({
|
||||||
// TODO: Pass reason for failure as third argument to trackEvent
|
// TODO: Pass reason for failure as third argument to trackEvent
|
||||||
Analytics.trackEvent('E2E', 'Decryption failure');
|
Analytics.trackEvent('E2E', 'Decryption failure');
|
||||||
});
|
});
|
||||||
dft.loadTrackedEventHashMap();
|
|
||||||
|
// Shelved for later date when we have time to think about persisting history of
|
||||||
|
// tracked events across sessions.
|
||||||
|
// dft.loadTrackedEventHashMap();
|
||||||
|
|
||||||
const stopDft = dft.start();
|
const stopDft = dft.start();
|
||||||
|
|
||||||
|
|
|
@ -151,7 +151,7 @@ describe('DecryptionFailureTracker', function() {
|
||||||
done();
|
done();
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should not track a failure for an event that was tracked in a previous session', (done) => {
|
xit('should not track a failure for an event that was tracked in a previous session', (done) => {
|
||||||
// This test uses localStorage, clear it beforehand
|
// This test uses localStorage, clear it beforehand
|
||||||
localStorage.clear();
|
localStorage.clear();
|
||||||
|
|
||||||
|
@ -171,7 +171,9 @@ describe('DecryptionFailureTracker', function() {
|
||||||
|
|
||||||
// Simulate the browser refreshing by destroying tracker and creating a new tracker
|
// Simulate the browser refreshing by destroying tracker and creating a new tracker
|
||||||
const secondTracker = new DecryptionFailureTracker((failure) => failures.push(failure));
|
const secondTracker = new DecryptionFailureTracker((failure) => failures.push(failure));
|
||||||
secondTracker.loadTrackedEventHashMap();
|
|
||||||
|
//secondTracker.loadTrackedEventHashMap();
|
||||||
|
|
||||||
secondTracker.eventDecrypted(decryptedEvent);
|
secondTracker.eventDecrypted(decryptedEvent);
|
||||||
secondTracker.checkFailures(Infinity);
|
secondTracker.checkFailures(Infinity);
|
||||||
secondTracker.trackFailure();
|
secondTracker.trackFailure();
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue