diff --git a/.github/ISSUE_TEMPLATE/bug.yml b/.github/ISSUE_TEMPLATE/bug.yml index 9ced33c15..a82e89ba7 100644 --- a/.github/ISSUE_TEMPLATE/bug.yml +++ b/.github/ISSUE_TEMPLATE/bug.yml @@ -26,6 +26,7 @@ body: Examples: - Operating System: Windows 10 - Cryptomator: 1.5.16 + - OneDrive: 23.226 - LibreOffice: 7.1.4 value: | - Operating System: diff --git a/.github/workflows/appimage.yml b/.github/workflows/appimage.yml index 68127dbb6..1bb3e694a 100644 --- a/.github/workflows/appimage.yml +++ b/.github/workflows/appimage.yml @@ -38,7 +38,7 @@ jobs: steps: - uses: actions/checkout@v4 - name: Setup Java - uses: actions/setup-java@v3 + uses: actions/setup-java@v4 with: distribution: ${{ env.JAVA_DIST }} java-version: ${{ env.JAVA_VERSION }} diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 0d1eb5739..dc575baca 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -19,7 +19,7 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - - uses: actions/setup-java@v3 + - uses: actions/setup-java@v4 with: distribution: ${{ env.JAVA_DIST }} java-version: ${{ env.JAVA_VERSION }} diff --git a/.github/workflows/check-jdk-updates.yml b/.github/workflows/check-jdk-updates.yml index 30954b9e4..b1cdca4bb 100644 --- a/.github/workflows/check-jdk-updates.yml +++ b/.github/workflows/check-jdk-updates.yml @@ -15,7 +15,7 @@ jobs: outputs: jdk-date: ${{ steps.get-data.outputs.jdk-date}} steps: - - uses: actions/setup-java@v3 + - uses: actions/setup-java@v4 with: java-version: ${{ env.JDK_VERSION }} distribution: ${{ env.JDK_VENDOR }} @@ -32,7 +32,7 @@ jobs: jdk-date: ${{ steps.get-data.outputs.jdk-date}} jdk-version: ${{ steps.get-data.outputs.jdk-version}} steps: - - uses: actions/setup-java@v3 + - uses: actions/setup-java@v4 with: java-version: 21 distribution: ${{ env.JDK_VENDOR }} diff --git a/.github/workflows/debian.yml b/.github/workflows/debian.yml index f1cffb96b..00b49f4fc 100644 --- a/.github/workflows/debian.yml +++ b/.github/workflows/debian.yml @@ -46,7 +46,7 @@ jobs: sudo apt-get update sudo apt-get install debhelper devscripts dput coffeelibs-jdk-${{ env.COFFEELIBS_JDK }}=${{ env.COFFEELIBS_JDK_VERSION }} libgtk2.0-0 - name: Setup Java - uses: actions/setup-java@v3 + uses: actions/setup-java@v4 with: distribution: ${{ env.JAVA_DIST }} java-version: ${{ env.JAVA_VERSION }} diff --git a/.github/workflows/dl-stats.yml b/.github/workflows/dl-stats.yml index dc87a2bbd..b16899520 100644 --- a/.github/workflows/dl-stats.yml +++ b/.github/workflows/dl-stats.yml @@ -10,7 +10,7 @@ jobs: steps: - name: Get download count of latest releases id: get-stats - uses: actions/github-script@v6 + uses: actions/github-script@v7 with: script: | const query = `query($owner:String!, $name:String!) { diff --git a/.github/workflows/error-db.yml b/.github/workflows/error-db.yml index e885af4a2..301713681 100644 --- a/.github/workflows/error-db.yml +++ b/.github/workflows/error-db.yml @@ -14,7 +14,7 @@ jobs: - name: Query Discussion Data if: github.event_name == 'discussion_comment' || github.event_name == 'discussion' && github.event.action != 'deleted' id: query-data - uses: actions/github-script@v6 + uses: actions/github-script@v7 with: script: | const query = `query ($owner: String!, $name: String!, $discussionNumber: Int!) { diff --git a/.github/workflows/get-version.yml b/.github/workflows/get-version.yml index 1bed1cff8..ae2b60b4b 100644 --- a/.github/workflows/get-version.yml +++ b/.github/workflows/get-version.yml @@ -39,7 +39,7 @@ jobs: with: fetch-depth: 0 - name: Setup Java - uses: actions/setup-java@v3 + uses: actions/setup-java@v4 with: distribution: ${{ env.JAVA_DIST }} java-version: ${{ env.JAVA_VERSION }} diff --git a/.github/workflows/mac-dmg.yml b/.github/workflows/mac-dmg.yml index 666e9f19c..3b4905a12 100644 --- a/.github/workflows/mac-dmg.yml +++ b/.github/workflows/mac-dmg.yml @@ -49,7 +49,7 @@ jobs: steps: - uses: actions/checkout@v4 - name: Setup Java - uses: actions/setup-java@v3 + uses: actions/setup-java@v4 with: distribution: ${{ env.JAVA_DIST }} java-version: ${{ env.JAVA_VERSION }} diff --git a/.github/workflows/pullrequest.yml b/.github/workflows/pullrequest.yml index a8f4c5617..2730f5c24 100644 --- a/.github/workflows/pullrequest.yml +++ b/.github/workflows/pullrequest.yml @@ -18,7 +18,7 @@ jobs: if: "!contains(github.event.head_commit.message, '[ci skip]') && !contains(github.event.head_commit.message, '[skip ci]')" steps: - uses: actions/checkout@v4 - - uses: actions/setup-java@v3 + - uses: actions/setup-java@v4 with: distribution: ${{ env.JAVA_DIST }} java-version: ${{ env.JAVA_VERSION }} diff --git a/.github/workflows/win-exe.yml b/.github/workflows/win-exe.yml index 1002718d0..648b58884 100644 --- a/.github/workflows/win-exe.yml +++ b/.github/workflows/win-exe.yml @@ -41,7 +41,7 @@ jobs: steps: - uses: actions/checkout@v4 - name: Setup Java - uses: actions/setup-java@v3 + uses: actions/setup-java@v4 with: distribution: ${{ env.JAVA_DIST }} java-version: ${{ env.JAVA_VERSION }} @@ -275,7 +275,7 @@ jobs: path: dist/win/bundle/resources - name: Strip version info from msi file name run: mv dist/win/bundle/resources/Cryptomator*.msi dist/win/bundle/resources/Cryptomator.msi - - uses: actions/setup-java@v3 + - uses: actions/setup-java@v4 with: distribution: ${{ env.JAVA_DIST }} java-version: ${{ env.JAVA_VERSION }} diff --git a/dist/linux/common/org.cryptomator.Cryptomator.metainfo.xml b/dist/linux/common/org.cryptomator.Cryptomator.metainfo.xml index e28172efe..b6f05d102 100644 --- a/dist/linux/common/org.cryptomator.Cryptomator.metainfo.xml +++ b/dist/linux/common/org.cryptomator.Cryptomator.metainfo.xml @@ -66,6 +66,7 @@ + diff --git a/pom.xml b/pom.xml index cae8f0517..781fedc53 100644 --- a/pom.xml +++ b/pom.xml @@ -51,7 +51,7 @@ 21.0.1 4.4.0 9.37.1 - 1.4.13 + 1.4.14 2.0.9 0.8.0 1.8.2 diff --git a/src/main/java/org/cryptomator/ui/unlock/UnlockComponent.java b/src/main/java/org/cryptomator/ui/unlock/UnlockComponent.java index 67e905200..825d0fc2d 100644 --- a/src/main/java/org/cryptomator/ui/unlock/UnlockComponent.java +++ b/src/main/java/org/cryptomator/ui/unlock/UnlockComponent.java @@ -19,16 +19,8 @@ import java.util.concurrent.Future; @Subcomponent(modules = {UnlockModule.class}) public interface UnlockComponent { - ExecutorService defaultExecutorService(); - UnlockWorkflow unlockWorkflow(); - default Future startUnlockWorkflow() { - UnlockWorkflow workflow = unlockWorkflow(); - defaultExecutorService().submit(workflow); - return workflow; - } - @Subcomponent.Factory interface Factory { UnlockComponent create(@BindsInstance @UnlockWindow Vault vault, @BindsInstance @Named("unlockWindowOwner") @Nullable Stage owner); diff --git a/src/main/java/org/cryptomator/ui/unlock/UnlockWorkflow.java b/src/main/java/org/cryptomator/ui/unlock/UnlockWorkflow.java index 6be17ff26..d08d05430 100644 --- a/src/main/java/org/cryptomator/ui/unlock/UnlockWorkflow.java +++ b/src/main/java/org/cryptomator/ui/unlock/UnlockWorkflow.java @@ -1,6 +1,5 @@ package org.cryptomator.ui.unlock; -import com.google.common.base.Throwables; import dagger.Lazy; import org.cryptomator.common.mount.FuseRestartRequiredException; import org.cryptomator.common.mount.IllegalMountPointException; @@ -30,7 +29,7 @@ import java.io.IOException; * This class runs the unlock process and controls when to display which UI. */ @UnlockScoped -public class UnlockWorkflow extends Task { +public class UnlockWorkflow extends Task { private static final Logger LOG = LoggerFactory.getLogger(UnlockWorkflow.class); @@ -66,25 +65,17 @@ public class UnlockWorkflow extends Task { } @Override - protected Boolean call() throws InterruptedException, IOException, CryptoException, MountFailedException { - try { - attemptUnlock(); - return true; - } catch (UnlockCancelledException e) { - cancel(false); // set Tasks state to cancelled - return false; - } - } - - private void attemptUnlock() throws IOException, CryptoException, MountFailedException { + protected Void call() throws InterruptedException, IOException, CryptoException, MountFailedException { try { keyLoadingStrategy.use(vault::unlock); + return null; + } catch (UnlockCancelledException e) { + cancel(false); // set Tasks state to cancelled + return null; + } catch (IOException | RuntimeException | MountFailedException e) { + throw e; } catch (Exception e) { - Throwables.propagateIfPossible(e, IOException.class); - Throwables.propagateIfPossible(e, CryptoException.class); - Throwables.propagateIfPossible(e, IllegalMountPointException.class); - Throwables.propagateIfPossible(e, MountFailedException.class); - throw new IllegalStateException("unexpected exception type", e); + throw new IllegalStateException("Unexpected exception type", e); } }