feat: Automatically fetch latest tgtg version on startup #257
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This new code change reduces the likeliness of getting 403 errors messages by always sending the latest tgtg app version. It is now known that datadome, the protection of tgtg, will return a 403 if the app version is too old (#251).
I found a simple way to get the latest version using the Google play page. The code is based on this finding: https://stackoverflow.com/a/73331850
It's actually pretty simple:
/<script nonce=\"\S+\">AF_initDataCallback\((.*?)\);/g
./(\d+\.\d+\.\d+)/g
and put all the versions found in an array.This should be fail proof for quite some time because this doesn't rely on a specific JSON ID like the stackoverflow code linked above. And if the code doesn't work in the future, then the program will always fallback to the fixed version number set in the 6th line (tgtgVersion).
Fixes #245