1
0
mirror of https://github.com/TeamNewPipe/NewPipe synced 2026-04-15 11:21:23 +00:00

10695 Commits

Author SHA1 Message Date
Tobi
dd917ca240 Merge pull request #13418 from Ecomont/fix/offline-comments-crash
Fix crash when loading offline comments in CommentRepliesSource
2026-04-14 23:21:00 +02:00
Aayush Gupta
53d8d4d4da Merge branch 'dev' into refactor 2026-04-14 22:23:49 +08:00
Tobi
3e297fd892 Merge pull request #13391 from TobiGr/fix/downloaderPermission
Fix SecurityException when opening downloaded files in other app
2026-04-14 11:35:15 +02:00
h
064458cccd Fix crash when loading offline comments in CommentRepliesSource 2026-04-14 06:35:35 +02:00
tobigr
1ce1dbe73c Bump NewPipe version to 0.28.5 (1010) 2026-04-10 16:06:21 +02:00
Hosted Weblate
df6ec4462c Translated using Weblate (Polish)
Currently translated at 63.3% (57 of 90 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (773 of 773 strings)

Translated using Weblate (Chinese (Traditional Han script))

Currently translated at 64.4% (58 of 90 strings)

Translated using Weblate (Swedish)

Currently translated at 99.8% (772 of 773 strings)

Translated using Weblate (Burmese)

Currently translated at 1.1% (1 of 90 strings)

Translated using Weblate (Latvian)

Currently translated at 97.6% (755 of 773 strings)

Translated using Weblate (Portuguese)

Currently translated at 100.0% (773 of 773 strings)

Translated using Weblate (Portuguese (Portugal))

Currently translated at 100.0% (773 of 773 strings)

Translated using Weblate (Chinese (Traditional Han script))

Currently translated at 100.0% (773 of 773 strings)

Translated using Weblate (Latvian)

Currently translated at 97.6% (755 of 773 strings)

Translated using Weblate (Latvian)

Currently translated at 18.8% (17 of 90 strings)

Translated using Weblate (Chinese (Traditional Han script))

Currently translated at 64.4% (58 of 90 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (773 of 773 strings)

Translated using Weblate (Russian)

Currently translated at 98.8% (764 of 773 strings)

Translated using Weblate (Indonesian)

Currently translated at 100.0% (773 of 773 strings)

Translated using Weblate (Latvian)

Currently translated at 97.5% (754 of 773 strings)

Deleted translation using Weblate (Aymara (Southern))

Deleted translation using Weblate (Mainfränkisch)

Deleted translation using Weblate (Azerbaijani (Southern))

Deleted translation using Weblate (Azerbaijani (Southern))

Deleted translation using Weblate (Kashmiri)

Deleted translation using Weblate (Sicilian)

Deleted translation using Weblate (Aymara)

Deleted translation using Weblate (Luri (Bakhtiari))

Deleted translation using Weblate (Yiddish)

Deleted translation using Weblate (Romany)

Deleted translation using Weblate (Corsican)

Deleted translation using Weblate (Gaelic)

Deleted translation using Weblate (Arabic (Tunisian))

Deleted translation using Weblate (French (Louisiana))

Deleted translation using Weblate (German (Low))

Deleted translation using Weblate (English (Old))

Deleted translation using Weblate (English (Middle))

Deleted translation using Weblate (Arabic (Najdi))

Co-authored-by: Arif Budiman <arifpedia@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Mona Lisa <nickwick@users.noreply.hosted.weblate.org>
Co-authored-by: Morkovka21Vek <morkovka21vek@gmail.com>
Co-authored-by: Nicolás Pérez <nicoperez241@proton.me>
Co-authored-by: Omikorin <git@omikor.in>
Co-authored-by: Philip Goto <philip.goto@gmail.com>
Co-authored-by: TobiGr <TobiGr@users.noreply.github.com>
Co-authored-by: Tun Tun AUNG <tuntunaung@codingclassroom.org>
Co-authored-by: UDP <udp@users.noreply.hosted.weblate.org>
Co-authored-by: ssantos <ssantos@web.de>
Co-authored-by: ℂ𝕠𝕠𝕠𝕝 (𝕘𝕚𝕥𝕙𝕦𝕓.𝕔𝕠𝕞/ℂ𝕠𝕠𝕠𝕝) <coool@mail.lv>
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/lv/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/my/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pl/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/zh_Hant/
Translation: NewPipe/Metadata
2026-04-10 11:25:19 +02:00
Ida Delphine
0e2e94dcb9 add unit tests for ListHelper 2026-04-03 14:34:47 +01:00
Ida Delphine
67b6f0a10b refactor ListHelper Kotlin methods 2026-04-03 09:58:17 +01:00
evermind
274cb7c170 ListHelper: rework video quality representation and VideoStream selection
Replace the previous string-based resolution/fps/etc. handling for VideoStreams
by parsing the 'getResolution()'-string to a data class to improve maintainability.

Video resolutions (e.g. "720p60") were previously compared and matched using
regex-based string manipulation all over the place. This was fragile,
required repeated parsing and made it difficult to extend the matching logic.

It can handle all the strings like before: "720p", "720p60"

Additionally this patch can also handle strings like: "720p60@123k", or "720p@2m"

Main changes:
- Introduce internal data class VideoQuality (resolution, fps, bitrate, formatRank).
- Introduce internal VideoStreamWithQuality to associate streams with parsed quality.
- Parse quality only once.
- Replace resolution string sorting with a comparator based on
  resolution -> fps -> formatRank -> bitrate.
- Rework stream selection to use a priority-based matching algorithm
  (format, resolution, fps, bitrate).
- Prefer candidates with bitrate closest to the requested one when multiple
  streams match the same priority class.
2026-04-02 10:29:40 +01:00
evermind
62e66326a5 convert ListHelper to kotlin 2026-04-02 10:29:40 +01:00
TobiGr
db8edd3b44 Fix SecurityException when opening downloaded files in other app
The flag was not passed to the intent that wraps the actual view intent for the app chooser.
2026-04-01 20:55:16 +02:00
Ida Delphine
d33ba8ac75 refactor settings screen, debug, viewmodels, etc 2026-03-30 03:06:31 +01:00
Ida Delphine
fbfa1fd2b1 refactor navigation and settings screens 2026-03-30 01:17:14 +01:00
Ida Delphine
881792ebda add navigation keys 2026-03-29 23:57:01 +01:00
Tobi
50e8189363 Merge pull request #13385 from arjun1194/fix/use-application-context-for-enqueue
Fix NullPointerException in enqueue actions by using Application Context
2026-03-29 20:57:53 +02:00
Hatake Kakashri
de344100db Complete the debug screen migration to Compose with Nav3
- Completed the UI and logic for pending items of Debug screen using Jetpack Compose.
- Implemented a new navigation system for settings using the navigation3
  lib as it is now stable.
- Reuses the `ScaffoldWithToolbar` composable and removed the previous
  `Toolbar` composable to avoid redundancy in code.
- Refactored the `SettingsViewModel` to use a `BooleanPreference` helper
  class to reuse and reducing boilerplate for state management.
- Created a shared `TextBase` composable to remove duplicated UI logic
  between `SwitchPreference` and `TextPreference`.
- Move the build-variant-dependent logic for LeakCanary and reused it in
  Compose and Fragment, this logic is used for ensuring the leak canary
  fields are only enabled in debug variants.
- Fixed a layout bug in `SwitchPreference` where long summary text could
  misalign the switch component and also adjusted the paddings for consistency.
2026-03-28 20:08:07 +00:00
arjun
07a2ab29de Fix NullPointerException in enqueue actions by using Application Context
Use getApplicationContext() instead of getContext() in ENQUEUE,
ENQUEUE_NEXT, START_HERE_ON_BACKGROUND, and START_HERE_ON_POPUP
entries to prevent NullPointerException when the fragment's activity
context becomes null during configuration changes (e.g. device rotation).

The fragment context can become null when the activity is destroyed
during rotation, but the async callback from fetchItemInfoIfSparse
still holds a reference to the now-detached fragment. Using
Application context ensures a stable, non-null context throughout
the async operation lifecycle.
2026-03-28 14:25:48 +05:30
Ida Delphine
5e9c24a7b3 fix duplicate PreferenceSearchItem and extractor hash issue 2026-03-27 11:08:35 +00:00
Guy Marshall
c85655f5bb UPDATE: Replace 2.5k and 2.5K with 1440p to match desktop website 2026-03-27 09:59:39 +00:00
Guy Marshall
dfe12222ff UPDATE: Replace 2k and 2K with 2.5k and 2.5K to fix common mistake 2026-03-27 09:58:42 +00:00
tobigr
da76ddbf19 Remove French (Lousiana) frc from app locales 2026-03-27 08:35:49 +01:00
TobiGr
75ba70ab41 Deleted translation using Weblate (Aymara (Southern)) 2026-03-27 08:30:49 +01:00
TobiGr
6d50fe79b8 Deleted translation using Weblate (Mainfränkisch) 2026-03-27 08:23:30 +01:00
TobiGr
f8c9ab8b11 Deleted translation using Weblate (Azerbaijani (Southern)) 2026-03-27 08:22:23 +01:00
TobiGr
af08ddcf04 Deleted translation using Weblate (Kashmiri) 2026-03-27 08:19:25 +01:00
TobiGr
09c96159d1 Deleted translation using Weblate (Sicilian) 2026-03-27 08:19:05 +01:00
TobiGr
2dda39205d Deleted translation using Weblate (Aymara) 2026-03-27 08:18:48 +01:00
TobiGr
3112eefb99 Deleted translation using Weblate (Luri (Bakhtiari)) 2026-03-27 08:18:29 +01:00
TobiGr
cf0d7016ec Deleted translation using Weblate (Yiddish) 2026-03-27 08:18:05 +01:00
TobiGr
b0f2d509e6 Deleted translation using Weblate (Romany) 2026-03-27 08:17:48 +01:00
TobiGr
db61af15e8 Deleted translation using Weblate (Corsican) 2026-03-27 08:17:29 +01:00
TobiGr
80a47be218 Deleted translation using Weblate (Gaelic) 2026-03-27 08:17:11 +01:00
TobiGr
179a713561 Deleted translation using Weblate (Arabic (Tunisian)) 2026-03-27 08:16:35 +01:00
TobiGr
fa6412a9aa Deleted translation using Weblate (French (Louisiana)) 2026-03-27 08:15:57 +01:00
TobiGr
3f8d26d33e Deleted translation using Weblate (German (Low)) 2026-03-27 08:15:23 +01:00
TobiGr
2fec3a3c58 Deleted translation using Weblate (English (Old)) 2026-03-27 08:15:07 +01:00
TobiGr
08326c64cb Deleted translation using Weblate (English (Middle)) 2026-03-27 08:14:50 +01:00
TobiGr
831425a742 Deleted translation using Weblate (Arabic (Najdi)) 2026-03-27 08:14:12 +01:00
Hosted Weblate
fbf3b7a905 Translated using Weblate (Galician)
Currently translated at 94.9% (734 of 773 strings)

Translated using Weblate (Estonian)

Currently translated at 100.0% (773 of 773 strings)

Translated using Weblate (Vietnamese)

Currently translated at 98.3% (760 of 773 strings)

Translated using Weblate (Dutch)

Currently translated at 99.0% (766 of 773 strings)

Translated using Weblate (Chinese (Traditional Han script))

Currently translated at 100.0% (773 of 773 strings)

Translated using Weblate (Bulgarian)

Currently translated at 100.0% (773 of 773 strings)

Translated using Weblate (Chinese (Traditional Han script))

Currently translated at 100.0% (773 of 773 strings)

Translated using Weblate (Azerbaijani)

Currently translated at 100.0% (773 of 773 strings)

Translated using Weblate (Slovak)

Currently translated at 100.0% (773 of 773 strings)

Translated using Weblate (Czech)

Currently translated at 100.0% (773 of 773 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (773 of 773 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (773 of 773 strings)

Translated using Weblate (Greek)

Currently translated at 100.0% (773 of 773 strings)

Translated using Weblate (Hungarian)

Currently translated at 100.0% (773 of 773 strings)

Translated using Weblate (German)

Currently translated at 100.0% (773 of 773 strings)

Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 100.0% (773 of 773 strings)

Translated using Weblate (Turkish)

Currently translated at 99.0% (766 of 773 strings)

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (773 of 773 strings)

Translated using Weblate (French)

Currently translated at 100.0% (773 of 773 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (773 of 773 strings)

Translated using Weblate (Hindi)

Currently translated at 98.9% (765 of 773 strings)

Translated using Weblate (Korean)

Currently translated at 100.0% (773 of 773 strings)

Translated using Weblate (Punjabi)

Currently translated at 100.0% (773 of 773 strings)

Translated using Weblate (Bulgarian)

Currently translated at 100.0% (765 of 765 strings)

Translated using Weblate (Somali)

Currently translated at 73.3% (561 of 765 strings)

Translated using Weblate (Latvian)

Currently translated at 97.5% (746 of 765 strings)

Translated using Weblate (Latvian)

Currently translated at 97.6% (747 of 765 strings)

Translated using Weblate (Portuguese (Portugal))

Currently translated at 100.0% (765 of 765 strings)

Translated using Weblate (Punjabi)

Currently translated at 100.0% (90 of 90 strings)

Translated using Weblate (Hindi)

Currently translated at 100.0% (90 of 90 strings)

Translated using Weblate (Punjabi)

Currently translated at 100.0% (765 of 765 strings)

Translated using Weblate (Portuguese)

Currently translated at 100.0% (765 of 765 strings)

Translated using Weblate (Hindi)

Currently translated at 100.0% (765 of 765 strings)

Translated using Weblate (Turkish)

Currently translated at 34.4% (31 of 90 strings)

Translated using Weblate (Korean)

Currently translated at 100.0% (765 of 765 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (765 of 765 strings)

Translated using Weblate (Romanian)

Currently translated at 12.2% (11 of 90 strings)

Translated using Weblate (Vietnamese)

Currently translated at 99.3% (760 of 765 strings)

Translated using Weblate (Vietnamese)

Currently translated at 73.3% (66 of 90 strings)

Translated using Weblate (Estonian)

Currently translated at 100.0% (765 of 765 strings)

Translated using Weblate (Chinese (Traditional Han script))

Currently translated at 100.0% (765 of 765 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (765 of 765 strings)

Added translation using Weblate (Corsican)

Translated using Weblate (Indonesian)

Currently translated at 86.6% (78 of 90 strings)

Translated using Weblate (German)

Currently translated at 100.0% (765 of 765 strings)

Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 100.0% (765 of 765 strings)

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (765 of 765 strings)

Translated using Weblate (French)

Currently translated at 100.0% (765 of 765 strings)

Translated using Weblate (Indonesian)

Currently translated at 99.7% (763 of 765 strings)

Translated using Weblate (Greek)

Currently translated at 100.0% (765 of 765 strings)

Translated using Weblate (Italian)

Currently translated at 64.4% (58 of 90 strings)

Translated using Weblate (Hungarian)

Currently translated at 100.0% (765 of 765 strings)

Translated using Weblate (Azerbaijani)

Currently translated at 100.0% (765 of 765 strings)

Translated using Weblate (Slovak)

Currently translated at 100.0% (765 of 765 strings)

Translated using Weblate (Czech)

Currently translated at 100.0% (765 of 765 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (765 of 765 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (765 of 765 strings)

Translated using Weblate (Kabyle)

Currently translated at 27.9% (214 of 765 strings)

Translated using Weblate (German)

Currently translated at 99.8% (764 of 765 strings)

Co-authored-by: Agnieszka C <aga_04@o2.pl>
Co-authored-by: ButterflyOfFire <boffire@users.noreply.hosted.weblate.org>
Co-authored-by: Cabdi Waaxid Siciid <cabdiwaaxidsiciid100@gmail.com>
Co-authored-by: David Bol <CapybarGooner2@proton.me>
Co-authored-by: Dot Max <ahmadfadil.original@outlook.com>
Co-authored-by: EESF-2 <eesf-2@users.noreply.hosted.weblate.org>
Co-authored-by: Emin Tufan Çetin <etcetin@gmail.com>
Co-authored-by: Erenay <erenaydev@proton.me>
Co-authored-by: Femini <nizamismidov4@gmail.com>
Co-authored-by: Fjuro <fjuro@users.noreply.hosted.weblate.org>
Co-authored-by: Ghost of Sparta <makesocialfoss32@keemail.me>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Hosted Weblate user 142171 <traaduttore@users.noreply.hosted.weblate.org>
Co-authored-by: Igor Rückert <igorruckert@yahoo.com.br>
Co-authored-by: Jeff Huang <s8321414@gmail.com>
Co-authored-by: Mickaël Binos <mickaelbinos@outlook.com>
Co-authored-by: Milan <mobrcian@hotmail.com>
Co-authored-by: Philip Goto <philip.goto@gmail.com>
Co-authored-by: Priit Jõerüüt <jrthwlate@users.noreply.hosted.weblate.org>
Co-authored-by: Quý <quycodergithub@gmail.com>
Co-authored-by: Random <random-r@users.noreply.hosted.weblate.org>
Co-authored-by: Stéphanie Olier <olier.stephanie130@gmail.com>
Co-authored-by: TXRdev Archive <lckphanaf9999@gmail.com>
Co-authored-by: Trunars <trunars@abv.bg>
Co-authored-by: Vasilis K. <skyhirules@gmail.com>
Co-authored-by: VfBFan <vfbfan@users.noreply.hosted.weblate.org>
Co-authored-by: WB <wb@users.noreply.hosted.weblate.org>
Co-authored-by: codetabsite <info.codetabteknofest@gmail.com>
Co-authored-by: justcontributor <kty5663@gmail.com>
Co-authored-by: rehork <cooky@e.email>
Co-authored-by: ssantos <ssantos@web.de>
Co-authored-by: whistlingwoods <72640314+whistlingwoods@users.noreply.github.com>
Co-authored-by: ℂ𝕠𝕠𝕠𝕝 (𝕘𝕚𝕥𝕙𝕦𝕓.𝕔𝕠𝕞/ℂ𝕠𝕠𝕠𝕝) <coool@mail.lv>
Co-authored-by: 大王叫我来巡山 <hamburger2048@users.noreply.hosted.weblate.org>
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/hi/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/id/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/it/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pa/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/ro/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/tr/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/vi/
Translation: NewPipe/Metadata
2026-03-27 00:09:53 +00:00
Tobi
d0a0b4a541 Merge pull request #13357 from WSU-CptS-481-Spring-2026/bug/refactor/13248-fix-no-comments-scroll
[Refactor] bugfix: make comment section take up full vertical space
2026-03-17 17:04:29 +01:00
Isira Seneviratne
5f1a270ca4 Fix database import 2026-03-16 14:48:23 +08:00
Isira Seneviratne
aba2a385fd Inline variable 2026-03-16 14:47:24 +08:00
Isira Seneviratne
71a3bf2855 Use InputStream#transferTo() 2026-03-16 14:47:17 +08:00
Isira Seneviratne
ebb937934a Fix DB import/export issue 2026-03-16 14:47:08 +08:00
Isira Seneviratne
223b240299 Refactor zip import/export using Path 2026-03-16 14:46:09 +08:00
evermind
bfcc31ec89 BackupRestoreSettingsFragment: add UI options to import/export subscriptions
* create SubscriptionsImportExportHelper to share common code used in
  SubscriptionFragment and BackupRestoreSettingsFragment
* Add UI options for import/export in BackupRestoreSettingsFragment
2026-03-15 20:54:58 +08:00
Aayush Gupta
6fa97e17f5 subscription: Port subscription import-export to workers from refactor
Please see https://github.com/TeamNewPipe/NewPipe/pull/11759/ for the original change

Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2026-03-15 20:51:29 +08:00
Aayush Gupta
00208fa8bd Merge pull request #13250 from dustdfg/refactor_tablet_related_items
VideoDetailFragment: hide relatedItemsLayout in tablet mode after fullscreen
2026-03-15 19:22:53 +08:00
Aayush Gupta
0d65733e53 Merge pull request #13207 from TobiGr/small-fixes
Small improvements to Image handling
2026-03-15 19:21:06 +08:00
Aayush Gupta
9cc6f9fd68 Merge pull request #13305 from dustdfg/remove_freedroid_license
Remove freedroidwarn license
2026-03-15 19:18:32 +08:00