Commit Graph

1498 Commits

Author SHA1 Message Date
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
absidue
11c419a96c chore(build): Add source mappings for enums (#966) 2025-06-08 07:03:38 -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
Luan
f202bcdeb7 chore(test): Update comment test case with a new video ID 2025-06-08 06:59:48 -03:00
Luan
f6fa735ac1 Merge branch 'main' of https://github.com/LuanRT/YouTube.js 2025-06-07 13:02:55 -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
github-actions[bot]
a10c6a1c23 chore(main): release 13.4.0 (#945)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
v13.4.0
2025-04-23 09:33:09 -03:00
Luan
6ee21c5d24 Merge branch 'main' of https://github.com/LuanRT/YouTube.js 2025-04-23 09:31:36 -03:00
dependabot[bot]
b4981ca1fd chore(deps-dev): bump vite in /examples/browser/web (#954)
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 5.4.12 to 5.4.18.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/v5.4.18/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v5.4.18/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-version: 5.4.18
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-23 09:31:15 -03:00
Luan
7c97350785 Merge branch 'main' of https://github.com/LuanRT/YouTube.js 2025-04-23 09:29:02 -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
Luan
677d4db19a chore: Update jintr to version 3.3.1 2025-04-23 08:49:14 -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
absidue
4284fa6d06 chore(build): More efficient enum emit (#944) 2025-04-05 03:44:44 -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
github-actions[bot]
9694a48270 chore(main): release 13.3.0 (#927)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
v13.3.0
2025-03-25 10:07:55 -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
github-actions[bot]
1d4024fae5 chore(main): release 13.2.0 (#910)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
v13.2.0
2025-03-20 07:55:16 -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
dependabot[bot]
5ef7ea8034 chore(deps-dev): bump vite in /examples/browser/web (#906)
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 5.4.11 to 5.4.12.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/v5.4.12/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v5.4.12/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-27 04:52:52 -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
github-actions[bot]
401b4c3858 chore(main): release 13.1.0 (#880)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
v13.1.0
2025-02-21 19:15:11 -03:00
Muhammad Mujtaba Naveed
5aecd0ace9 fix(innertube): Allowing getStreamingData to use client (#895) 2025-02-21 19:12:19 -03:00