Skip to content

Merge dev into refactor#13121

Merged
TobiGr merged 76 commits intoTeamNewPipe:refactorfrom
theimpulson:forwardport
Jan 28, 2026
Merged

Merge dev into refactor#13121
TobiGr merged 76 commits intoTeamNewPipe:refactorfrom
theimpulson:forwardport

Conversation

@theimpulson
Copy link
Member

What is it?

  • Bugfix (user facing)
  • Feature (user facing) ⚠️ Your PR must target the refactor branch
  • Codebase improvement (dev facing)
  • Meta improvement to the project (dev facing)

Description of the changes in your PR

  • Merges changes introduced in dev into refactor
  • Fixes all ktlint violations for files only in refactor

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

TobiGr and others added 30 commits December 20, 2025 18:28
onNext() is called after onSubscribe() when creating a PlayQueueAdapter. For that reason the last broadcasted event is applied to the UI state although it is already reflected in the PlayQueue that was used to initialize the adapter.

This is the intended behavior of the previously used event broadcaster of the type BehaviorSubject<>. The broadcaster's type was changed to PublishSubject<> which does not emit the last event after onSubscribe().

Ref: TeamNewPipe#9669
Feat: Downloading: Add opus audio metadata tags for title, author, date, and a comment tag with the originating URL

This removes the DownloadManagerService.EXTRA_SOURCE field, which is always inferred from the StreamInfo.
Ctrl+C/Ctrl+V from newpipe/local/playlist/LocalPlaylistFragment
+ some additional minor code cleanup in the file
fixes media.ccc.de kiosks
Allow dragging boorkmarked playlist in both directions
[Player] Use original audio language by default
[PlayQueue] Fix incorrect UI states of PlayQueue items
It was not deleted by mistake, delete it now

Was orphaned at 1d69bd4
When resuming a download after interruption, if the server returns
HTTP 200 (full resource) instead of HTTP 206 (partial content), the
code correctly resets mMission.done but fails to reset the 'start'
variable. This causes the subsequent file seek to use a stale offset,
writing new data at incorrect positions.

This bug causes file corruption for large downloads (>5GB) that are
interrupted and resumed, particularly when:
- Switching between WiFi networks
- Server CDN returning different responses
- Connection drops during long downloads

The corruption manifests as duplicate data regions in the file,
which for MP4 downloads results in multiple MOOV atoms and
broken seek functionality.

Fix: Reset start=0 when HTTP 200 is received, ensuring the file
write position correctly restarts from the beginning of the current
resource.

(cherry picked from commit 08008ca)
…/crash-on-soundcloud-import

Fix crash on screen rotation while entering SoundCloud import URL
Currently translated at 39.2% (300 of 764 strings)

Translated using Weblate (Lombard)

Currently translated at 0.3% (3 of 764 strings)

Translated using Weblate (French)

Currently translated at 75.8% (66 of 87 strings)

Translated using Weblate (Slovak)

Currently translated at 100.0% (764 of 764 strings)

Translated using Weblate (Hungarian)

Currently translated at 100.0% (764 of 764 strings)

Translated using Weblate (Tigrinya)

Currently translated at 21.8% (167 of 764 strings)

Translated using Weblate (Hindi)

Currently translated at 100.0% (764 of 764 strings)

Translated using Weblate (Azerbaijani)

Currently translated at 100.0% (764 of 764 strings)

Translated using Weblate (Punjabi)

Currently translated at 100.0% (764 of 764 strings)

Translated using Weblate (Belarusian)

Currently translated at 99.0% (757 of 764 strings)

Translated using Weblate (Slovak)

Currently translated at 77.0% (67 of 87 strings)

Translated using Weblate (Punjabi)

Currently translated at 100.0% (764 of 764 strings)

Translated using Weblate (Bulgarian)

Currently translated at 3.4% (3 of 87 strings)

Translated using Weblate (Santali)

Currently translated at 1.1% (1 of 87 strings)

Translated using Weblate (Hindi)

Currently translated at 100.0% (87 of 87 strings)

Translated using Weblate (German)

Currently translated at 100.0% (764 of 764 strings)

Translated using Weblate (Hindi)

Currently translated at 100.0% (764 of 764 strings)

Translated using Weblate (Punjabi)

Currently translated at 100.0% (87 of 87 strings)

Translated using Weblate (Turkish)

Currently translated at 33.3% (29 of 87 strings)

Translated using Weblate (Punjabi)

Currently translated at 78.1% (68 of 87 strings)

Translated using Weblate (German)

Currently translated at 100.0% (87 of 87 strings)

Translated using Weblate (French)

Currently translated at 74.7% (65 of 87 strings)

Translated using Weblate (French)

Currently translated at 74.7% (65 of 87 strings)

Translated using Weblate (Czech)

Currently translated at 100.0% (87 of 87 strings)

Translated using Weblate (Slovak)

Currently translated at 74.7% (65 of 87 strings)

Translated using Weblate (Hindi)

Currently translated at 77.0% (67 of 87 strings)

Translated using Weblate (Punjabi)

Currently translated at 68.9% (60 of 87 strings)

Co-authored-by: 135 <[email protected]>
Co-authored-by: Balázs Meskó <[email protected]>
Co-authored-by: Ding User <[email protected]>
Co-authored-by: Dizro <[email protected]>
Co-authored-by: Erenay <[email protected]>
Co-authored-by: Femini <[email protected]>
Co-authored-by: Fjuro <[email protected]>
Co-authored-by: Hosted Weblate <[email protected]>
Co-authored-by: Kuko <[email protected]>
Co-authored-by: MatthieuPh <[email protected]>
Co-authored-by: Mickaël Binos <[email protected]>
Co-authored-by: Milan <[email protected]>
Co-authored-by: Prasanta-Hembram <[email protected]>
Co-authored-by: STV <[email protected]>
Co-authored-by: ShareASmile <[email protected]>
Co-authored-by: Sumon Kayal <[email protected]>
Co-authored-by: Trunars <[email protected]>
Co-authored-by: VfBFan <[email protected]>
Co-authored-by: whistlingwoods <[email protected]>
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/bg/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/cs/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/de/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/fr/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/hi/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pa/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/sat/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/sk/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/tr/
Translation: NewPipe/Metadata
Currently translated at 39.2% (300 of 764 strings)

Translated using Weblate (Lombard)

Currently translated at 0.3% (3 of 764 strings)

Translated using Weblate (French)

Currently translated at 75.8% (66 of 87 strings)

Translated using Weblate (Slovak)

Currently translated at 100.0% (764 of 764 strings)

Translated using Weblate (Hungarian)

Currently translated at 100.0% (764 of 764 strings)

Translated using Weblate (Tigrinya)

Currently translated at 21.8% (167 of 764 strings)

Translated using Weblate (Hindi)

Currently translated at 100.0% (764 of 764 strings)

Translated using Weblate (Azerbaijani)

Currently translated at 100.0% (764 of 764 strings)

Translated using Weblate (Punjabi)

Currently translated at 100.0% (764 of 764 strings)

Translated using Weblate (Belarusian)

Currently translated at 99.0% (757 of 764 strings)

Translated using Weblate (Slovak)

Currently translated at 77.0% (67 of 87 strings)

Translated using Weblate (Punjabi)

Currently translated at 100.0% (764 of 764 strings)

Translated using Weblate (Bulgarian)

Currently translated at 3.4% (3 of 87 strings)

Translated using Weblate (Santali)

Currently translated at 1.1% (1 of 87 strings)

Translated using Weblate (Hindi)

Currently translated at 100.0% (87 of 87 strings)

Translated using Weblate (German)

Currently translated at 100.0% (764 of 764 strings)

Translated using Weblate (Hindi)

Currently translated at 100.0% (764 of 764 strings)

Translated using Weblate (Punjabi)

Currently translated at 100.0% (87 of 87 strings)

Translated using Weblate (Turkish)

Currently translated at 33.3% (29 of 87 strings)

Translated using Weblate (Punjabi)

Currently translated at 78.1% (68 of 87 strings)

Translated using Weblate (German)

Currently translated at 100.0% (87 of 87 strings)

Translated using Weblate (French)

Currently translated at 74.7% (65 of 87 strings)

Translated using Weblate (French)

Currently translated at 74.7% (65 of 87 strings)

Translated using Weblate (Czech)

Currently translated at 100.0% (87 of 87 strings)

Translated using Weblate (Slovak)

Currently translated at 74.7% (65 of 87 strings)

Translated using Weblate (Hindi)

Currently translated at 77.0% (67 of 87 strings)

Translated using Weblate (Punjabi)

Currently translated at 68.9% (60 of 87 strings)

Co-authored-by: 135 <[email protected]>
Co-authored-by: Balázs Meskó <[email protected]>
Co-authored-by: Ding User <[email protected]>
Co-authored-by: Dizro <[email protected]>
Co-authored-by: Erenay <[email protected]>
Co-authored-by: Femini <[email protected]>
Co-authored-by: Fjuro <[email protected]>
Co-authored-by: Hosted Weblate <[email protected]>
Co-authored-by: Kuko <[email protected]>
Co-authored-by: MatthieuPh <[email protected]>
Co-authored-by: Mickaël Binos <[email protected]>
Co-authored-by: Milan <[email protected]>
Co-authored-by: Prasanta-Hembram <[email protected]>
Co-authored-by: STV <[email protected]>
Co-authored-by: ShareASmile <[email protected]>
Co-authored-by: Sumon Kayal <[email protected]>
Co-authored-by: Trunars <[email protected]>
Co-authored-by: VfBFan <[email protected]>
Co-authored-by: whistlingwoods <[email protected]>
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/bg/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/cs/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/de/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/fr/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/hi/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pa/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/sat/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/sk/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/tr/
Translation: NewPipe/Metadata
Currently translated at 56.3% (49 of 87 strings)

Translated using Weblate (French)

Currently translated at 77.0% (67 of 87 strings)

Translated using Weblate (Punjabi)

Currently translated at 100.0% (764 of 764 strings)

Co-authored-by: Agnieszka C <[email protected]>
Co-authored-by: Hosted Weblate <[email protected]>
Co-authored-by: Mickaël Binos <[email protected]>
Co-authored-by: whistlingwoods <[email protected]>
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/fr/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pl/
Translation: NewPipe/Metadata
Currently translated at 56.3% (49 of 87 strings)

Translated using Weblate (French)

Currently translated at 77.0% (67 of 87 strings)

Translated using Weblate (Punjabi)

Currently translated at 100.0% (764 of 764 strings)

Co-authored-by: Agnieszka C <[email protected]>
Co-authored-by: Hosted Weblate <[email protected]>
Co-authored-by: Mickaël Binos <[email protected]>
Co-authored-by: whistlingwoods <[email protected]>
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/fr/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pl/
Translation: NewPipe/Metadata
Java file here because it uses kotlin function which returns non null
@theimpulson theimpulson requested review from Stypox and TobiGr January 26, 2026 15:10
@github-actions github-actions bot added the size/giant PRs with more than 750 changed lines label Jan 26, 2026
@theimpulson
Copy link
Member Author

I didn't applied #12995 as refactor has a different implementation merged in #11759 which wasn't backported.

@ShareASmile ShareASmile added meta Related to the project but not strictly to code codequality Improvements to the codebase to improve the code quality rewrite Issues and PRs related to rewrite ready for review Most of the work is done, PR is now ready for a review labels Jan 26, 2026
@github-project-automation github-project-automation bot moved this to In Progress in Rewrite Jan 26, 2026
Copy link
Contributor

@TobiGr TobiGr left a comment

Choose a reason for hiding this comment

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

LGTM

@TobiGr TobiGr merged commit 50b9a7b into TeamNewPipe:refactor Jan 28, 2026
5 checks passed
@github-project-automation github-project-automation bot moved this from In Progress to Done in Rewrite Jan 28, 2026
@theimpulson theimpulson deleted the forwardport branch January 29, 2026 05:56
@ShareASmile ShareASmile removed ready for review Most of the work is done, PR is now ready for a review meta Related to the project but not strictly to code labels Jan 29, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

codequality Improvements to the codebase to improve the code quality rewrite Issues and PRs related to rewrite size/giant PRs with more than 750 changed lines

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

10 participants