11786 Commits

Author SHA1 Message Date
Siddhesh Dhainje
a83762c4d7 Removed restoreInstanceState and resultServiceIntent condition
(cherry picked from commit 418e34172a8528437c9cd1c6097503dbb053b61f)
2026-01-09 11:32:19 -08:00
Siddhesh Dhainje
381b383a43 Used requireArguments instead of getArguments
(cherry picked from commit a3673f8c3b3152c5fdef7313693ef16654ea3931)
2026-01-09 11:32:19 -08:00
Siddhesh Dhainje
d5d92e8340 Fix crash on screen rotation while entering SoundCloud import URL
(cherry picked from commit 23b7f21d7c6582fb82793f06cd94b371e6a1b38a)
2026-01-09 11:32:19 -08:00
Justin L
dc5c5b6604 Fix download resume corruption when server returns HTTP 200
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 08008ca6f958fe9f2768447047b3225292f10ca7)
2026-01-08 19:07:09 -08:00
Tobi
680235ad51
Merge pull request #12922 from TobiGr/enqueue-ui
[PlayQueue] Fix incorrect UI states of PlayQueue items
2026-01-07 04:01:51 -08:00
AbsurdlyLongUsername
952a1269c1 Revert Google Material Components to 1.11.0 2026-01-07 12:34:02 +01:00
Tobi
d4a124a3c4
Merge pull request #12931 from TobiGr/fix/audio-lang
[Player] Use original audio language by default
2026-01-07 03:21:39 -08:00
Tobi
635e6a56c7
Merge pull request #13008 from dustdfg/playlist_normal_drag
Allow dragging boorkmarked playlist in both directions
2026-01-06 09:11:37 -08:00
TobiGr
8f071bc8f9 Update extractor to latest version
fixes media.ccc.de kiosks
2026-01-06 12:41:12 +01:00
Yevhen Babiichuk (DustDFG)
02e559e57f Commit all the playlist changes to db immediately
+ some additional minor code cleanup in the file
2026-01-06 12:36:50 +01:00
Yevhen Babiichuk (DustDFG)
9998d99a04 Allow dragging boorkmarked playlist in both directions
Ctrl+C/Ctrl+V from newpipe/local/playlist/LocalPlaylistFragment
2026-01-06 10:01:59 +02:00
tobigr
5cefafa145 Prepare for version 0.28.1 (1006) 2026-01-03 11:55:59 +01:00
Mira
49aaaebd86 Feat: opus metadata encoding (#12974)
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.
2026-01-03 11:55:59 +01:00
Tobi
7f57493da1
Merge pull request #12986 from TeamNewPipe/actions
workflows: Update actions versions
2026-01-01 02:25:30 -08:00
Aayush Gupta
b4f526c2a5 workflows: Update actions versions
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2026-01-01 16:51:56 +08:00
Aayush Gupta
93166afde4
Merge pull request #12973 from dustdfg/require_preference
Replace findPreference(getString(resId) with its null safe shortcut
2026-01-01 13:36:26 +08:00
Tobi
8893a27668
Merge pull request #12977 from TeamNewPipe/minorFix
fixup! Convert newpipe/util/KioskTranslator.java to kotlin
2025-12-31 01:33:49 -08:00
Aayush Gupta
6c238fafbe fixup! Convert newpipe/util/KioskTranslator.java to kotlin
Copyright and license header are not doc-comments. Move them to the top of the file.
Also re-write it to follow the SPDX formatting as we have followed in the recent Kotlin
conversion.

Additionally, use a better name for the context parameter.

Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2025-12-31 17:05:17 +08:00
Tobi
e17b1a1fcc
Merge pull request #12975 from dustdfg/playlist_button_work
Correct typo in playlist db sql query
2025-12-30 22:58:06 -08:00
Yevhen Babiichuk (DustDFG)
7806a708c2 Correct typo in playlist db sql query
Solve #12855
2025-12-31 05:23:14 +02:00
Yevhen Babiichuk (DustDFG)
f6085d0044 Replace findPreference(getString(resId) with its null safe shortcut 2025-12-30 13:30:37 +02:00
tobigr
0a65c862a3 Remove empty translations 2025-12-30 09:16:58 +01:00
Hosted Weblate
c9339a5a03
Translated using Weblate (French)
Currently translated at 100.0% (764 of 764 strings)

Translated using Weblate (Punjabi)

Currently translated at 97.2% (743 of 764 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (87 of 87 strings)

Added translation using Weblate (Romany)

Translated using Weblate (Korean)

Currently translated at 97.7% (85 of 87 strings)

Translated using Weblate (Swedish)

Currently translated at 100.0% (87 of 87 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Madalin <madalin.mail09@gmail.com>
Co-authored-by: Mona Lisa <nickwick@users.noreply.hosted.weblate.org>
Co-authored-by: NormalRandomPeople <normal.scribe833@silomails.com>
Co-authored-by: TobiGr <TobiGr@users.noreply.github.com>
Co-authored-by: whistlingwoods <72640314+whistlingwoods@users.noreply.github.com>
Co-authored-by: Максим Горпиніч <gorpinicmaksim0@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/ko/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/sv/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/uk/
Translation: NewPipe/Metadata
2025-12-29 22:06:50 +01:00
Aayush Gupta
824fc8fbe1
Merge pull request #12952 from TeamNewPipe/fix/NaN-on-minimize
fix(player): Fix scaleX being NaN on minimize to background app switch
2025-12-30 00:41:31 +08:00
tobigr
465979e677 Do not change the aspectRation if the renderer is disabled 2025-12-29 16:41:25 +01:00
TobiGr
7101aecc98 Try to prevent invalid aspectRatio of SurfaceView
If the video's hieght is 0, the aspectRatio is set to Float.NaN which can cause further issues. Do not assign invalid values for the aspectRatio.
2025-12-29 16:30:20 +01:00
TobiGr
718335d733 fix(player): Fix scaleX being NaN on minimize to background app switch
This aims to fix the following Exception which might occour when watching a live stream and switching the app while 'minimize to backgorund' is enabled:

java.lang.IllegalArgumentException: Cannot set 'scaleX' to Float.NaN
	at android.view.View.sanitizeFloatPropertyValue(View.java:17479)
	at android.view.View.sanitizeFloatPropertyValue(View.java:17453)
	at android.view.View.setScaleX(View.java:16822)
	at org.schabi.newpipe.views.ExpandableSurfaceView.onLayout(ExpandableSurfaceView.java:71)

scaleX is set in onMeasure() in which width could be 0 in theory and this leading to a division by zero of a float which results in an assignment of Float.NaN.
2025-12-29 16:30:20 +01:00
Yevhen Babiichuk (DustDFG)
2dde0fef58 Convert newpipe/util/KioskTranslator.java to kotlin
Cherry picked from #12947 / 4649e46d1ee4c691f2923c9b5c35c154c77b29a4
2025-12-27 23:13:17 +01:00
Yevhen Babiichuk (DustDFG)
c2f526d5b3 Use context.getString() shorthand instead of context.getResources().getString()
Cherry-picked from #12949 / 4360c1b8735c073b95a162324b2814cc5a5b4ecd
2025-12-27 23:12:37 +01:00
Tobi
c3c353f1b7
Merge pull request #12954 from TeamNewPipe/fix/subscriberCount
Fix retrieving incomplete data for SubscriptionEntity
2025-12-27 09:36:17 -08:00
TobiGr
58efbf4de8 Fix retrieving incomplete data for SubscriptionEntity
This fixes a visual bug in which the channels reported the the subscriber count was unavailable although stored in the db.

Closes #12953
2025-12-26 21:57:26 +01:00
Tobi
350d08ba9c
Merge pull request #12909 from TeamNewPipe/no-ai
Add AI policy to contribution guidelines and PR template
2025-12-25 01:31:45 -08:00
Tobi
2ee5f99f09
Merge pull request #12934 from TobiGr/fix/open-download
Fix insufficient permissions on opening downloaded streams
2025-12-23 00:35:10 -08:00
tobigr
a7b226c354 [Player] Use original audio language by default 2025-12-22 10:15:18 +01:00
tobigr
3ffd194f78 Fix insufficient permissions on opening downloaded streams 2025-12-21 18:44:09 +01:00
Hosted Weblate
3c0e6adf2e
Translated using Weblate (Hungarian)
Currently translated at 100.0% (87 of 87 strings)

Translated using Weblate (French)

Currently translated at 100.0% (87 of 87 strings)

Translated using Weblate (German)

Currently translated at 100.0% (87 of 87 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (87 of 87 strings)

Translated using Weblate (Polish)

Currently translated at 58.6% (51 of 87 strings)

Translated using Weblate (Slovak)

Currently translated at 100.0% (87 of 87 strings)

Translated using Weblate (Czech)

Currently translated at 100.0% (87 of 87 strings)

Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 100.0% (87 of 87 strings)

Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 100.0% (87 of 87 strings)

Co-authored-by: Agnieszka C <aga_04@o2.pl>
Co-authored-by: Fjuro <fjuro@alius.cz>
Co-authored-by: Ghost of Sparta <makesocialfoss32@keemail.me>
Co-authored-by: Mickaël Binos <mickaelbinos@outlook.com>
Co-authored-by: Milan <mobrcian@hotmail.com>
Co-authored-by: Random <random-r@users.noreply.hosted.weblate.org>
Co-authored-by: VfBFan <drop0815@posteo.de>
Co-authored-by: tct123 <tct1234@protonmail.com>
Co-authored-by: 大王叫我来巡山 <hamburger2048@users.noreply.hosted.weblate.org>
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/hu/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/it/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pl/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/sk/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/zh_Hans/
Translation: NewPipe/Metadata
2025-12-20 21:54:22 +01:00
TobiGr
535f9da422 Fix rebase 2025-12-20 21:23:58 +01:00
TobiGr
5582eac1c4 Only show enqueue option if play queue is not empty in RouterActivity
Make enqueue option avilable for playlists as well
2025-12-20 20:59:32 +01:00
Hatake Kakashri
acaaec2cde Add enqueue option to router dialog
- This allows users to enqueue a stream directly to the current player queue when sharing a link with the app, improving the user experience for queue management.
- The 'Enqueue' option is now available in the action selection dialog and can also be set as the preferred open action in the settings.
2025-12-20 20:59:25 +01:00
TobiGr
f7ff5db4b5 [PlayQueue] Fix incorrect UI states of PlayQueue items
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: https://github.com/TeamNewPipe/NewPipe/issues/9669
2025-12-20 18:28:45 +01:00
tobigr
86fb618f61 Update NewPipe Extractor 2025-12-19 12:01:38 +01:00
Damien Hardy
0607b14bb2 add indymotion.fr peertube instance on AndroidManifest.xml 2025-12-19 09:43:14 +01:00
Tobi
097c643d1b Add AI policy to contribution guidelines, PR and issue templates
The amount of AI generated PRs is increasing while their quality often remains poor. The introduced guidelines aim to reduce the number of poor quality AI PRs while simultaneously increasing the quality of high quality AI PRs.

New checkboxes for compliance with the AI policy and to increase the PR quality are introduced to the PR template.

Prohibit AI generated issue and PR descriptions
2025-12-16 21:34:25 +01:00
Tobi
2dc2b01d4d
Merge pull request #12910 from TeamNewPipe/release-preparations
Add changelog for NewPipe 0.28.1 (1006) and update extractor
2025-12-16 00:21:58 -08:00
tobigr
698187d2d6 Update extractor to latest version 2025-12-15 22:02:53 +01:00
tobigr
16d0248039 Add fastlane changelog for NewPipe 0.28.1 (1006) 2025-12-15 22:02:53 +01:00
Hosted Weblate
f3876d1c4a
Translated using Weblate (Danish)
Currently translated at 98.8% (755 of 764 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (764 of 764 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (764 of 764 strings)

Translated using Weblate (Lithuanian)

Currently translated at 99.2% (758 of 764 strings)

Translated using Weblate (Bengali)

Currently translated at 74.3% (568 of 764 strings)

Co-authored-by: Agustín Cantero <brahiancantero@gmail.com>
Co-authored-by: Dual_A <alaviabdullah782@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: MS-PC <MSPCtranslator@gmail.com>
Co-authored-by: cat <catsnote@proton.me>
Co-authored-by: gymka <gymka@archlinux.lt>
2025-12-15 22:02:28 +01:00
Tobi
c603c82cff
Merge pull request #12781 from iampopovich/feat/similar-youtube-client-screen-rotation
Remember and restore orientation on fullscreen exit
2025-12-14 04:43:19 -08:00
Tobi
0c17956552
Merge pull request #12898 from TeamNewPipe/playQueue
Player: Enqueue next on the existing playQueue
2025-12-14 02:46:57 -08:00
Aayush Gupta
77bea1ac68 Player: Enqueue next on the existing playQueue
Fixes 150649aea9f2cf55b7b006d5538aaecd2ec57f42

Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2025-12-13 17:03:54 +08:00