I Expected to tap on 'I have F-Droid' and the F-Droid app open to the repositories view with the link auto-populated within the repository address field.
What I saw was the page reload with 'Add to F-Droid' button appearing on the top of the page.
Designs
An error occurred while loading designs. Please try again.
Child items
0
Show closed items
GraphQL error: The resource that you are attempting to access does not exist or you don't have permission to perform this action
No child items are currently open.
Linked items
0
Link issues together to show that they're related.
Learn more.
Thanks for reporting this! Unfortunately, I can't really reproduce this right now. Do you maybe have the link to this page available? If not, what is the link behind the 'I have F-Droid' button?
I'm still seeing this bug if you open a repo link (from an email) on a mobile device. I tested a new repo link and am seeing the same thing happen if I do indeed have F-Droid already.
So I have created a new repo to test this bug. Here is the link below. I
see the bug happening when I open the link from the email on a mobile
device. (I did try testing this on a mobile device that doesn't have
F-Droid and I get an error message saying the address is invalid--I have
added the screenshot below)
Notice the difference in the beginning. fdroidrepo:// instead of http://. Are you sure you are getting this right now on the demo side? If yes, what kind of phone are you using?
@tiffrobo thanks for the screenshot. What you are getting is the expected behavior. Repomaker and F-Droid are just for Android. Things won't work on Apple devices.
Thanks for that! It shows me that the link there is correct. When you don't long-tap it in step three, but only give it a short tap, you say that the screen goes back to ' Add to Fdroid', right?
I think this is an issue in the F-Droid app. It does not seem to react to the special URL as it should. The reason for this might be that the URL does not include /fdroid/repo/, but just /repo/.
I'll change the client so it takes any fdroidrepo:// intent regardless of path. This seems perfectly reasonable to me and would resolve this issue. It makes even more sense when considering that the Add New Repo functionality tries to help by looking for a repo:
At the exact URL given by the user,
If not found, attempts to find one at /fdroid/repo appended to the path given by the user,
If still not found, tries /repo appended to the path, then gives up.
However there is now a problem whereby the repomaker.grobox.de server (likely since having HTTPS configured) is sending a 301 redirect when asking for index-v1.jar via http. This is related to the clients inability to follow redirects (see fdroidclient#1041). Although I still think we should follow redirects, this may have highlighted a minor bug in repomaker when it tells the user the URL of a repo.
That is, it should ensure that the URL is a https URL if the server is configured with HTTPS, instead of defaulting to HTTP. For reference, if repomaker can fix the http:// URL of a repo to instead be https:// when appropriate, this should just work for the fdroidrepo:// URL (i.e. it will change to an fdroidrepos:// URL) due to the code here.
It ocurred to me the HTTPS problem may be because I created my repo before HTTPS was enabled, which is perfectly understandable (because it has saved the repo URL to the database). However when I create a new repo on repomaker.grobox.de then it also sets its URL to http:// instead of https://.
I'll change the client so it takes any fdroidrepo:// intent regardless of path.
Thanks Peter!
However there is now a problem whereby the repomaker.grobox.de server (likely since having HTTPS configured) is sending a 301 redirect when asking for index-v1.jar via http. This is related to the clients inability to follow redirects (see fdroidclient#1041). Although I still think we should follow redirects, this may have highlighted a minor bug in repomaker when it tells the user the URL of a repo.
I am not sure this is a bug. The reason for this behavior is that we switched to HTTPS recently, but forget to adapt the location of the default storage.
It ocurred to me the HTTPS problem may be because I created my repo before HTTPS was enabled, which is perfectly understandable (because it has saved the repo URL to the database).
Exactly! Currently, we don't support changing these URLs midflight.
However when I create a new repo on repomaker.grobox.de then it also sets its URL to http:// instead of https://.
I have adapted the default storage URL in the config and now new repos have the correct URL.
fdroidclient!582 (merged) got merged and will be part of the next F-Droid Client release. Since this should take care of this issue, I will close this one now. Thanks @crwinfrey and @tiffrobo for getting to the bottom of this!