diff --git a/preload.js b/preload.js index f1b2f8b2b..d701de43e 100644 --- a/preload.js +++ b/preload.js @@ -475,7 +475,6 @@ try { // Pulling these in separately since they access filesystem, electron window.Signal.Debug = require('./js/modules/debug'); - window.Signal.Logs = require('./js/modules/logs'); window.addEventListener('contextmenu', e => { const editable = e.target.closest( diff --git a/ts/background.ts b/ts/background.ts index 3b3538785..ecde28747 100644 --- a/ts/background.ts +++ b/ts/background.ts @@ -102,6 +102,7 @@ import { loadRecentEmojis, getEmojiReducerState, } from './util/loadRecentEmojis'; +import { deleteAllLogs } from './util/deleteAllLogs'; const MAX_ATTACHMENT_DOWNLOAD_AGE = 3600 * 72 * 1000; @@ -749,7 +750,7 @@ export async function startApp(): Promise { // This one should always be last - it could restart the app if (window.isBeforeVersion(lastVersion, 'v1.15.0-beta.5')) { - await window.Signal.Logs.deleteAll(); + await deleteAllLogs(); window.restart(); return; } diff --git a/ts/shims/deleteAllData.ts b/ts/shims/deleteAllData.ts index 957114889..e237d2ea3 100644 --- a/ts/shims/deleteAllData.ts +++ b/ts/shims/deleteAllData.ts @@ -2,10 +2,11 @@ // SPDX-License-Identifier: AGPL-3.0-only import * as log from '../logging/log'; +import { deleteAllLogs } from '../util/deleteAllLogs'; export async function deleteAllData(): Promise { try { - await window.Signal.Logs.deleteAll(); + await deleteAllLogs(); log.info('deleteAllData: deleted all logs'); diff --git a/js/modules/logs.js b/ts/util/deleteAllLogs.ts similarity index 52% rename from js/modules/logs.js rename to ts/util/deleteAllLogs.ts index 940fa8b36..c2946834d 100644 --- a/js/modules/logs.js +++ b/ts/util/deleteAllLogs.ts @@ -1,27 +1,24 @@ // Copyright 2018-2020 Signal Messenger, LLC // SPDX-License-Identifier: AGPL-3.0-only -const { ipcRenderer } = require('electron'); +import { ipcRenderer } from 'electron'; -const { beforeRestart } = require('../../ts/logging/set_up_renderer_logging'); +import { beforeRestart } from '../logging/set_up_renderer_logging'; -/* eslint-env node */ - -module.exports = { - deleteAll, -}; - -function deleteAll() { +export function deleteAllLogs(): Promise { return new Promise((resolve, reject) => { // Restart logging again when the file stream close beforeRestart(); - ipcRenderer.once('delete-all-logs-complete', resolve); - - setTimeout(() => { + 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'); }); } diff --git a/ts/window.d.ts b/ts/window.d.ts index 8516cdb9a..4934ee75a 100644 --- a/ts/window.d.ts +++ b/ts/window.d.ts @@ -461,7 +461,6 @@ declare global { search: typeof searchSelectors; }; }; - Logs: WhatIsThis; conversationControllerStart: WhatIsThis; Emojis: { getInitialState: () => WhatIsThis;