From e1bc92eee5a8fae823534a0f48474eac81ca0c37 Mon Sep 17 00:00:00 2001 From: jmacxx <47253594+jmacxx@users.noreply.github.com> Date: Wed, 29 Jun 2022 21:16:19 -0500 Subject: [PATCH] Clear Tor directory when a new release is downloaded. --- .../main/resources/i18n/displayStrings.properties | 2 +- .../main/java/bisq/desktop/app/BisqAppMain.java | 14 ++++++++++++++ .../main/java/bisq/desktop/main/MainViewModel.java | 2 +- .../DisplayUpdateDownloadWindow.java | 12 +++++++++++- 4 files changed, 27 insertions(+), 3 deletions(-) diff --git a/core/src/main/resources/i18n/displayStrings.properties b/core/src/main/resources/i18n/displayStrings.properties index 364c43105cc..c2afe21cb8f 100644 --- a/core/src/main/resources/i18n/displayStrings.properties +++ b/core/src/main/resources/i18n/displayStrings.properties @@ -2691,7 +2691,7 @@ displayUpdateDownloadWindow.verify.failed=Verification failed.\n\ Please download and verify manually at [HYPERLINK:https://bisq.network/downloads] displayUpdateDownloadWindow.success=The new version has been successfully downloaded and the signature verified.\n\n\ Please open the download directory, shut down the application and install the new version. -displayUpdateDownloadWindow.download.openDir=Open download directory +displayUpdateDownloadWindow.download.openDir=Open download directory and shut down disputeSummaryWindow.title=Summary disputeSummaryWindow.openDate=Ticket opening date diff --git a/desktop/src/main/java/bisq/desktop/app/BisqAppMain.java b/desktop/src/main/java/bisq/desktop/app/BisqAppMain.java index a875e83ca66..3d2628cdad3 100644 --- a/desktop/src/main/java/bisq/desktop/app/BisqAppMain.java +++ b/desktop/src/main/java/bisq/desktop/app/BisqAppMain.java @@ -23,6 +23,10 @@ import bisq.core.app.AvoidStandbyModeService; import bisq.core.app.BisqExecutable; +import bisq.core.app.TorSetup; +import bisq.core.user.Cookie; +import bisq.core.user.CookieKey; +import bisq.core.user.User; import bisq.common.UserThread; import bisq.common.app.AppModule; @@ -125,6 +129,16 @@ protected void setupAvoidStandbyMode() { @Override protected void startApplication() { + Cookie cookie = injector.getInstance(User.class).getCookie(); + cookie.getAsOptionalBoolean(CookieKey.CLEAN_TOR_DIR_AT_RESTART).ifPresent(wasCleanTorDirSet -> { + if (wasCleanTorDirSet) { + injector.getInstance(TorSetup.class).cleanupTorFiles(() -> { + log.info("Tor directory reset"); + cookie.remove(CookieKey.CLEAN_TOR_DIR_AT_RESTART); + }, log::error); + } + }); + // We need to be in user thread! We mapped at launchApplication already. Once // the UI is ready we get onApplicationStarted called and start the setup there. application.startApplication(this::onApplicationStarted); diff --git a/desktop/src/main/java/bisq/desktop/main/MainViewModel.java b/desktop/src/main/java/bisq/desktop/main/MainViewModel.java index c4a11020548..8f7d0fc4f15 100644 --- a/desktop/src/main/java/bisq/desktop/main/MainViewModel.java +++ b/desktop/src/main/java/bisq/desktop/main/MainViewModel.java @@ -411,7 +411,7 @@ private void setupHandlers() { .onClose(() -> BisqApp.getShutDownHandler().run()) .show()); - bisqSetup.setDisplayUpdateHandler((alert, key) -> new DisplayUpdateDownloadWindow(alert, config) + bisqSetup.setDisplayUpdateHandler((alert, key) -> new DisplayUpdateDownloadWindow(alert, config, user) .actionButtonText(Res.get("displayUpdateDownloadWindow.button.downloadLater")) .onAction(() -> { preferences.dontShowAgain(key, false); // update later diff --git a/desktop/src/main/java/bisq/desktop/main/overlays/windows/downloadupdate/DisplayUpdateDownloadWindow.java b/desktop/src/main/java/bisq/desktop/main/overlays/windows/downloadupdate/DisplayUpdateDownloadWindow.java index 1a2015fe95e..f6994b02322 100644 --- a/desktop/src/main/java/bisq/desktop/main/overlays/windows/downloadupdate/DisplayUpdateDownloadWindow.java +++ b/desktop/src/main/java/bisq/desktop/main/overlays/windows/downloadupdate/DisplayUpdateDownloadWindow.java @@ -17,6 +17,7 @@ package bisq.desktop.main.overlays.windows.downloadupdate; +import bisq.desktop.app.BisqApp; import bisq.desktop.components.AutoTooltipButton; import bisq.desktop.components.AutoTooltipLabel; import bisq.desktop.components.BusyAnimation; @@ -25,7 +26,10 @@ import bisq.core.alert.Alert; import bisq.core.locale.Res; +import bisq.core.user.CookieKey; +import bisq.core.user.User; +import bisq.common.UserThread; import bisq.common.config.Config; import bisq.common.util.Utilities; @@ -72,6 +76,7 @@ public class DisplayUpdateDownloadWindow extends Overlay { private final Alert alert; private final Config config; + private final User user; private Optional downloadTaskOptional; private VerifyTask verifyTask; private ProgressBar progressBar; @@ -82,9 +87,10 @@ public class DisplayUpdateDownloadWindow extends Overlay { try { Utilities.openFile(new File(Utilities.getDownloadOfHomeDir())); + BisqApp.getShutDownHandler().run(); doClose(); } catch (IOException e2) { log.error(e2.getMessage());