deniscerri / ytdlnis

Android Video/Audio Downloader app using yt-dlp
GNU General Public License v3.0
3.98k stars 141 forks source link

fastlane changelogs MUCH too long #564

Closed IzzySoft closed 2 weeks ago

IzzySoft commented 2 months ago

Fastlane changelogs are limited to 500 characters, yours currently have almost 10 times the size. Can you please limit them to the most important changes? Those who want the full details could then be linked to the full changelog, which can be configured with the app's YAML here at IzzyOnDroid (currently pointing to the releases page, but I could change that to point here instead).

zaednasr commented 2 months ago

"Suffering from success" Alright ill make CHANGELOG.md file for you to point to and make fastlane shorter

IzzySoft commented 2 months ago

There already is a Changelog.md I can link to (just did so, effective with the next sync). You only need to take care to keep the per-release changelogs in Fastlane at max 500 chars so I can enable those :wink: They'd be shown directly next to the app description (hence the size limit).

PS: No need to change the older ones I guess. Just stick to that limit from now on :wink:

zaednasr commented 2 months ago

Here is the changelog, and this latest fastlane might be the shortest ever 😉

https://github.com/deniscerri/ytdlnis/blob/main/CHANGELOG.md

IzzySoft commented 2 months ago

Thanks!

IzzySoft commented 2 months ago

Now the only problem is how to match the names. The arm64 APK has versionCode: 107090204. The corresponding Fastlane changelog would be 10792.txt. No way to match that by a math equation. Even your universal APK comes as 107090200. Fastlane's definition is <versionCode>.txt – none of your versionCodes match there. The most recent one should be 107090200.txt (matching the universal APK). Then evaluating the name from the arm64 would be as simple as <versionCode> -4. As it's currently set up, none of those per-release changelogs would ever be matched by anything. Mind to adjust the names accordingly, starting with the latest one?

zaednasr commented 2 months ago

The 4 there is weird 🤔 but universal is correct.

zaednasr commented 2 months ago

10792 or 1070902?

IzzySoft commented 2 months ago

The 4 there is weird

Not really. It's the ID of the ABI, here: arm64-v8a, see here – number 4 in that list. You've configured here to apply it that way :wink:

10792 or 1070902?

It should match what you calculated for the UniversalApk. For IzzyOnDroid, 1070902 would work, too (I'd then adjust the calculation to (<versionCode> -4)/100) – but your calculation is:

versionCode versionMajor * 1000000 + versionMinor * 10000 + versionPatch * 100 + versionBuild

That would currently be 1070902. But the APK shows 107090200 as you multiply that by 100.

So: ideally 107090200 (to match the UniversalApk and thus also valid for other places which might use it), but for IoD 1070902 would work as well as we can adjust that accordingly in this case. Just let me know which of the two it will be, so it's being fetched correctly with the next update :wink:

zaednasr commented 2 weeks ago

@IzzySoft Sorry for being so late, i have been busy. All the changelogs are renamed like the 107090200 structure.

Also just a headsup, the new version has increased in size a bit due to demand to update to python 3.11 instead of 3.8 because it recently got deprecated by yt-dlp, and other libs got updated like aria2c, ffmpeg and mutagen. Also with the support of Android 15, foreground services which the app uses to download need to be explicitly stated. So i did as such in the manifest:

 <service
            android:name="androidx.work.impl.foreground.SystemForegroundService"
            android:foregroundServiceType="specialUse"/>

and the permission that the service uses

    <uses-permission android:name="android.permission.FOREGROUND_SERVICE_SPECIAL_USE" />

Let me know when things are set for you so i can drop the release because its long overdue 😅

zaednasr commented 2 weeks ago

Please check out the latest release 1.8.0

IzzySoft commented 2 weeks ago

Thanks! Adjusted the calculation to <versionCode> -4 (i.e. - versionBuild, as IoD graps arm64 that is "4" – to get the "base code" from the ABI-specific one), and it seems to pull the changelog fine. Size (the original issue) is fine as well – so I'd say all done and close. Thanks a lot for your help there!