Skip to content

Conversation

@theimpulson
Copy link
Member

@theimpulson theimpulson commented Nov 8, 2025

What is it?

  • Bugfix (user facing)
  • Feature (user facing)
  • Codebase improvement (dev facing)
  • Meta improvement to the project (dev facing)

Description of the changes in your PR

  • Updates all possible dependencies to their latest stable release
  • Turns on new Gradle configuration cache

APK testing

The APK can be found by going to the "Checks" tab below the title. On the left pane, click on "CI", scroll down to "artifacts" and click "app" to download the zip file which contains the debug APK of this PR. You can find more info and a video demonstration on this wiki page.

Due diligence

Also update the wrapper using the ./gradlew wrapper command

Signed-off-by: Aayush Gupta <[email protected]>
@github-actions github-actions bot added the size/medium PRs with less than 250 changed lines label Nov 8, 2025
@theimpulson
Copy link
Member Author

I will make a separate PR to enable new ktlint rules as well as to enable android's default lint which is currently set to ignore errors.

@theimpulson
Copy link
Member Author

Some of the dependencies updated here such as kotlin are already updated in refactor branch but not all. I am hoping to have all dependencies on latest stable release as they might contain fixes for compose, kotlin or ksp in general.

@TobiGr TobiGr added the dependency Issues and PRs related to dependencies label Nov 8, 2025
@theimpulson theimpulson requested a review from Stypox November 9, 2025 09:27
@theimpulson theimpulson force-pushed the depUpdate branch 2 times, most recently from 1aea837 to 16b21f0 Compare November 15, 2025 03:13
Copy link
Member

@Stypox Stypox left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for the PR! Usually when we do dependency updates we try to look into the changelogs to make sure there are no regressions, I left a comment about this below.


Uff what a shame that androidx is dropping support for API 21... we can keep an outdated library for some time, but we'll have to switch at some point I guess. We'll lose 0.6% of devices (see below) when bumping to API 23 (or possibly more since many users install newpipe on old phones). For now, please add a comment to the two versions that we can't update in libs.versions.toml, so we don't forget.

Image

I tested the debug APK for some time and everything seems to still work, except for a subtle bug: when importing a database which contains a channel group feed in the main page, its icon turns into three dots. This does not happen on nightly.

Image

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am a bit worried by all of these upgrades at once. Have you gone through the various changelogs to see if there's anything to worry about? In particular, I'm worried about exoplayer, okhttp.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have. In particular exoplayer has been deprecated with replacement being media3 which we already are using the latest version. okhttp's major change was support for happy eyeballs and improving kotlin APIs which aren't breaking ones. The most major change was with ktlint which has a separate commit disabling all the new rules to enable them one by one in different PR.

@github-actions github-actions bot added size/large PRs with less than 750 changed lines and removed size/medium PRs with less than 250 changed lines labels Nov 17, 2025
@theimpulson
Copy link
Member Author

For now, please add a comment to the two versions that we can't update in libs.versions.toml, so we don't forget.

Done. I think we can bump up the minSdk after the next release to import compose libs as that has more frequent releases every month and are part of androidx framework too which will make it a blocker.

I tested the debug APK for some time and everything seems to still work, except for a subtle bug: when importing a database which contains a channel group feed in the main page, its icon turns into three dots. This does not happen on nightly.

I am unable to reproduce this on my side. is it possible to change the feed icon manually? Maybe there is something related to that?

androidx has bumped minSdk to API 23 which makes us unable to use latest version of:
* room
* workmanager

Signed-off-by: Aayush Gupta <[email protected]>
Disable all new rules to avoid massive file-changes. All new rules should be
enabled one by one as per requirements in separate commit to make review easier.

Signed-off-by: Aayush Gupta <[email protected]>
The StreamHistoryDao one isn't used, so remove it and streamline the logic

Signed-off-by: Aayush Gupta <[email protected]>
java.lang.IllegalStateException: Cannot access database on the main thread since it may potentially lock the UI for a long period of time.

Signed-off-by: Aayush Gupta <[email protected]>
@theimpulson
Copy link
Member Author

I noticed a crash during exporting database due to checkpoint being called on main thread so made a commit to fix that. This probably should have been part of the database migration to kotlin PR.

@theimpulson
Copy link
Member Author

Marking as draft to allow database related fixes go first to avoid polluting this PR

@theimpulson theimpulson marked this pull request as draft November 18, 2025 02:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependency Issues and PRs related to dependencies size/large PRs with less than 750 changed lines

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants