Ensure that delete logs timeout does not run after resolution

This commit is contained in:
Josh Perez 2021-09-20 20:25:29 -04:00 committed by GitHub
parent 4e43459d34
commit 4e6c415ad8
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 13 additions and 16 deletions

24
ts/util/deleteAllLogs.ts Normal file
View file

@ -0,0 +1,24 @@
// Copyright 2018-2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { ipcRenderer } from 'electron';
import { beforeRestart } from '../logging/set_up_renderer_logging';
export function deleteAllLogs(): Promise<void> {
return new Promise((resolve, reject) => {
// Restart logging again when the file stream close
beforeRestart();
const timeout = setTimeout(() => {
reject(new Error('Request to delete all logs timed out'));
}, 5000);
ipcRenderer.once('delete-all-logs-complete', () => {
clearTimeout(timeout);
resolve();
});
ipcRenderer.send('delete-all-logs');
});
}