For now, shelve persistance across sessions

pull/21833/head
Luke Barnard 2018-06-15 17:08:11 +01:00
parent edfc9a0841
commit 488cc416cf
3 changed files with 17 additions and 10 deletions

View File

@ -55,13 +55,13 @@ export default class DecryptionFailureTracker {
this.trackDecryptionFailure = fn;
}
loadTrackedEventHashMap() {
this.trackedEventHashMap = JSON.parse(localStorage.getItem('mx-decryption-failure-event-id-hashes')) || {};
}
// loadTrackedEventHashMap() {
// this.trackedEventHashMap = JSON.parse(localStorage.getItem('mx-decryption-failure-event-id-hashes')) || {};
// }
saveTrackedEventHashMap() {
localStorage.setItem('mx-decryption-failure-event-id-hashes', JSON.stringify(this.trackedEventHashMap));
}
// saveTrackedEventHashMap() {
// localStorage.setItem('mx-decryption-failure-event-id-hashes', JSON.stringify(this.trackedEventHashMap));
// }
eventDecrypted(e) {
if (e.isDecryptionFailure()) {
@ -143,7 +143,9 @@ export default class DecryptionFailureTracker {
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();

View File

@ -1313,7 +1313,10 @@ export default React.createClass({
// TODO: Pass reason for failure as third argument to trackEvent
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();

View File

@ -151,7 +151,7 @@ describe('DecryptionFailureTracker', function() {
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
localStorage.clear();
@ -171,7 +171,9 @@ describe('DecryptionFailureTracker', function() {
// Simulate the browser refreshing by destroying tracker and creating a new tracker
const secondTracker = new DecryptionFailureTracker((failure) => failures.push(failure));
secondTracker.loadTrackedEventHashMap();
//secondTracker.loadTrackedEventHashMap();
secondTracker.eventDecrypted(decryptedEvent);
secondTracker.checkFailures(Infinity);
secondTracker.trackFailure();