ThetaDev
70e13fa6fc
fix: A/B test 17: channel playlists lockupViewModel
2024-11-09 05:11:41 +01:00
ThetaDev
40811a89e5
fix: fetch unlocalized player data to interpret errors correctly; regression introduced with v0.6.0
2024-11-09 03:08:00 +01:00
ThetaDev
957fa22f77
feat!: replace TrackItem::is_video attr with TrackType enum; serde lowercase AlbumType enum for consistency
2024-11-09 02:55:59 +01:00
ThetaDev
7a62936392
feat: allow searching for YTM users
2024-11-09 00:36:42 +01:00
ThetaDev
4b7db80afc
fix: use same visitor data for fetching artist album continuations
2024-10-24 02:02:22 +02:00
ThetaDev
987d007cf1
fix: handle auth errors
2024-10-24 01:40:56 +02:00
ThetaDev
2040fd4e0a
feat: revoke OAuth token when logging out
2024-10-24 01:30:59 +02:00
ThetaDev
1dcde78053
feat: add user_auth_logout method
2024-10-24 00:46:45 +02:00
ThetaDev
1eecde4d6b
test: fix authenticated testing in CI
2024-10-24 00:42:19 +02:00
ThetaDev
8cc227077b
feat: add OAuth user login to access age-restricted videos
2024-10-23 23:02:32 +02:00
ThetaDev
448657bcb5
feat!: generate random visitorData, remove RustyPipeQuery::get_context and YTContext<'a> from public API
2024-10-23 01:51:16 +02:00
ThetaDev
43805aca66
feat!: remove TvHtml5Embed client as it got disabled
2024-10-23 01:42:02 +02:00
ThetaDev
ed7c5fd3bb
fix: update channel order tokens
2024-10-23 00:30:18 +02:00
ThetaDev
93dbd0d20c
fix: fetch artist albums continuation
2024-10-22 23:56:59 +02:00
ThetaDev
bef2fc3df6
fix: skip serializing empty cache entries
2024-10-13 22:42:21 +02:00
ThetaDev
ee76cee8d1
feat: add mobile client
2024-10-13 05:16:06 +02:00
ThetaDev
4544536a75
fix: A/B test 16 (pageHeaderRenderer on playlist pages)
2024-10-12 05:47:47 +02:00
ThetaDev
11e25c8e02
fix: ignore live tracks in YTM searches
2024-10-12 05:33:23 +02:00
ThetaDev
a8c7823d44
fix: prioritize visitor_data argument before opts
2024-10-12 05:29:04 +02:00
ThetaDev
a7fb0d641a
fix: A/B test 15 (parsing channel shortsLockupViewModel)
2024-09-10 03:12:16 +02:00
ThetaDev
4e53247e9c
feat!: remove startpage
2024-08-18 03:03:11 +02:00
ThetaDev
cf0eb81002
fix: get TV client version
2024-08-17 03:26:20 +02:00
ThetaDev
554529d696
feat!: add handle to ChannelItem, remove video_count
2024-08-17 03:05:57 +02:00
ThetaDev
b715ae18c4
feat!: update channel model, addd handle + video_count, remove tv/mobile banner
2024-08-17 02:44:47 +02:00
ThetaDev
0077128d77
fix: parsing channels without banner
2024-08-17 00:42:47 +02:00
ThetaDev
9f16a63fe3
fix: player_from_clients: fall back to TvHtml5Embed client
2024-08-17 00:21:47 +02:00
ThetaDev
0b8cc6ac86
fix: detect ip-ban error message
2024-08-10 16:26:43 +02:00
ThetaDev
1a62471ad7
feat: change default player client order
2024-08-10 03:03:15 +02:00
ThetaDev
1bd49fc53d
fix: set tracing instrumentation level to Error
2024-08-10 00:06:56 +02:00
ThetaDev
f27d0492cb
feat!: add TV client
2024-07-30 01:55:24 +02:00
ThetaDev
b2839f773d
feat: add player_from_clients function to specify client order
2024-07-29 18:03:31 +02:00
ThetaDev
9517de2dcd
fix: improve deobfuscator (support multiple nsig name matches, error if mapping all streams fails)
...
Since YouTube keeps changing the nsig function signature and a generic regex may match at multiple places, I changed the extraction logic to search for multiple matches if necessary and test the extracted deobfuscation functions.
I also found out that if the deobfuscation fails for all streams, fetching the player still returns a successful result with no streams, suggesting that the video is not available. So I changed the mapper to throw an ExtractionError if no streams are mapped successfully.
2024-07-29 14:45:52 +02:00
ThetaDev
c51a273513
feat: add http_client method to RustyPipe and user_agent method to RustyPipeQuery
...
For downloading, the http client as well as the user agent used by RustyPipe
should be available.
2024-07-27 02:36:45 +02:00
ThetaDev
1934592ab8
feat: add client_type to VideoPlayer, simplify MapResponse trait
...
The MapResponse trait needed too many arguments, so I added the MapRespCtx object.
Also added the client_type to the context, so it can be added to the extracted player data.
This is necessary to be able to download videos with the correct user agent
2024-07-27 02:30:24 +02:00
ThetaDev
36d6061a27
fix!: extracting nsig function, remove field throttled from Video/Audio stream model
2024-07-15 20:41:20 +02:00
ThetaDev
358307420a
test: fix tests
2024-06-18 16:10:27 +02:00
ThetaDev
3204de301a
refactor!: rename VideoItem/VideoPlayerDetails.length to duration for consistency
2024-06-16 22:42:11 +02:00
ThetaDev
b5dcdebeab
feat: add UnavailabilityReason: IpBan
2024-06-16 22:24:59 +02:00
ThetaDev
2c9402aff6
feat: make get_visitor_data() public
2024-06-16 02:18:04 +02:00
ThetaDev
2aa3aba601
test: fix asserts: client version parts, iOS client bitrate
2024-05-17 18:27:24 +02:00
ThetaDev
cf3b84fe70
chore: fix clippy lints
2024-05-02 19:39:48 +02:00
ThetaDev
5f1e1a2a5c
fix: parsing error when no music_related content available
2024-04-18 19:50:06 +02:00
ThetaDev
4ab9046d33
fix: remove Innertube API keys, update android player params
2024-04-16 15:18:29 +02:00
ThetaDev
5cf2c73ee6
feat: add text formatting (bold/italic/strikethrough)
2024-04-03 03:28:13 +02:00
ThetaDev
0fdd729326
fix: parse new comment model ( A/B#14 frameworkUpdates)
2024-04-02 01:49:43 +02:00
ThetaDev
d5ca6a87d3
fix: correctly parse subscriber count with new channel header
...
It looks like A/B test 12 has changed the text field order for the subscriber count slightly. Support was added to correctly parse both variants
2024-03-26 21:19:51 +01:00
ThetaDev
819ae447d2
chore: update user agent (FF 115.0)
2024-03-26 20:03:09 +01:00
ThetaDev
a267413a82
fix: parsing music details with video description tab
2024-03-24 02:34:53 +01:00
ThetaDev
4c62672e45
tests: remove tokio_test::block_on
2024-03-16 19:21:30 +01:00
ThetaDev
b012436bf8
feat!: add rich text description to playlists and albums
...
fix: panic when parsing new music album/playlist layout
2024-03-09 14:34:58 +01:00