client
client copied to clipboard
[BUG] Handling of "fdroid.app://[package_name]" links
Description of the bug "fdroidrepo://[url]?fingerprint=[fingerprint]" local on-device link works as expected.
"fdroid.app://[package_name]" processes "//[package_name]" as app's ID instead of "[package_name]".
To Reproduce Steps to reproduce the behavior:
- Craft an "fdroid.app://" link (e.g., "fdroid.app://network.loki.messenger");
- Create a hyperlink from it withing an Android app (notes, browser, etc.);
- Tap on that hyperlink on device with Droid-ify app installed;
- See opened page, confirming that Droid-ify tries to resolve "//[package_name]" as app's ID.
Expected behavior Droid-ify correctly handles "fdroid.app://[package_name]" link format by resolving "[package_name]" as app's ID.
Device:
- Smartphone: Pixel 7a (lynx)
- OS: GrapheneOS (Android 15)
- Droid-ify version: 0.6.5 (latest)
Additional context "fdroid.app:[package_name]" (without slashes "//") works as expected, but is it correct way to handle such links?
Is there any specification of the URI scheme? I would say the // is unnecessary because there is no authority as with schemes like tel: or mailto:. In theory one might specify a repository after // because the same app can exist in multiple repositories. However that's just a guess and if's not specified like this or just made up, everyone's guess is as good as anyone else's.
See also: https://en.m.wikipedia.org/wiki/Uniform_Resource_Identifier