remove extension-less file associations which are no longer supported by jpackage
What changed, and why it matters
This commit removes Sparrow Wallet's installer associations for handling 'bitcoin:', 'lightning:', and 'auth47:' web-style links. The change was made because the packaging tool (jpackage) no longer supports these extension-less file associations. This is a compatibility/build cleanup, not a security fix. A side effect is that after installing future Sparrow versions, clicking these link types in a browser may no longer automatically open Sparrow, depending on the platform and how the installer is configured.
No security action required. If preserving URI scheme handling is desired, the project should document an alternative registration method (for example, .desktop MIME association on Linux or Info.plist CFBundleURLTypes on macOS) and test that click-to-pay/click-to-auth workflows still function after installation.
Security signals we found
No strong security signals were identified.
Evidence from the diff
The commit deletes three jpackage file-association property files (bitcoin.properties, lightning.properties, auth47.properties) that registered x-scheme-handler MIME types for bitcoin, lightning, and auth47 URI schemes. It also removes the corresponding –file-associations flags from the Linux .deb/.rpm and macOS .dmg installer configurations in build.gradle. The stated reason is that jpackage no longer supports extension-less associations. There is no code change to URI parsing, wallet logic, or network handling.
Changed components
build.gradle jpackage installer configurationsrc/main/deploy/bitcoin.propertiessrc/main/deploy/lightning.propertiessrc/main/deploy/auth47.propertiesInspect captured patch +2 / −8
diff --git a/build.gradle b/build.gradle
index 97fc3f2..6128635 100644
--- a/build.gradle
+++ b/build.gradle
@@ -259,13 +259,13 @@ jlink {
installerOptions = ['--license-file', 'LICENSE']
} else {
installerName = "sparrowwallet"
- installerOptions += ['--file-associations', 'src/main/deploy/bitcoin.properties', '--file-associations', 'src/main/deploy/auth47.properties', '--file-associations', 'src/main/deploy/lightning.properties', '--linux-shortcut', '--linux-menu-group', 'Sparrow']
+ installerOptions += ['--linux-shortcut', '--linux-menu-group', 'Sparrow']
}
installerOptions += ['--resource-dir', layout.buildDirectory.dir('deploy/package').get().asFile.toString(), '--linux-app-category', 'utils', '--linux-app-release', '1', '--linux-rpm-license-type', 'ASL 2.0', '--linux-deb-maintainer', 'mail@sparrowwallet.com']
imageOptions += ['--icon', 'src/main/deploy/package/linux/Sparrow.png', '--resource-dir', 'src/main/deploy/package/linux/']
}
if(os.macOsX) {
- installerOptions += ['--file-associations', 'src/main/deploy/bitcoin.properties', '--file-associations', 'src/main/deploy/auth47.properties', '--file-associations', 'src/main/deploy/lightning.properties', '--mac-sign', '--mac-signing-key-user-name', 'Craig Raw (UPLVMSK9D7)']
+ installerOptions += ['--mac-sign', '--mac-signing-key-user-name', 'Craig Raw (UPLVMSK9D7)']
imageOptions += ['--icon', 'src/main/deploy/package/macos/sparrow.icns', '--resource-dir', 'src/main/deploy/package/macos/']
installerType = "dmg"
}
diff --git a/src/main/deploy/auth47.properties b/src/main/deploy/auth47.properties
deleted file mode 100644
index 5c9fd07..0000000
--- a/src/main/deploy/auth47.properties
+++ /dev/null
@@ -1,2 +0,0 @@
-mime-type=x-scheme-handler/auth47
-description=Auth47 Authentication URI
\ No newline at end of file
diff --git a/src/main/deploy/bitcoin.properties b/src/main/deploy/bitcoin.properties
deleted file mode 100644
index c5e54eb..0000000
--- a/src/main/deploy/bitcoin.properties
+++ /dev/null
@@ -1,2 +0,0 @@
-mime-type=x-scheme-handler/bitcoin
-description=Bitcoin Scheme URI
\ No newline at end of file
diff --git a/src/main/deploy/lightning.properties b/src/main/deploy/lightning.properties
deleted file mode 100644
index c021cec..0000000
--- a/src/main/deploy/lightning.properties
+++ /dev/null
@@ -1,2 +0,0 @@
-mime-type=x-scheme-handler/lightning
-description=LNURL URI
\ No newline at end of file
Why this scored 17/100
Community notes
Notes can correct, qualify, or add evidence to the AI analysis. Every note shown here has been validated by a human moderator.
The AI analysis stands alone for now. Submit a note if you can add evidence or important context.