Kunzisoft / KeePassDX

Lightweight vault and password manager for Android, KeePassDX allows editing encrypted data in a single file in KeePass format and fill in the forms in a secure way.
https://www.keepassdx.com/
GNU General Public License v3.0
4.28k stars 261 forks source link

Fix F-Droid not displaying app store logo #1814

Closed leoheitmannruiz closed 1 month ago

leoheitmannruiz commented 1 month ago

Hello :)

Thanks for KeePassDX!!

It seems F-Droid doesn't display KeePassDX's icon (at least it doesn't for me, at their website and in their client).

As it seems you are using the fastlane structure, I have copied the app_store_log.png to the appropriate location.

F-Droid seems to have stopped displaying the icon between July 10th and 27th 2023: https://web.archive.org/web/20230710020311if_/https://f-droid.org/en/packages/com.kunzisoft.keepass.libre/ https://web.archive.org/web/20230729102110if_/https://f-droid.org/en/packages/com.kunzisoft.keepass.libre/ (though this might be a Wayback Machine quirk).

As both those links show the same version of KeePassDX (3.5.1), I assume F-Droid changed something around that time?

Please excuse me in case I've missed something terribly obvious.

Edit: Not sure where the IzzyOnDroid F-Droid Repository gets the app store logo from. Do you know?

Also, I am confused as to where F-Droid gets the first, third and eleventh screenshot from. See here. They aren't contained in this repo, right?

J-Jamet commented 1 month ago

Indeed I saw that, it seems that the logo does not recover correctly. It was deleted at the same time as the old screenshots that were on the F-Droid server but I don't know why the new logo hasn't recovered.

You did retest by compiling with a local F-Droid to see if the logo came back correctly?

J-Jamet commented 1 month ago

Also, I am confused as to where F-Droid gets the first, third and eleventh screenshot from. See here. They aren't contained in this repo, right?

https://github.com/Kunzisoft/KeePassDX/blob/master/art/icon.png

The appstore logo is not that of F-Droid, the key is square.

J-Jamet commented 1 month ago

│ │ ├── icon.png (app icon, mandatory if your app doesn't include any png icon)

https://github.com/Kunzisoft/KeePassDX/blob/master/app/src/libre/res/mipmap-mdpi/ic_launcher.png

There must be a bug in F-Droid because the source of the icon is in the code (in PNG).

J-Jamet commented 1 month ago

In your merge request, you need to export the icon with the square key. And check that the icon is not sent to the Play Store with the fastfile script.

shuvashish76 commented 1 month ago

I've both the Libre & Free version installed. Indeed the free has round key vs square for libre.

Not sure where the IzzyOnDroid F-Droid Repository gets the app store logo from. Do you know?

IG @IzzySoft pick the icon from here not fastlane as no icon.png attached there, which is the correct icon for Free/Izzyrepo version ?

Also full_description.txt needs to be adjusted as IzzySoft mentioned here.

leoheitmannruiz commented 1 month ago

You did retest by compiling with a local F-Droid to see if the logo came back correctly?

I did not.

I assumed the situation was clear, as I didn't know there were different icons for the different flavours. Obviously, I assumed wrong :)

Also, I am confused as to where F-Droid gets the first, third and eleventh screenshot from. See here. They aren't contained in this repo, right?

https://github.com/Kunzisoft/KeePassDX/blob/master/art/icon.png

The appstore logo is not that of F-Droid, the key is square.

I was referring to the screenshots here. Seems like a bug on F-Droid's end, I suppose.

And check that the icon is not sent to the Play Store with the fastfile script.

I don't feel like I am capable of doing this, as I don't have experience with Fastlane. Sorry.

The whole icon extraction stuff at F-Droid sadly seems rather complex and not like something I can currently look into.

Perhaps relevant: https://gitlab.com/fdroid/fdroidserver/-/merge_requests/972

IzzySoft commented 1 month ago

If you'd add icon.png to fastlane/metadata/android/en-US/images/, F-Droid would pick it up automatically. Give me a ping then and I'd do the same for IzzyOnDroid.

J-Jamet commented 1 month ago

The problem is that this location is not contextualized according to the flavor, so we can't put the logo of the Free version and the Libre version at the same time.

IzzySoft commented 1 month ago

There's the possibility to use flavor-specific fastlane locations. Let me check with my Fastlane Cheat Sheet

For F-Droid, there are 3 possible entry-points the process looks for Fastlane, always located in the root of the app's repository:

  • /fastlane/metadata/android/<locale>/
  • /metadata/<locale>/
  • /metadata/<packageName>/<locale>
  • /src/<buildFlavor>/fastlane/metadata/android/<locale>/

The last one would match here. I'm not sure though how (identical) content could be shared then between multiple flavors. I don't know if F-Droid supports symlinks there (I guess it does); my updater currently does not. It's on my todo list for quite a while, but I couldn't yet find time to address that… You could try having the "full set" in the current location, and let the "specific elements" (like the icon here) be overwritten from the flavored one. My updater would pull from the main one; I assume F-Droid's would do the same, and then overwrite things it finds in the flavor-specific location. This is not properly documented, though, so I'm not 100% sure.

J-Jamet commented 1 month ago

I've just added the icon to the last tree for the "libre" flavor.