You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Rewrite Issue 1: The Jetpack Compose Migration #11198
You've been bulk-pinged because you volunteered at some point or other to help with the rewrite. Well, Newpipe is intending to avoid obscurity and obsolescence by clawing its way into the modern Android world, and now we've finally gotten to a state where you can help.
This is issue number 1 for tracking the rewrite efforts. More to follow. Let us know if you're willing and currently able to participate.
If anyone is already a Jetpack Compose expert/veteran here, please let us know about that too. Not everyone on the team is familiar with it.
I have a solid understanding of Jetpack Compose and have begun migrating the settings pages to Compose. However, I've recently been occupied with other tasks and haven't been able to submit new PRs. I expect to be available in 1-2 weeks and will strive to contribute regularly.
If anyone is interested in helping with the settings redesign, I would greatly appreciate it. I can review contributions and take ownership of the settings module.
I'll add some compose specific points to keep in mind when writing new code and reviewing compose related pull requests:
compose is still a little behind in performance so we should make sure in code reviews to identify anything that'll contribute to performance betterment or degradation.
We should adopt a bottom-up approach, beginning with the foundational styling code, followed by the development of individual components, and culminating in the integration of these components into the screens.
This method ensures that initial pull requests are self-contained and minimize breakage. In reviews, we'll be able to identify performance issues etc.
We'll be able to use current styling info this way
we need to make sure somehow that new components works under different screen size, font size, screen zoom etc. configurations.
On refactor branch, currently, there's only rudimentary styling handling.
I'm good with layouts so I'll be able to help with basic styling code and making layout that'll work with different screen sizes properly
Reacted by Lars Mühlbauer, Stypox, Kamalesh and Jim Liu
@snaik20 I'd be happy to assist and have experience with Jetpack Compose as well as XML. Please let me know how I can contribute.
You could start adding PRs for #9587. I have added the Jetpack compose setup and some initial work for debug page. So you could build on that and add me as reviewer for your PRs. Note that the compose work is currently added in refactor branch. So you need to use it as base for your PRs.
@snaik20 I'd be happy to assist and have experience with Jetpack Compose as well as XML. Please let me know how I can contribute.
You could start adding PRs for #9587. I have added the Jetpack compose setup and some initial work for debug page. So you could build on that and add me as reviewer for your PRs. Note that the compose work is currently added in refactor branch. So you need to use it as base for your PRs.
Hi @snaik20 I want to help with #9587 but I see @Stypox closed #10850 here #10849 (comment) how do I get started, I'm new to opensource projects and I'm a bit lost
You could follow the plan here #10849 (comment). I'm working on settings page redesign but haven't got time recently to add to it.
@snaik20 I'd be happy to assist and have experience with Jetpack Compose as well as XML. Please let me know how I can contribute.
You could start adding PRs for #9587. I have added the Jetpack compose setup and some initial work for debug page. So you could build on that and add me as reviewer for your PRs. Note that the compose work is currently added in refactor branch. So you need to use it as base for your PRs.
Hi @snaik20 I want to help with #9587 but I see @Stypox closed #10850 here #10849 (comment) how do I get started, I'm new to opensource projects and I'm a bit lost
Hi, I've created some draft code for settings screen in compose. This is the code This file shows a simple example of how we might use the compose components made.
This is a little preview:
Screen_recording_20240811_233655.webm
If this seems fine, I'll write concrete code for the current settings layout but there's another issue of new settings layout, so what should be done.
Not sure if this was asked before, but is there a list / plan for devs to claim ownership of a subcomponent before submitting PR(e.g. comment fragment, playlist fragment)? So a new dev can check the list and claim one of the remaining work, avoiding duplicated effect.
@rahul-gill There's already a PR for the issue you linked. You could check that out first.
@toliuweijing There's no such generalised checklist. For now, you could comment here that you're taking up a specific component to make sure someone hasn't already started working on it.
I responded to a similar issue that I was tagged in, but I thought I would respond here as well. The short answer is that I love this app and so have been wanting to volunteer some of my free time to help. Most of my experience is as a full stack web engineer, but I'm mildly familiar with Android and have been learning about JetPack Compose. As such, most of my focus has been on reviewing pull requests and testing the APK from the build on my Android as part of that review process.
I'll report back any questions or concerns I have on code changes in the review as well as the result of testing the APK on my Android. I may try my hand at picking up an issue for converting some of the code into JetPack compose (or I might even pick up an issue that fixes a bug and make the conversion as part of that process).
Hi! I've started contributing to the Compose migration — I just opened PR #13931 which migrates the Content settings screen to the shared module (screen + ViewModel + preferences following the VideoAudioSettingsScreen pattern, wired into the settings home navigation). The platform-specific hooks (image-cache wipe, restricted-mode cookies, localization reload) are marked as TODOs since they need app-module access — I'd appreciate guidance on the preferred way to expose those hooks. Happy to take on more settings screens (History, Notifications, Updates, Backup) if this approach works for you.
Activity
opusforlife2 commentedon Jun 21, 2024
Ideally, we need small, incremental, no-brainer PRs so that nothing breaks as far as possible. Also so that reviewing and merging them is dead simple.
HatakeKakashri commentedon Jun 22, 2024
I have a solid understanding of Jetpack Compose and have begun migrating the settings pages to Compose. However, I've recently been occupied with other tasks and haven't been able to submit new PRs. I expect to be available in 1-2 weeks and will strive to contribute regularly.
If anyone is interested in helping with the settings redesign, I would greatly appreciate it. I can review contributions and take ownership of the settings module.
opusforlife2 commentedon Jun 23, 2024
Settings really is the first thing that needs to be overhauled. I'm glad you're working on it.
rahul-gill commentedon Jun 23, 2024
I'll add some compose specific points to keep in mind when writing new code and reviewing compose related pull requests:
This method ensures that initial pull requests are self-contained and minimize breakage. In reviews, we'll be able to identify performance issues etc.
We'll be able to use current styling info this way
On refactor branch, currently, there's only rudimentary styling handling.
I'm good with layouts so I'll be able to help with basic styling code and making layout that'll work with different screen sizes properly
TheLogicals commentedon Jun 24, 2024
@snaik20 I'd be happy to assist and have experience with Jetpack Compose as well as XML. Please let me know how I can contribute.
HatakeKakashri commentedon Jun 24, 2024
You could start adding PRs for #9587. I have added the Jetpack compose setup and some initial work for debug page. So you could build on that and add me as reviewer for your PRs. Note that the compose work is currently added in
refactorbranch. So you need to use it as base for your PRs.opusforlife2 commentedon Jun 25, 2024
@TheLogicals Would you like to be added to the volunteer list?
xidsyed commentedon Jul 17, 2024
opusforlife2 commentedon Jul 17, 2024
lm41 commentedon Jul 22, 2024
Do you think a shared screen implementation like https://github.com/florisboard/florisboard/blob/master/app/src/main/kotlin/dev/patrickgold/florisboard/lib/compose/FlorisScreen.kt would be a good idea and a good starting point?
It is used like this
braiso-22 commentedon Jul 31, 2024
Hi @snaik20 I want to help with #9587 but I see @Stypox closed #10850 here #10849 (comment) how do I get started, I'm new to opensource projects and I'm a bit lost
HatakeKakashri commentedon Aug 4, 2024
You could follow the plan here #10849 (comment). I'm working on settings page redesign but haven't got time recently to add to it.
braiso-22 commentedon Aug 4, 2024
Ok, I'm going to start redoing the history and cache settings screen, looks simple to me
HatakeKakashri commentedon Aug 4, 2024
Thanks, I will help you out with reviews. Note that existing changes are in refactor branch, so base your changes on top of that
rahul-gill commentedon Aug 11, 2024
Hi, I've created some draft code for settings screen in compose.
This is the code
This file shows a simple example of how we might use the compose components made.
This is a little preview:
Screen_recording_20240811_233655.webm
If this seems fine, I'll write concrete code for the current settings layout but there's another issue of new settings layout, so what should be done.
toliuweijing commentedon Aug 12, 2024
Hi, I would love to contribute.
Not sure if this was asked before, but is there a list / plan for devs to claim ownership of a subcomponent before submitting PR(e.g. comment fragment, playlist fragment)? So a new dev can check the list and claim one of the remaining work, avoiding duplicated effect.
cc @opusforlife2 @snaik20 for insight
opusforlife2 commentedon Aug 13, 2024
@rahul-gill There's already a PR for the issue you linked. You could check that out first.
@toliuweijing There's no such generalised checklist. For now, you could comment here that you're taking up a specific component to make sure someone hasn't already started working on it.
acrodemocide commentedon Aug 24, 2024
I responded to a similar issue that I was tagged in, but I thought I would respond here as well. The short answer is that I love this app and so have been wanting to volunteer some of my free time to help. Most of my experience is as a full stack web engineer, but I'm mildly familiar with Android and have been learning about JetPack Compose. As such, most of my focus has been on reviewing pull requests and testing the APK from the build on my Android as part of that review process.
I'll report back any questions or concerns I have on code changes in the review as well as the result of testing the APK on my Android. I may try my hand at picking up an issue for converting some of the code into JetPack compose (or I might even pick up an issue that fixes a bug and make the conversion as part of that process).
awaisdev5765 commentedon Oct 19, 2026
Hi! I've started contributing to the Compose migration — I just opened PR #13931 which migrates the Content settings screen to the shared module (screen + ViewModel + preferences following the VideoAudioSettingsScreen pattern, wired into the settings home navigation). The platform-specific hooks (image-cache wipe, restricted-mode cookies, localization reload) are marked as TODOs since they need app-module access — I'd appreciate guidance on the preferred way to expose those hooks. Happy to take on more settings screens (History, Notifications, Updates, Backup) if this approach works for you.