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
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');
});
}