client icon indicating copy to clipboard operation
client copied to clipboard

[BUG] Handling of "fdroid.app://[package_name]" links

Open hotcapy opened this issue 7 months ago • 1 comments
trafficstars

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:

  1. Craft an "fdroid.app://" link (e.g., "fdroid.app://network.loki.messenger");
  2. Create a hyperlink from it withing an Android app (notes, browser, etc.);
  3. Tap on that hyperlink on device with Droid-ify app installed;
  4. 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?

hotcapy avatar Apr 13 '25 04:04 hotcapy

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

ghost avatar Apr 16 '25 20:04 ghost