yairm210 / Unciv

Open-source Android/Desktop remake of Civ V
Mozilla Public License 2.0
8.49k stars 1.57k forks source link

F-Droid description explaining required Permissions #4410

Closed SomeTroglodyte closed 3 years ago

SomeTroglodyte commented 3 years ago

I'd welcome an updated F-Droid description, specifically the passage "Internet permissions required in order to download large font files, especially for Chinese, which, if included by default, would more than double (!) the app size.".

Additionally, F-Droid has a language system (which I hate - I want my app descriptions in english, no matter what my current keyboard layout is), and I'd like to clarify whether we want to do anything to support that.

The existing text seems outdated since 2019-10-26.

Tasks

"Fact documentation" template:

Draft for new description:

The 'have full network access' permission is required for user-initiated downloads and the multiplayer feature. All other listed permissions are included automatically by the API used to implement multiplayer turn notifications.
Network permissions are used to list mods, download mods, download music and to upload/download multiplayer games.
No other internet communication is initiated by Unciv.
yairm210 commented 3 years ago

You can indeed pr the change in the yml yourself

SomeTroglodyte commented 3 years ago

Yes, a github account can be used on gitlab, I just woudn't be surprised F-Droid sets rules of conduct I might be blissfully unaware of. Or the yml at that location might be an auto-generated copy assembled from parts. Good to know.

So - all coders - please help out completing that template. I might go offline for a few days, but I'll be back next week - or go ahead and do it without me.

SomeTroglodyte commented 3 years ago

WIP... Task "Clarify actual fact basis for the listed permissions":

No com.google.android string in project -> no GMS or play specific API's

Reference issues: #3325, #2045. I see no reason not to trust lyrjie's analysis, but I ran the proof anyway: Castrating MultiplayerTurnCheckWorker until it's an empty shell, remove unused imports, rebuild project, build apk, analyze -> clean.

So the 'fact basis' will remain: only user-initiated download and multiplayer turn checker.

SomeTroglodyte commented 3 years ago

WIP: List exhaustively which downloads Unciv does?

Confirmed to be exhaustive by code inspection - all usages of java.net.URL.openConnection (DropBox.kt and GitHub.kt) and walk call chains. No calls to Gdx.net.sendHttpRequest or Gdx.net.newClientSocket.

SomeTroglodyte commented 3 years ago

WIP: My line "The multiplayer turn checker will connect to discord servers" - isn't that BS because Discord is a desktop-only feature? Need to verify. Definitely - the link on options doesn't count. An apk only sees the cancelDiscordEvent field in UncivGameParameters containing null.

SomeTroglodyte commented 3 years ago

Draft in initial post updated - unless someone objects, that's my final best shot and goes up in a few days.

SomeTroglodyte commented 3 years ago

So - do we want to go 'fastlane'? If we had that, we could patch the description right here in this repo if I'm not mistaken? Too much work?

SomeTroglodyte commented 3 years ago

The Draft PR over on gitlab fdroiddata is here.

SomeTroglodyte commented 3 years ago

Removed Draft marker from the PR.

SomeTroglodyte commented 3 years ago

F-Droid has now picked up Version 3.15.15 and finally included the description changes.