Commit graph

4064 commits

Author SHA1 Message Date
Stypox
10943c587c Make JavaScript code compatible with older WebViews 2025-02-04 21:38:01 +01:00
Stypox
55b893b9a4 Detect when WebView is broken and return null poToken
Some old Android devices have a broken WebView implementation, that can't execute the poToken code. This is now detected and the getWebClientPoToken return null instead of throwing an error in such a case, to allow the extractor to try to extract the video data even without a poToken.
2025-02-04 11:22:50 +01:00
Stypox
45ba43fd6e Use Runnable instead of () -> Unit if converted to Runnable anyway 2025-02-04 10:23:45 +01:00
Stypox
1e99f6bcf6 Use "this" instead of "globalThis" as global scope
globalThis was introduced only on newer versions of JS
2025-02-04 10:22:10 +01:00
AudricV
6ee778d6b0 [YouTube] Change BotGuard endpoint to youtube.com's one
This prevents non-abilities to fetch BotGuard challenge and send its
result with the jnn-pa.googleapis.com domain (domain block like done
on Pi-hole lists or DNS servers).

That's what the official website uses to send the challenge execution
result, however it uses InnerTube to fetch the challenge. Embeds
still use the jnn-pa.googleapis.com domain.

Also rename the makeJnnPaGoogleapisRequest method appropriately.
2025-02-03 13:05:39 +01:00
AudricV
1355bf4d6a [YouTube] Clarify BotGuard API key's origin and disable related Sonar warning 2025-02-01 15:40:16 +01:00
AudricV
7fc3269fe7 [YouTube] Get visitorData from the service to get valid responses 2025-02-01 15:39:07 +01:00
AudricV
828c9ce100 Adapt YoutubeHttpDataSource to extractor changes and improve requests
Always use POST requests and the same body that official HTML5 clients
use for a while.
2025-01-31 22:50:10 +01:00
Stypox
7be0d2d75c Make sure downloadAndRunBotguard() is called after <script> loaded 2025-01-31 21:47:46 +01:00
Stypox
93e0a2984c Wrap logs in BuildConfig.DEBUG 2025-01-31 21:47:46 +01:00
Stypox
1c486b4168 Recreate poToken generator if current is broken
This will be tried only once, and afterwards an error will be thrown
2025-01-31 21:47:45 +01:00
Stypox
cece308d3f Unify running on main thread 2025-01-31 21:47:45 +01:00
Stypox
b78cde7911 Fix checkstyle 2025-01-31 21:47:45 +01:00
Stypox
937a1a9f13 Connect poToken generation to extractor 2025-01-31 21:47:45 +01:00
Stypox
7332d32de3 Interfaces for poTokens + WebView implementation 2025-01-31 21:47:44 +01:00
Bertrand Jaunet
1949c1ad9b DownloaderImpl: Auto-close resources and simplify header setting
The headers should be overwritten in the same way, based on how
`.header` is the same as `.removeHeader().addHeader()`.

We weren’t closing the request resources after using them, potentially
leaking file handles. This will add autoclosing for both the request
and the body objects.
2025-01-31 12:36:27 +01:00
Stypox
b659bd1deb Merge pull request #11959 from Stypox/fix-loading-stream-twice
Fix loading StreamInfo twice on first VideoDetailFragment opening
2025-01-27 14:56:51 +01:00
Stypox
85c0f8c270 Fix naming in VideoDetailFragment: video->stream, videoUrl->url 2025-01-27 14:52:35 +01:00
Profpatsch
f2fbcc7d3d Merge pull request #11870 from TeamNewPipe/sidebar_donations
Add link to donation page on app drawer
2025-01-27 13:59:29 +01:00
Christian Schabesberger
9c7128850e Sidebar: Add donation link to app drawer
This creates a donation link that leads to our donation page on the
NewPipe website.
2025-01-27 13:43:34 +01:00
Stypox
0b7d9783db Fix loading StreamInfo twice on first VideoDetailFragment opening 2025-01-26 12:39:07 +01:00
Stypox
e994ec1fd0 Merge pull request #11806 from Thompson3142/fix_subtitle_size
Fix caption sizes not being changed
2025-01-25 18:10:56 +01:00
Profpatsch
fa2196415a Merge pull request #11887 from Nikunj-Aggarwal/bg-iso-timestamp
Convert error report timestamps to ISO format
2025-01-23 19:51:18 +01:00
Thompson3142
919c590e77 MainPlayer/PopupPlayer: Use system settings for subtitle size
This will use the exact subtitle sizes the user requested, both for
the main and the popup player. They will always be the same fraction
of the video, even if the popup player is resized.
2025-01-21 17:23:08 +01:00
Profpatsch
25c0c0405e ErrorActivity: add Timestamp and Package/Service to markdown export
These were displayed in the UI, but not added into the markdown export
string.
2025-01-21 16:25:54 +01:00
Nikunj-Aggarwal
e33b6da6a5 ErrorActivity: Use a proper zoned ISO timestamp
Will have a timezone offset and be parsable as valid ISO8601
timestamp.

Also change the label in the UI to just say “Timestamp”
2025-01-21 16:24:07 +01:00
LeMeuble
0e8b90d776 Fix issue of checksum for removed file 2025-01-16 10:46:25 +01:00
Stypox
ea2143ca23 Merge pull request #11738 from cillyvms/a13-player-notifs
Always allow changing player notification preferences on Android 13+
2024-11-27 19:12:19 +01:00
Stypox
ada3f5b073 Merge pull request #11734 from Thompson3142/fix_timestamp_popup_time
Fix player resuming from start when clicking on a timestamp
2024-11-27 18:38:49 +01:00
Stypox
7e4cf82b9d Add comments to explain why openAndTruncateStream() 2024-11-27 16:34:50 +01:00
Thompson3142
fa0a009f1a Removed call to setRecovery() entirely 2024-11-24 22:12:25 +01:00
Stypox
c80c378398 Fix downloading/exporting when overwriting file would not truncate 2024-11-24 18:36:54 +01:00
Stypox
8af786f26d Merge branch 'master' into dev 2024-11-24 17:43:45 +01:00
AudricV
0cd8b9a919 Add support for secondary audio track type 2024-11-24 16:43:22 +01:00
Stypox
5866c578b3 Only throttle YouTube feed loading 2024-11-24 16:22:19 +01:00
Stypox
25a047045c Throttle loading subscriptions feed to avoid YouTube rate limits 2024-11-24 14:06:53 +01:00
cillyvms
79253948a0 Allow changing player notification preferences regardless of system settings on Android 13 and above. 2024-11-22 14:21:46 +01:00
Thompson3142
ac69235ae7 Fixed player resuming from start when clicking on a timestamp 2024-11-21 22:42:42 +01:00
Isira Seneviratne
3dff9afc8c Apply URL encode/decode changes 2024-11-19 13:17:10 +01:00
Stypox
296a9fea06 Merge pull request #11268 from TeamNewPipe/user-agent
Update user agent to Firefox ESR 128
2024-11-18 17:06:31 +01:00
Stypox
1ef844353f Merge pull request #11244 from Isira-Seneviratne/Android-elapsed-time
Use Android's elapsed time formatting
2024-11-18 16:56:41 +01:00
Cody T.-H. Chiu
3ee32c7d64 Remove history dialog override so clicking "Start playing in the background" would only enqueue the current item instead of the full history which is usually massive 2024-11-12 18:24:23 +13:00
Stypox
cdaf4ebc2a Merge pull request #11566 from nicholasala/fix/#10993-strange-playlist-order
Fixed playlist order
2024-11-10 15:45:33 +01:00
TobiGr
1e36149ab7 Update user agent to Firefox ESR128 2024-11-03 11:52:31 +01:00
Tobi
01cf681156 Merge pull request #11614 from rmtilde/fix-related-items-enque-popup-crash
Fix related items list enqueue popup crash
2024-11-03 10:13:45 +01:00
rmtilde
1808791345 Update app/src/main/java/org/schabi/newpipe/fragments/list/videos/RelatedItemsFragment.java
Co-authored-by: Tobi <TobiGr@users.noreply.github.com>
2024-11-03 18:26:38 +11:00
Tobi
982850cc1e Merge pull request #11621 from u7656655/fixing-ui-crash-11468
Fix UI crash when user navigates away before the download dialog appears
2024-11-02 23:30:35 +01:00
TwoAi
6642461151 Add null-safe SharedPreferences.getStringSafe
Null-safe alternative to SharedPreferences.getString that guarantees the return value is non-null when defValue is non-null.
2024-10-27 20:38:28 +01:00
Thompson3142
75b4cf6432 Formatting changes (back to original) 2024-10-27 14:38:25 +01:00
Thompson3142
bba9b2b3b4 Update comment
Co-authored-by: Tobi <TobiGr@users.noreply.github.com>
2024-10-27 14:17:32 +01:00