Luan
e1650e1297
refactor: Clean up HTTPClient code
2025-06-08 13:45:03 -03:00
Luan
b15f623dab
fix(Constants): Add TVHTML5_SIMPLY to CLIENT_NAME_IDS
2025-06-08 13:44:01 -03:00
Fijxu
689fb0b90e
fix: add missing TV_SIMPLY parts on some files ( #975 )
2025-06-08 12:42:44 -03:00
Luan
056b12c3db
chore: merge
2025-06-08 09:51:21 -03:00
Luan
8cf658151f
feat: Add TV_SIMPLY client
2025-06-08 09:51:06 -03:00
Konstantin
065e9a4e7c
feat(MediaInfo): Add updateWatchTime ( #874 )
...
* feat: add watch time update function for VideoInfos classes
* chore: Improve naming
* chore: fix ts error
---------
Co-authored-by: absidue <48293849+absidue@users.noreply.github.com >
Co-authored-by: Luan <luan.lrt4@gmail.com >
2025-06-08 08:25:54 -03:00
lovegaoshi
bb022e8285
fix(Session): Initialize client version based on provided client name ( #971 )
...
* fix(Session): Fix client init when using cached sessions
---------
Co-authored-by: Luan <luan.lrt4@gmail.com >
2025-06-08 07:51:53 -03:00
Suhun Han
876e94ad03
feat(VideoInfo): implement MacroMarkersListEntity parser for heatmap ( #973 )
...
* refactor(video-info): rewrite heat-map extraction
* fix(parser): Ensure heatmap mutations are processed only if mutations exist
---------
Co-authored-by: Luan <luan.lrt4@gmail.com >
2025-06-08 07:32:50 -03:00
absidue
698121ab8f
fix: Handle CommandExecutorCommand in NavigationEndpoint.call ( #968 )
...
Co-authored-by: Luan <luan.lrt4@gmail.com >
2025-06-08 07:12:26 -03:00
Luan
561e60b934
feat(StreamingInfoOptions)!: Add is_sabr option ( #974 )
...
Returns a manifest suitable for use in SABR player implementations.
2025-06-08 07:02:10 -03:00
absidue
09718a717f
refactor(Actions): Use Response.json instead of JSON.parse + Response.text ( #967 )
2025-05-26 20:27:32 -03:00
absidue
0f1fd7223c
fix(getBasicInfo): Add racyCheckOk and contentCheckOk to payload ( #961 )
2025-05-01 08:29:25 -03:00
ChunkyProgrammer
92b8623374
fix(Innertube): Properly encoded params in getPostComments() ( #955 )
2025-04-24 01:09:03 -03:00
Luan
7f1eeb6b5b
fix(Player): Use global var to find signature algorithm ( #953 )
...
* chore: Update jintr to version 3.3.1
* fix(Player): Use global var to find signature algorithm
This change allows matching code such as:
```
// "Y" is the global var.
r = r[Y[14]](Y[19]);
q3[Y[8]](r, 30);
q3[Y[8]](r, 65);
q3[Y[8]](r, 2);
```
TODO:
Maybe consider removing the regex (it's too fragile) and instead use the AST walker, like we already do for `nsig` and the global lookup variable.
2025-04-23 09:28:42 -03:00
Paul
5e665e8f0b
feat(Session): Add option to override Player ID ( #951 )
...
Co-authored-by: Paul <paul@piltd.io >
Co-authored-by: Luan <luan.lrt4@gmail.com >
2025-04-23 09:23:41 -03:00
Dave Nicolson
ff1aa67b8b
feat(Parser): Add OpenOnePickAddVideoModalCommand node ( #901 )
2025-04-20 10:25:50 -03:00
Luan
dce51cdc4a
feat(RichShelf): Add icon_type property
...
Useful for identifying Short content shelves.
2025-04-16 15:59:00 -03:00
Luan
4808d2e13a
feat(Session): Add retrieve_innertube_config option ( #949 )
...
* feat(Session): Add `retrieve_innertube_config` option
This makes a call to `/config` to fetch hot/cold hash data, as well as config needed for certain requests and encryption (useful for "onesie" requests.)
Note: This is enabled by default. If you don't have any cache configured, the additional request will make session creation slightly slower!
* chore: Update config headers
2025-04-16 15:28:08 -03:00
Luan
98a2ba8c46
chore(parser): Fix types
2025-04-16 14:16:17 -03:00
Luan
a1fd51fbb5
chore: Copy over some types from youtubei-dts
...
Needed for hot config retrieval.
2025-04-16 14:09:32 -03:00
Luan
c7048368cc
feat(Session): Add deviceExperimentId and rolloutToken to session data
2025-04-16 13:28:47 -03:00
Luan
458c4900d7
feat(parser): Parse targetId
...
Used by the UI to identify interactions/commands sent by nodes deep into the response (ChipCloudChip, Button, etc..)
2025-04-13 16:47:46 -03:00
Luan
f8690118c3
feat(MultiPageMenuNotificationSection): Add notification_section_title
2025-04-11 17:10:55 -03:00
absidue
14ea875c67
chore: Inline some trivial private methods ( #946 )
2025-04-06 13:37:57 -03:00
Brijesh Thummar
95d9211eae
fix(HTTPClient): Use the correct constant for the iOS client OS name ( #938 )
2025-04-05 12:55:18 -03:00
Luan
393c243495
chore(ButtonView): Fix typo
2025-04-05 06:22:51 -03:00
Luan
df6b0cccc4
refactor: Update some nodes to use AccessibilityData.ts
2025-04-05 05:44:11 -03:00
Luan
a95f52a477
feat(Text): Parse accessibility data
...
+ Clean up.
2025-04-05 05:09:34 -03:00
Luan
d8f731b2fa
feat(RichRenderers): Parse more UI elements
...
YouTube is currently A/B testing a new You/Library page that uses RichShelf nodes instead of Shelf. There are no major visual changes, other than the page being much more responsive due to how RichShelf is styled.
2025-04-05 03:40:11 -03:00
Luan
edfd65f5e0
fix(Player): Parse global variable used by nsig/sig ( #935 )
...
To reduce reliance on regex, we'll use an AST walker here.
Tested with the following player scripts:
https://www.youtube.com/s/player/643afba4/player_ias.vflset/en_US/base.js
https://www.youtube.com/s/player/4fcd6e4a/player_ias.vflset/en_US/base.js
https://www.youtube.com/s/player/363db69b/player_ias.vflset/en_US/base.js
2025-03-25 10:01:48 -03:00
Luan
cbb2535b24
feat(MusicImmersiveHeader): Parse buttons and menu
2025-03-24 10:49:54 -03:00
absidue
216cb3139a
chore(parser): Pass playlist_item_data as a parameter instead of a private property ( #914 )
2025-03-20 07:47:35 -03:00
absidue
4a4c37001d
refactor(internal): Reduce frequent accesses to the same private property ( #915 )
2025-03-20 07:46:36 -03:00
wukko
219d88b200
fix(Constants): Update the iOS client version ( #924 )
...
* utils/Constants: update the iOS client version
* utils/HTTPClient: use osName & osVersion for iOS client from Constants
2025-03-20 07:45:17 -03:00
Luan
923e9c28e3
feat: Add AccessibilityContext and CommandContext classes + improve type definitions and parsing logic across multiple nodes
2025-03-03 03:22:27 -03:00
absidue
00c199ac69
fix(Format): Parse xtags from protobuf to support SABR-only responses ( #909 )
2025-02-27 03:30:43 -03:00
Nansess
06a0090ae6
chore(constants): Update version numbers to latest ( #908 )
2025-02-25 07:46:31 +01:00
Muhammad Mujtaba Naveed
5aecd0ace9
fix(innertube): Allowing getStreamingData to use client ( #895 )
2025-02-21 19:12:19 -03:00
absidue
432571769e
revert: "fix(toDash): Fix default audio stream for dubbed movie trailers ( #858 )" ( #896 )
...
This reverts commit 00546909c0 .
2025-02-21 19:10:04 -03:00
Dave Nicolson
2b4219959c
fix(Playlist): is_editable ( #894 )
...
* Fix is_editable
* Add can_reorder
2025-02-21 19:07:56 -03:00
Dave Nicolson
b731db86c5
fix(DialogView): Type mismatch ( #897 )
2025-02-21 19:04:21 -03:00
Dave Nicolson
e2ee822b9d
Fix getPlaylist playlist ID ( #898 )
2025-02-21 19:02:29 -03:00
Luan
a3fafe2f79
fix(music#getPlaylist): Handle ContinuationItem nodes
...
Closes #904
2025-02-21 18:52:34 -03:00
Luan
ca7c3164e1
chore(AnimatedThumbnailOverlayView): Refactor thumbnail handling to use Thumbnail class
2025-02-21 18:15:29 -03:00
Izak Filmalter
0cb92d9620
feat(parser): Add AnimatedThumbnailOverlayView ( #903 )
...
* Add AnimatedThumbnailOverlayView parser.
* Update nodes.ts
2025-02-17 11:41:17 -03:00
Nansess
5394edc9bd
chore(constants): update WEB_CREATOR version ( #893 )
...
* update WEB_CREATOR version
* Update Constants.ts
2025-02-15 11:07:51 -03:00
absidue
7d5c972c98
fix(Innertube): Properly encoded params in getPost() ( #882 )
2025-02-13 17:31:12 -03:00
Loyalsoldier
774b3a7524
fix(FormatUtils): itag matching ( #886 )
2025-02-13 17:29:36 -03:00
ChunkyProgrammer
b3a4862151
feat(Channel): Add getCourses method ( #883 )
2025-02-11 06:10:50 -03:00
absidue
75d39e7afb
chore(parser): Simplify d0d48bf525 ( #888 )
2025-02-08 06:00:03 -03:00