From 7d2c4992af21b36c76d330060801bc95c0414ca6 Mon Sep 17 00:00:00 2001 From: Armin Schrenk Date: Mon, 2 Jun 2025 10:28:52 +0200 Subject: [PATCH 01/25] update pom and adjust classes to new keychain api. (#3877) --- pom.xml | 8 +++--- .../common/keychain/KeychainManager.java | 16 +----------- .../GeneralPreferencesController.java | 25 +++---------------- .../common/keychain/MapKeychainAccess.java | 7 +----- 4 files changed, 9 insertions(+), 47 deletions(-) diff --git a/pom.xml b/pom.xml index 5e4641944..ab40f06b9 100644 --- a/pom.xml +++ b/pom.xml @@ -34,10 +34,10 @@ 2.9.0 - 1.5.1 - 1.3.0 - 1.3.2 - 1.5.3 + 1.6.0 + 1.5.0 + 1.4.0 + 1.6.0 5.0.5 2.0.10 diff --git a/src/main/java/org/cryptomator/common/keychain/KeychainManager.java b/src/main/java/org/cryptomator/common/keychain/KeychainManager.java index 04a46e742..2ac356f9e 100644 --- a/src/main/java/org/cryptomator/common/keychain/KeychainManager.java +++ b/src/main/java/org/cryptomator/common/keychain/KeychainManager.java @@ -42,25 +42,11 @@ public class KeychainManager implements KeychainAccessProvider { return result; } - @Override - public String displayName() { - return getClass().getName(); - } - @Override public void storePassphrase(String key, String displayName, CharSequence passphrase) throws KeychainAccessException { - storePassphrase(key, displayName, passphrase, true); - } - - //TODO: remove ignored parameter once the API is fixed - @Override - public void storePassphrase(String key, String displayName, CharSequence passphrase, boolean ignored) throws KeychainAccessException { try { lock.writeLock().lock(); - var kc = getKeychainOrFail(); - //this is the only keychain actually using the parameter - var usesOSAuth = (kc.getClass().getName().equals("org.cryptomator.macos.keychain.TouchIdKeychainAccess")); - kc.storePassphrase(key, displayName, passphrase, usesOSAuth); + getKeychainOrFail().storePassphrase(key, displayName, passphrase); } finally { lock.writeLock().unlock(); } diff --git a/src/main/java/org/cryptomator/ui/preferences/GeneralPreferencesController.java b/src/main/java/org/cryptomator/ui/preferences/GeneralPreferencesController.java index 4505f412d..584749920 100644 --- a/src/main/java/org/cryptomator/ui/preferences/GeneralPreferencesController.java +++ b/src/main/java/org/cryptomator/ui/preferences/GeneralPreferencesController.java @@ -85,7 +85,7 @@ public class GeneralPreferencesController implements FxController { var keychainSettingsConverter = new ServiceToSettingsConverter<>(keychainAccessProviders); keychainBackendChoiceBox.getItems().addAll(keychainAccessProviders); keychainBackendChoiceBox.setValue(keychainSettingsConverter.fromString(settings.keychainProvider.get())); - keychainBackendChoiceBox.setConverter(new KeychainProviderDisplayNameConverter()); + keychainBackendChoiceBox.setConverter(new NamedServiceConverter<>()); Bindings.bindBidirectional(settings.keychainProvider, keychainBackendChoiceBox.valueProperty(), keychainSettingsConverter); useKeychainCheckbox.selectedProperty().bindBidirectional(settings.useKeychain); keychainBackendChoiceBox.disableProperty().bind(useKeychainCheckbox.selectedProperty().not()); @@ -106,13 +106,13 @@ public class GeneralPreferencesController implements FxController { var idsAndNames = settings.directories.stream().collect(Collectors.toMap(vs -> vs.id, vs -> vs.displayName.getValue())); if (!idsAndNames.isEmpty()) { if (LOG.isDebugEnabled()) { - LOG.debug("Migrating keychain entries {} from {} to {}", idsAndNames.keySet(), oldProvider.displayName(), newProvider.displayName()); + LOG.debug("Migrating keychain entries {} from {} to {}", idsAndNames.keySet(), oldProvider.getName(), newProvider.getName()); } keychainMigrations = keychainMigrations.thenRunAsync(() -> { try { KeychainManager.migrate(oldProvider, newProvider, idsAndNames); } catch (KeychainAccessException e) { - LOG.warn("Failed to migrate all entries from {} to {}", oldProvider.displayName(), newProvider.displayName(), e); + LOG.warn("Failed to migrate all entries from {} to {}", oldProvider.getName(), newProvider.getName(), e); } }, backgroundExecutor); } @@ -151,25 +151,6 @@ public class GeneralPreferencesController implements FxController { } /* Helper classes */ - - private static class KeychainProviderDisplayNameConverter extends StringConverter { - - @Override - public String toString(KeychainAccessProvider provider) { - if (provider == null) { - return null; - } else { - return provider.displayName(); - } - } - - @Override - public KeychainAccessProvider fromString(String string) { - throw new UnsupportedOperationException(); - } - - } - private static class NamedServiceConverter extends StringConverter { @Override diff --git a/src/test/java/org/cryptomator/common/keychain/MapKeychainAccess.java b/src/test/java/org/cryptomator/common/keychain/MapKeychainAccess.java index 73c8da522..c2d171c3b 100644 --- a/src/test/java/org/cryptomator/common/keychain/MapKeychainAccess.java +++ b/src/test/java/org/cryptomator/common/keychain/MapKeychainAccess.java @@ -16,12 +16,7 @@ class MapKeychainAccess implements KeychainAccessProvider { private final Map map = new HashMap<>(); @Override - public String displayName() { - return getClass().getName(); - } - - @Override - public void storePassphrase(String key, String displayName,CharSequence passphrase, boolean ignored) { + public void storePassphrase(String key, String displayName,CharSequence passphrase) { char[] pw = new char[passphrase.length()]; for (int i = 0; i < passphrase.length(); i++) { pw[i] = passphrase.charAt(i); From cd6b1cf1290703ce909a1854bfda0a9a91841600 Mon Sep 17 00:00:00 2001 From: Armin Schrenk Date: Mon, 2 Jun 2025 12:08:24 +0200 Subject: [PATCH 02/25] Update README.md bump JDK build dependency to 24 --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index d2bf39f29..9b57f3696 100644 --- a/README.md +++ b/README.md @@ -78,7 +78,7 @@ For more information on the security details visit [cryptomator.org](https://doc ### Dependencies -* JDK 23 (e.g. temurin, zulu) +* JDK 24 (e.g. temurin, zulu) * Maven 3 ### Run Maven From a699a794a9489a5a0589d38533f61920e0996bc8 Mon Sep 17 00:00:00 2001 From: Armin Schrenk Date: Mon, 2 Jun 2025 16:57:30 +0200 Subject: [PATCH 03/25] CI: Trigger the appropiate build workflows based on changed files (#3880) --- .github/workflows/appimage.yml | 8 +++++- .github/workflows/build.yml | 4 +++ .github/workflows/debian.yml | 45 ++++++++++++++++++++-------------- .github/workflows/mac-dmg.yml | 4 +++ .github/workflows/win-exe.yml | 4 +++ 5 files changed, 46 insertions(+), 19 deletions(-) diff --git a/.github/workflows/appimage.yml b/.github/workflows/appimage.yml index 0d52b973c..7524c96c9 100644 --- a/.github/workflows/appimage.yml +++ b/.github/workflows/appimage.yml @@ -8,6 +8,12 @@ on: version: description: 'Version' required: false + push: + paths: + - '.github/workflows/appimage.yml' + - 'dist/linux/appimage/**' + - 'dist/linux/common/**' + - 'dist/linux/resources/**' env: JAVA_DIST: 'temurin' @@ -17,7 +23,7 @@ jobs: get-version: uses: ./.github/workflows/get-version.yml with: - version: ${{ inputs.version }} + version: ${{ inputs.version }} #okay if not defined build: name: Build AppImage diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index fc95c2d93..7dae2755c 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -2,6 +2,10 @@ name: Build on: push: + paths: + - '.github/workflows/build.yml' + - 'pom.xml' + - 'src/**' pull_request_target: types: [labeled] diff --git a/.github/workflows/debian.yml b/.github/workflows/debian.yml index 32944b0b2..b82249e18 100644 --- a/.github/workflows/debian.yml +++ b/.github/workflows/debian.yml @@ -5,15 +5,19 @@ on: inputs: semver: description: 'SemVer String (e.g. 1.7.0-beta1)' - required: true ppaver: description: 'Base PPA Version String (e.g. 1.6.16+1.7.0~beta1) without -0ppa1' - required: true dput: description: 'Upload to PPA' required: true default: false type: boolean + push: + paths: + - '.github/workflows/debian.yml' + - 'dist/linux/debian/**' + - 'dist/linux/common/**' + - 'dist/linux/resources/**' env: JAVA_DIST: 'temurin' @@ -26,20 +30,25 @@ env: OPENJFX_JMODS_AARCH64_HASH: '9bbedaeae1590b69e2b22237bda310936df33e344dbc243bea2e86acaab3a0d8' jobs: + get-version: + uses: ./.github/workflows/get-version.yml + with: + version: ${{ inputs.semver }} #okay if not defined + build: name: Build Debian Package runs-on: ubuntu-22.04 + needs: [get-version] steps: - uses: actions/checkout@v4 - - id: versions - name: Get version information + - id: deb-version + name: Determine deb-version run: | - SEM_VER_STR="${{ inputs.semver }}" - SEM_VER_NUM=`echo ${SEM_VER_STR} | sed -E 's/([0-9]+\.[0-9]+\.[0-9]+).*/\1/'` - REVCOUNT=`git rev-list --count HEAD` - echo "semVerStr=${SEM_VER_STR}" >> $GITHUB_OUTPUT - echo "semVerNum=${SEM_VER_NUM}" >> $GITHUB_OUTPUT - echo "revNum=${REVCOUNT}" >> $GITHUB_OUTPUT + if [ -n "${{inputs.ppaver}}" ]; then + echo "debVersion=${{inputs.ppaver }}" >> "$GITHUB_OUTPUT" + else + echo "debVersion=${{needs.get-version.outputs.semVerStr}}" >> "$GITHUB_OUTPUT" + fi - name: Install build tools run: | sudo add-apt-repository ppa:coffeelibs/openjdk @@ -94,7 +103,7 @@ jobs: cp -r jmods pkgdir cp -r dist/linux/common/ pkgdir cp target/cryptomator-*.jar pkgdir/mods - tar -cJf cryptomator_${{ inputs.ppaver }}.orig.tar.xz -C pkgdir . + tar -cJf cryptomator_${{ steps.deb-version.outputs.debVersion }}.orig.tar.xz -C pkgdir . - name: Patch and rename pkgdir run: | cp -r dist/linux/debian/ pkgdir @@ -103,12 +112,12 @@ jobs: envsubst '${SEMVER_STR} ${VERSION_NUM} ${REVISION_NUM} ${DISABLE_UPDATE_CHECK}' < dist/linux/debian/rules > pkgdir/debian/rules envsubst '${PPA_VERSION} ${RFC2822_TIMESTAMP}' < dist/linux/debian/changelog > pkgdir/debian/changelog find . -name "*.jar" >> pkgdir/debian/source/include-binaries - mv pkgdir cryptomator_${{ inputs.ppaver }} + mv pkgdir cryptomator_${{ steps.deb-version.outputs.debVersion }} env: - SEMVER_STR: ${{ steps.versions.outputs.semVerStr }} - VERSION_NUM: ${{ steps.versions.outputs.semVerNum }} - REVISION_NUM: ${{ steps.versions.outputs.revNum }} - PPA_VERSION: ${{ inputs.ppaver }}-0ppa1 + SEMVER_STR: ${{ needs.get-version.outputs.semVerStr }} + VERSION_NUM: ${{ needs.get-version.outputs.semVerNum }} + REVISION_NUM: ${{ needs.get-version.outputs.revNum }} + PPA_VERSION: ${{ steps.deb-version.outputs.debVersion }}-0ppa1 - name: Prepare GPG-Agent for signing with key 615D449FE6E6A235 run: | echo "${GPG_PRIVATE_KEY}" | gpg --batch --quiet --import @@ -124,7 +133,7 @@ jobs: env: DEBSIGN_PROGRAM: gpg --batch --pinentry-mode loopback DEBSIGN_KEYID: 615D449FE6E6A235 - working-directory: cryptomator_${{ inputs.ppaver }} + working-directory: cryptomator_${{ steps.deb-version.outputs.debVersion }} - name: Create detached GPG signatures run: | gpg --batch --quiet --passphrase-fd 0 --pinentry-mode loopback -u 615D449FE6E6A235 --detach-sign -a cryptomator_*_amd64.deb @@ -141,7 +150,7 @@ jobs: cryptomator_*_amd64.deb cryptomator_*.asc - name: Publish on PPA - if: inputs.dput + if: inputs.dput && inputs.ppaver != '' run: dput ppa:sebastian-stenzel/cryptomator-beta cryptomator_*_source.changes # If ref is a tag, also upload to GitHub Releases: - name: Publish Debian package on GitHub Releases diff --git a/.github/workflows/mac-dmg.yml b/.github/workflows/mac-dmg.yml index 115e7ccc1..fc316373a 100644 --- a/.github/workflows/mac-dmg.yml +++ b/.github/workflows/mac-dmg.yml @@ -13,6 +13,10 @@ on: required: true default: false type: boolean + push: + paths: + - '.github/workflows/mac-dmg.yml' + - 'dist/mac/**' env: JAVA_DIST: 'temurin' diff --git a/.github/workflows/win-exe.yml b/.github/workflows/win-exe.yml index 49bacc987..da5b4b140 100644 --- a/.github/workflows/win-exe.yml +++ b/.github/workflows/win-exe.yml @@ -12,6 +12,10 @@ on: description: 'Build debug version with console output' type: boolean default: false + push: + paths: + - '.github/workflows/win-exe.yml' + - 'dist/win/**' env: From 27ea29ab9d3e0cc4ba149f01957c59b7004681b6 Mon Sep 17 00:00:00 2001 From: Armin Schrenk Date: Tue, 3 Jun 2025 13:57:08 +0200 Subject: [PATCH 04/25] fix IllegalArguemntException do not try to convert a path which is already an OS path --- .../org/cryptomator/ui/eventview/EventListCellController.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/cryptomator/ui/eventview/EventListCellController.java b/src/main/java/org/cryptomator/ui/eventview/EventListCellController.java index 487049d4c..3157f9f40 100644 --- a/src/main/java/org/cryptomator/ui/eventview/EventListCellController.java +++ b/src/main/java/org/cryptomator/ui/eventview/EventListCellController.java @@ -133,9 +133,9 @@ public class EventListCellController implements FxController { eventMessage.setValue(resourceBundle.getString("eventView.entry.brokenFileNode.message")); eventDescription.setValue(bfe.ciphertextPath().getFileName().toString()); if (revealService != null) { - addAction("eventView.entry.brokenFileNode.showEncrypted", () -> reveal(revealService, convertVaultPathToSystemPath(bfe.ciphertextPath()))); + addAction("eventView.entry.brokenFileNode.showEncrypted", () -> reveal(revealService, bfe.ciphertextPath())); } else { - addAction("eventView.entry.brokenFileNode.copyEncrypted", () -> copyToClipboard(convertVaultPathToSystemPath(bfe.ciphertextPath()).toString())); + addAction("eventView.entry.brokenFileNode.copyEncrypted", () -> copyToClipboard(bfe.ciphertextPath().toString())); } addAction("eventView.entry.brokenFileNode.copyDecrypted", () -> copyToClipboard(convertVaultPathToSystemPath(bfe.cleartextPath()).toString())); } From dd1af8cd783589e8c8b06e7c4881195e10a67815 Mon Sep 17 00:00:00 2001 From: Armin Schrenk Date: Tue, 3 Jun 2025 15:49:40 +0200 Subject: [PATCH 05/25] add migration for renamed SecretServiceKeychainAccess references #3877 --- .../java/org/cryptomator/common/settings/Settings.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/cryptomator/common/settings/Settings.java b/src/main/java/org/cryptomator/common/settings/Settings.java index 907d99885..0f043b963 100644 --- a/src/main/java/org/cryptomator/common/settings/Settings.java +++ b/src/main/java/org/cryptomator/common/settings/Settings.java @@ -44,7 +44,7 @@ public class Settings { @Deprecated // to be changed to "whatever is available" eventually static final String DEFAULT_KEYCHAIN_PROVIDER = SystemUtils.IS_OS_WINDOWS ? "org.cryptomator.windows.keychain.WindowsProtectedKeychainAccess" : // SystemUtils.IS_OS_MAC ? "org.cryptomator.macos.keychain.MacSystemKeychainAccess" : // - "org.cryptomator.linux.keychain.SecretServiceKeychainAccess"; + "org.cryptomator.linux.keychain.GnomeKeyringKeychainAccess"; static final String DEFAULT_QUICKACCESS_SERVICE = SystemUtils.IS_OS_WINDOWS ? "org.cryptomator.windows.quickaccess.ExplorerQuickAccessService" : // SystemUtils.IS_OS_LINUX ? "org.cryptomator.linux.quickaccess.NautilusBookmarks" : null; @@ -147,6 +147,11 @@ public class Settings { @SuppressWarnings("deprecation") private void migrateLegacySettings(SettingsJson json) { + // migrate renamed keychainAccess + if(this.keychainProvider.getValueSafe().equals("org.cryptomator.linux.SecretServiceKeychainAccess")) { + this.keychainProvider.setValue("org.cryptomator.linux.GnomeKeyringKeychainAccess"); + } + // implicit migration of 1.6.x legacy setting "preferredVolumeImpl": if (this.mountService.get() == null && json.preferredVolumeImpl != null) { this.mountService.set(switch (json.preferredVolumeImpl) { From 941b4e36529a5d9dc62aa81e2ebd3e353d7827ea Mon Sep 17 00:00:00 2001 From: Armin Schrenk Date: Tue, 3 Jun 2025 15:51:37 +0200 Subject: [PATCH 06/25] Feature: JavaFX 24 (#3882) --- .github/workflows/appimage.yml | 10 +++++----- .github/workflows/debian.yml | 8 ++++---- .github/workflows/mac-dmg-x64.yml | 6 +++--- .github/workflows/mac-dmg.yml | 6 +++--- .github/workflows/win-exe.yml | 6 +++--- .idea/runConfigurations/Cryptomator_Linux.xml | 2 +- .idea/runConfigurations/Cryptomator_Linux_Dev.xml | 2 +- .idea/runConfigurations/Cryptomator_Windows.xml | 2 +- .idea/runConfigurations/Cryptomator_Windows_Dev.xml | 2 +- .idea/runConfigurations/Cryptomator_macOS.xml | 2 +- .idea/runConfigurations/Cryptomator_macOS_Dev.xml | 2 +- dist/linux/appimage/build.sh | 8 ++++---- dist/linux/debian/rules | 2 +- dist/mac/dmg/build.sh | 8 ++++---- dist/win/build.ps1 | 6 +++--- pom.xml | 2 +- 16 files changed, 37 insertions(+), 37 deletions(-) diff --git a/.github/workflows/appimage.yml b/.github/workflows/appimage.yml index 7524c96c9..0c297eee2 100644 --- a/.github/workflows/appimage.yml +++ b/.github/workflows/appimage.yml @@ -35,12 +35,12 @@ jobs: include: - os: ubuntu-latest appimage-suffix: x86_64 - openjfx-url: 'https://download2.gluonhq.com/openjfx/23.0.2/openjfx-23.0.2_linux-x64_bin-jmods.zip' - openjfx-sha: '063baebc6922e4a89c94b9dfb7a4f53e59e8d6fec400d4e670b31bc2ab324dec' + openjfx-url: 'https://download2.gluonhq.com/openjfx/24.0.1/openjfx-24.0.1_linux-x64_bin-jmods.zip' + openjfx-sha: '425fac742b9fbd095b2ce868cff82d1024620f747c94a7144d0a4879e756146c' - os: ubuntu-24.04-arm appimage-suffix: aarch64 - openjfx-url: 'https://download2.gluonhq.com/openjfx/23.0.2/openjfx-23.0.2_linux-aarch64_bin-jmods.zip' - openjfx-sha: '9bbedaeae1590b69e2b22237bda310936df33e344dbc243bea2e86acaab3a0d8' + openjfx-url: 'https://download2.gluonhq.com/openjfx/24.0.1/openjfx-24.0.1_linux-aarch64_bin-jmods.zip' + openjfx-sha: '7e02edd0f4ee5527a27c94b0bbba66fcaaff41009119e45d0eca0f96ddfb6e7b' steps: - uses: actions/checkout@v4 - name: Setup Java @@ -115,7 +115,7 @@ jobs: --copyright "(C) 2016 - 2025 Skymatic GmbH" --app-version "${{ needs.get-version.outputs.semVerNum }}.${{ needs.get-version.outputs.revNum }}" --java-options "--enable-preview" - --java-options "--enable-native-access=org.cryptomator.jfuse.linux.amd64,org.cryptomator.jfuse.linux.aarch64,org.purejava.appindicator" + --java-options "--enable-native-access=javafx.graphics,org.cryptomator.jfuse.linux.amd64,org.cryptomator.jfuse.linux.aarch64,org.purejava.appindicator" --java-options "-Xss5m" --java-options "-Xmx256m" --java-options "-Dcryptomator.appVersion=\"${{ needs.get-version.outputs.semVerStr }}\"" diff --git a/.github/workflows/debian.yml b/.github/workflows/debian.yml index b82249e18..73b7abf30 100644 --- a/.github/workflows/debian.yml +++ b/.github/workflows/debian.yml @@ -24,10 +24,10 @@ env: JAVA_VERSION: '24.0.1+9' COFFEELIBS_JDK: 24 COFFEELIBS_JDK_VERSION: '24.0.1+9-0ppa3' - OPENJFX_JMODS_AMD64: 'https://download2.gluonhq.com/openjfx/23.0.2/openjfx-23.0.2_linux-x64_bin-jmods.zip' - OPENJFX_JMODS_AMD64_HASH: '063baebc6922e4a89c94b9dfb7a4f53e59e8d6fec400d4e670b31bc2ab324dec' - OPENJFX_JMODS_AARCH64: 'https://download2.gluonhq.com/openjfx/23.0.2/openjfx-23.0.2_linux-aarch64_bin-jmods.zip' - OPENJFX_JMODS_AARCH64_HASH: '9bbedaeae1590b69e2b22237bda310936df33e344dbc243bea2e86acaab3a0d8' + OPENJFX_JMODS_AMD64: 'https://download2.gluonhq.com/openjfx/24.0.1/openjfx-24.0.1_linux-x64_bin-jmods.zip' + OPENJFX_JMODS_AMD64_HASH: '425fac742b9fbd095b2ce868cff82d1024620f747c94a7144d0a4879e756146c' + OPENJFX_JMODS_AARCH64: 'https://download2.gluonhq.com/openjfx/24.0.1/openjfx-24.0.1_linux-aarch64_bin-jmods.zip' + OPENJFX_JMODS_AARCH64_HASH: '7e02edd0f4ee5527a27c94b0bbba66fcaaff41009119e45d0eca0f96ddfb6e7b' jobs: get-version: diff --git a/.github/workflows/mac-dmg-x64.yml b/.github/workflows/mac-dmg-x64.yml index 69c15a29e..7e4c5ce7a 100644 --- a/.github/workflows/mac-dmg-x64.yml +++ b/.github/workflows/mac-dmg-x64.yml @@ -44,8 +44,8 @@ jobs: architecture: x64 output-suffix: x64 fuse-lib: macFUSE - openjfx-url: 'https://download2.gluonhq.com/openjfx/23.0.2/openjfx-23.0.2_osx-x64_bin-jmods.zip' - openjfx-sha: '5e6c65c065eea22430c0eab36f37a5985eb8ad99e19e8772262021740d338f68' + openjfx-url: 'https://download2.gluonhq.com/openjfx/24.0.1/openjfx-24.0.1_osx-x64_bin-jmods.zip' + openjfx-sha: '6e62a426d43c168a488521f904a523f3dd6ee2cf103e08136f2fd465c828a105' steps: - uses: actions/checkout@v4 - name: Setup Java @@ -120,7 +120,7 @@ jobs: --copyright "(C) 2016 - 2025 Skymatic GmbH" --app-version "${{ needs.get-version.outputs.semVerNum }}" --java-options "--enable-preview" - --java-options "--enable-native-access=org.cryptomator.jfuse.mac" + --java-options "--enable-native-access=javafx.graphics,org.cryptomator.jfuse.mac" --java-options "-Xss5m" --java-options "-Xmx256m" --java-options "-Dfile.encoding=\"utf-8\"" diff --git a/.github/workflows/mac-dmg.yml b/.github/workflows/mac-dmg.yml index fc316373a..59200df31 100644 --- a/.github/workflows/mac-dmg.yml +++ b/.github/workflows/mac-dmg.yml @@ -40,8 +40,8 @@ jobs: architecture: aarch64 output-suffix: arm64 fuse-lib: FUSE-T - openjfx-url: 'https://download2.gluonhq.com/openjfx/23.0.2/openjfx-23.0.2_osx-aarch64_bin-jmods.zip' - openjfx-sha: 'c690cc642a3924cf56622951f478ba57aec9ce09063761f800c3319331bed3fc' + openjfx-url: 'https://download2.gluonhq.com/openjfx/24.0.1/openjfx-24.0.1_osx-aarch64_bin-jmods.zip' + openjfx-sha: 'b5a94a13077507003fa852512bfa33f4fb680bc8076d8002e4227a84c85171d4' steps: - uses: actions/checkout@v4 - name: Setup Java @@ -116,7 +116,7 @@ jobs: --copyright "(C) 2016 - 2025 Skymatic GmbH" --app-version "${{ needs.get-version.outputs.semVerNum }}" --java-options "--enable-preview" - --java-options "--enable-native-access=org.cryptomator.jfuse.mac" + --java-options "--enable-native-access=javafx.graphics,org.cryptomator.jfuse.mac" --java-options "-Xss5m" --java-options "-Xmx256m" --java-options "-Dfile.encoding=\"utf-8\"" diff --git a/.github/workflows/win-exe.yml b/.github/workflows/win-exe.yml index da5b4b140..8bbce5a27 100644 --- a/.github/workflows/win-exe.yml +++ b/.github/workflows/win-exe.yml @@ -21,8 +21,8 @@ on: env: JAVA_DIST: 'zulu' JAVA_VERSION: '24.0.1+9' - OPENJFX_JMODS_AMD64: 'https://download2.gluonhq.com/openjfx/23.0.1/openjfx-23.0.1_windows-x64_bin-jmods.zip' - OPENJFX_JMODS_AMD64_HASH: 'ee176dcee3bd78bde7910735bd67f67c792882f5b89626796ae06f7a1c0119d3' + OPENJFX_JMODS_AMD64: 'https://download2.gluonhq.com/openjfx/24.0.1/openjfx-24.0.1_windows-x64_bin-jmods.zip' + OPENJFX_JMODS_AMD64_HASH: 'f13d17c7caf88654fc835f1b4e75a9b0f34a888eb8abef381796c0002e63b03f' WINFSP_MSI: 'https://github.com/winfsp/winfsp/releases/download/v2.0/winfsp-2.0.23075.msi' WINFSP_UNINSTALLER: 'https://github.com/cryptomator/winfsp-uninstaller/releases/latest/download/winfsp-uninstaller.exe' @@ -127,7 +127,7 @@ jobs: --copyright "(C) 2016 - 2025 Skymatic GmbH" --app-version "${{ needs.get-version.outputs.semVerNum }}.${{ needs.get-version.outputs.revNum }}" --java-options "--enable-preview" - --java-options "--enable-native-access=org.cryptomator.jfuse.win,org.cryptomator.integrations.win" + --java-options "--enable-native-access=javafx.graphics,org.cryptomator.jfuse.win,org.cryptomator.integrations.win" --java-options "-Xss5m" --java-options "-Xmx256m" --java-options "-Dcryptomator.appVersion=\"${{ needs.get-version.outputs.semVerStr }}\"" diff --git a/.idea/runConfigurations/Cryptomator_Linux.xml b/.idea/runConfigurations/Cryptomator_Linux.xml index 1a1b394b5..e9ecf3a50 100644 --- a/.idea/runConfigurations/Cryptomator_Linux.xml +++ b/.idea/runConfigurations/Cryptomator_Linux.xml @@ -2,7 +2,7 @@