1
0
mirror of https://github.com/TeamNewPipe/NewPipe synced 2026-05-10 23:42:09 +00:00

12492 Commits

Author SHA1 Message Date
Aayush Gupta a44e65e709 Merge pull request #13448 from TeamNewPipe/comment-crash
fix app crash on loading comment section with no internet
2026-04-24 17:48:39 +08:00
Ida Delphine 188ba0a462 refactor if statements to when block 2026-04-24 07:44:34 +01:00
Aayush Gupta 7b98b4058a Merge pull request #13447 from TeamNewPipe/about-activity
remove AboutActivity
2026-04-24 10:23:25 +08:00
Ida Delphine 78f9fbadb7 fix app crash on loading comment with no internet 2026-04-24 00:22:03 +01:00
Ida Delphine 2ebb0dc114 remove AboutActivity 2026-04-23 16:28:08 +01:00
Ida Delphine 9bd9a5c6e9 Convert ErrorActivity to compose (#13434)
* add error screen compasable

* add error activity

* create separate privacy policy dialog

* move base activity

* refactor error activity and tiny tweaks

* add new compose activity and navdisplay

* refactor app to utilize new compose activity

* clean up arguments in the ErrorReportScreen

* get rid of redundant colors

* tackle review issues

* rename getErrorActivityIntent
2026-04-23 07:16:06 +00:00
Aayush Gupta ee25b44170 Merge pull request #13445 from TeamNewPipe/mergeDev
Merge dev into refactor
2026-04-23 14:56:52 +08:00
Aayush Gupta 43f40c485d gradle: Build with JDK 21
Checkstyle was already requiring JDK 21 and now about libraries need it too

Use the kotlin extension method as it will also configure it for java code

Ref: https://kotlinlang.org/docs/gradle-configure-project.html#gradle-java-toolchains-support

Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2026-04-23 14:31:45 +08:00
Aayush Gupta c992b85b25 libs: Update compose-related libraries to latest release
The about libraries gradle plugin does merge of duplicate by defaults.

Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2026-04-23 12:09:16 +08:00
Aayush Gupta 49354a3c04 fixup! Relocate toml lint task to buildSrc and extend against default task
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2026-04-21 10:42:21 +08:00
Aayush Gupta bfefd43700 Merge branch 'dev' into refactor 2026-04-21 10:42:09 +08:00
Aayush Gupta c1692322bb Merge pull request #13444 from TobiGr/extractor
Update extractor and remove prguard rules for jsoup
2026-04-21 08:43:40 +08:00
tobigr ec81b6bb62 Remove proguard rules for optional jsoup classes
The underlying problem is fixed with jsoup 1.12.2. See https://github.com/TeamNewPipe/NewPipeExtractor/pull/1480.

Revert 6c5d58bed3 /  #13038.
2026-04-20 15:39:14 +02:00
tobigr bdebc926a8 Update extractor 2026-04-20 15:35:08 +02:00
Tobi 936d5d27ff Merge pull request #13390 from priomsrb/fix-playback-after-idle
Fix playback not working after player enters idle state
2026-04-20 06:10:06 +02:00
Shafqat Bhuiyan a719b898a1 Fix playback not working after player enters idle state
On some phones (e.g. Oppo and Oneplus) the video player enters the STATE_IDLE 10 minutes after being paused. This causes the play button to stop working.

This happens because once a player has become idle, we need to call prepare() before playback can happen again.

But after I added prepare(), it would just skip to the end of the video. So now I'm executing the same code that happens when ERROR_CODE_UNSPECIFIED is done. This causes playback to resume normally.
2026-04-20 05:48:06 +02:00
Aayush Gupta 05333265ec Merge pull request #13441 from TeamNewPipe/apiMChanges
Remove non-required API M version checks
2026-04-19 21:01:54 +08:00
Aayush Gupta c4a6bdd7d4 Remove non-required API M version checks
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2026-04-19 19:44:23 +08:00
Stypox 5836f3a492 Merge pull request #13425 from TeamNewPipe/depUpdate 2026-04-19 12:51:46 +02:00
Aayush Gupta aa094bc782 libs: Bump all libs stuck due to minSdk to latest release
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2026-04-16 16:38:19 +08:00
Aayush Gupta 7a3d1d9b5f libs: Bump minSdk to API 23
androidx framework has bumped minSdk requirement to API 23. Most libs dependening
upon the framework as a result require us to bump API level or keep using outdated versions.

Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2026-04-16 16:38:19 +08:00
Aayush Gupta 2682f233a0 libs: Update kotlinx.serialization to latest release
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2026-04-16 16:13:59 +08:00
Aayush Gupta 4effcad436 libs: Update checkstyle to latest release and fix violations
Javadoc comment at column 46 has parse error. Details: no viable alternative at input '<http:/' while parsing HTML_ELEMENT [UnusedImports]

Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2026-04-16 16:13:25 +08:00
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
Tobi ae03b4f2af Merge pull request #13420 from TeamNewPipe/mergeDev
Merge dev into refactor
2026-04-14 23:17:57 +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) v0.28.5 2026-04-10 16:06:21 +02:00
Hosted Weblate 24abbb8111 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (91 of 91 strings)

Translated using Weblate (Polish)

Currently translated at 63.7% (58 of 91 strings)

Co-authored-by: Agnieszka C <aga_04@o2.pl>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: 大王叫我来巡山 <hamburger2048@users.noreply.hosted.weblate.org>
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pl/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/zh_Hans/
Translation: NewPipe/Metadata
2026-04-10 16:05:58 +02:00
tobigr 148b6f7998 Update NewPipe Extractor to v0.26.1 2026-04-10 14:03:57 +02:00
tobigr 0ce141f79d Add changelog for NewPipe 0.28.5 (1010) 2026-04-10 11:34:24 +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
Tobi 2f14473e2a Merge pull request #13403 from litetex/update-extractor
Update extractor to latest commit
2026-04-08 17:28:00 +02:00
litetex 3aa74f1e77 Update extractor to latest commit
To get the changes from https://github.com/TeamNewPipe/NewPipeExtractor/pull/1464
2026-04-08 16:14:52 +02:00
Ida Delphine 44bf345ba9 Merge pull request #13333 from evermind-zz/rework-video-quality-representation-and-stream-selection_refactor
Rework video quality representation and stream selection refactor
Added unit tests for ListHelper
2026-04-03 16:22:27 +01: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 25c12ef81e Merge pull request #12803 from HatakeKakashri/debug_screen_migration
Complete the debug screen migration to Compose
2026-03-30 09:27:48 +01: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
Aayush Gupta b7c339c81c Merge pull request #13382 from TeamNewPipe/weblate
Delete untranslated locales
2026-03-30 01:13:49 +08: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 5fafccba33 Merge pull request #12862 from guymarshall/change-2k-to-2.5k-to-fix-common-mistake
UPDATE: Replace 2k with 1440p
2026-03-27 11:30:22 +00:00