Ryan Sandbach
9ab528ec82
feat(Kids): Add blockChannel command to easily block channels ( #503 )
...
* Add blockChannel command to support easily blocking content for supervised accounts.
* Moved blockChannel functionality to the Kids client and updated API docs.
* Fix whitepsace issues.
* Resolve remaining linting errors.
* Avoid changing interaction manager. Remove comment for ToggleButton change.
* chore: clean up
---------
Co-authored-by: LuanRT <luan.lrt4@gmail.com >
2023-10-28 14:28:17 -03:00
LuanRT
24ffb01aef
Merge branch 'main' of https://github.com/LuanRT/YouTube.js
2023-10-28 13:31:10 -03:00
LuanRT
eaac38c919
chore: lint
2023-10-28 13:30:58 -03:00
absidue
e627887fe0
chore(MediaInfo): Throw helpful errors when calling toDash or download for live and Post-Live DVR videos ( #526 )
...
* Address pull request feedback
---------
Co-authored-by: LuanRT <luan.lrt4@gmail.com >
2023-10-28 13:29:37 -03:00
LuanRT
beaa28f4c6
feat(music#getSearchSuggestions)!: Return array of SearchSuggestionsSection instead of a single node
2023-10-28 13:27:58 -03:00
LuanRT
a45273fec4
feat(parser): Add PlayerOverflow and PlayerControlsOverlay
2023-10-28 13:17:26 -03:00
absidue
bc97e07ac6
feat(UpdateViewerShipAction): Add original_view_count and unlabeled_view_count_value ( #527 )
2023-10-21 12:39:03 -03:00
LuanRT
8e372d5c67
fix(Feed): Do not throw when multiple continuations are present
2023-10-01 23:39:54 -03:00
LuanRT
987f50604a
fix(Playlist): Throw a more helpful error when parsing empty responses
2023-10-01 23:31:05 -03:00
Luan
69702085c6
refactor: Move transcript logic to MediaInfo ( #511 )
...
* refactor: Move transcript logic to `MediaInfo`
+ Add support for retrieving different languages.
* docs: Update and add examples
2023-09-17 22:17:14 -03:00
absidue
d2959b3a55
perf: Cache deciphered n-params by info response ( #505 )
2023-09-17 18:52:32 -03:00
absidue
68df321858
perf(generator): Remove duplicate checks in isMiscType ( #506 )
2023-09-15 15:25:08 -03:00
LuanRT
fba3fc9714
fix(BackstagePost): vote_button type mismatch
2023-09-10 02:06:01 -03:00
Luan
f94ea6cf91
feat: Add support for retrieving transcripts ( #500 )
...
* feat: Add support for retrieving transcripts
* chore: lint
* chore: update docs
* chore: Do not include nodes in errors thrown
* chore: Improve error messages
* fix(ExpandableMetadata): `expanded_content` type mismatch
* chore: lint
2023-09-10 01:50:30 -03:00
Jeremy Banks
86fb33ed03
feat(PlaylistManager): add .setName() and .setDescription() functions for editing playlists ( #498 )
2023-09-01 17:40:25 -03:00
absidue
91de6e5c0e
feat(ChannelMetadata): Add music_artist_name ( #497 )
2023-08-31 20:29:58 -03:00
absidue
c26972c42a
fix(CompactMovie): Add missing import and remove unnecessary console.log ( #496 )
2023-08-31 20:28:25 -03:00
Jeremy Banks
8bc2aaa358
feat(Session): Add on_behalf_of_user session option. ( #494 )
...
This specifies which channel to use if multiple are associated with the logged-in account.
2023-08-31 08:20:37 -03:00
absidue
0412fa05ff
fix(Format): Fix is_original always being true ( #492 )
2023-08-29 14:23:08 -03:00
Luan
10c15bfb9f
feat(Session): Add fallback for session data retrieval ( #490 )
...
* feat(Session): Add fallback for session data retrieval
Should have added this when we first implemented session data retrieval to be honest. It makes a request to YouTube's service worker and the data there can change or the request can just fail.
* chore: lint
2023-08-28 07:18:27 -03:00
absidue
2eed1726d5
feat(parser): Add CompactMovie ( #487 )
2023-08-27 16:29:50 -03:00
absidue
8b69587787
feat(parser): Add AlertWithButton ( #486 )
2023-08-27 16:29:23 -03:00
absidue
ed7be2a675
feat(parser): Add ChannelHeaderLinksView ( #484 )
2023-08-27 16:28:49 -03:00
Daniel Wykerd
1c3ea2acd3
fix: invalid set ids in dash manifest ( #480 )
2023-08-24 15:59:10 -03:00
LuanRT
90be877d28
fix(SearchSubMenu): Groups not being parsed due to a typo
2023-08-22 09:06:06 -03:00
LuanRT
22a38c0762
feat(Session): Add IOS to ClientType enum
2023-08-18 08:36:17 -03:00
LuanRT
f7614634b6
chore: lint
2023-08-18 08:26:39 -03:00
LuanRT
bf1510b235
fix(parser): Logger logging classdata as [Object object]
2023-08-18 08:17:23 -03:00
LuanRT
815e54b854
feat(MusicResponsiveListItem): Detect non music tracks properly
...
This should make it easier to identify podcast episodes.
2023-08-18 08:15:04 -03:00
LuanRT
f7666051f6
chore(parser): update MusicCarouselShelf
2023-08-18 08:11:04 -03:00
LuanRT
494ee8776a
feat(parser): add MusicMultiRowListItem
...
Used to display podcasts.
2023-08-18 08:09:04 -03:00
Daniel Wykerd
87ed3960ff
refactor!: replace unnecessary classes with pure functions ( #468 )
...
* deps: update linkedom
* refactor!: remove YTNodeGenerator in favour of namespaced pure functions
BREAKING CHANGES:
- Removes `YTNodeGenerator` from `import('youtubei.js').Generator` and exposes its functions directly in `import('youtubei.js').Generator`
* refactor!: replace Parser class with pure functions
- Remove Parser class in favour of pure functions
- Merge duplicate classes `AppendContinuationItemsAction` into a single class
- Move continuation parsers into a seperate file
- Add better custom logging support to parser methods as per issue #460
* refactor!: replace Proto class with pure functions
* chore: update package-lock.json
* refactor!: replace FormatUtils with pure functions and JSX components
- Replace linkedom DASH manifest generation with a dependency free JSX implementation
- Remove FormatUtils class in favour of pure functions
- Remove DOMParser requirement
- Remove duplicate types
* refactor: implement changes from #462
* chore: lint
* fix: deno support
* fix: render valid xml document
* fix: wrong function call in DashUtils
* fix: typo in parser
Co-authored-by: LuanRT <luan.lrt4@gmail.com >
* refactor!: move streaming info logic into seperate function
This allows users to access the same data available in the dash manifest while also simplifying the manifest generation
* chore: lint
* refactor: readability improvements & fixes
Remove redundant getAudioTrackGroups
General readability improvements in StreamingInfo.ts
Share response object between `getBitrate` and `getMimeType` as to not make duplicate requests
* build: remove unnecessary step in deno build
Co-authored-by: absidue <48293849+absidue@users.noreply.github.com >
* refactor: move types to `types` directory
* docs: add back comments lost during refactor
* chore: lint
---------
Co-authored-by: LuanRT <luan.lrt4@gmail.com >
Co-authored-by: absidue <48293849+absidue@users.noreply.github.com >
2023-08-18 06:49:58 -03:00
LuanRT
6c8a916f0f
chore: migrate browser example to Shaka player [skip ci] ( #471 )
...
* chore: use Shaka for the browser example
* chore: lint
* fix(HashtagFeed): resolve type casting issue so tests pass
2023-08-12 23:21:20 -03:00
absidue
31d27b1bca
fix(Format): Extracting audio language from captions ( #470 )
2023-08-12 16:01:32 -03:00
absidue
1ff3e1a440
fix(toDash): Format grouping into AdaptationSets ( #462 )
2023-08-09 16:07:03 -03:00
Ronnie Vega
46fe18b763
feat(VideoInfo): support iOS client ( #467 )
2023-08-09 04:29:25 -03:00
absidue
0dda97e0b0
perf: Cleanup some unnecessary uses of YTNode#key and Maybe ( #463 )
2023-08-06 19:15:47 -03:00
absidue
e370116092
fix(Playlist): Only try extracting the subtitle for the first page ( #465 )
2023-08-06 19:14:21 -03:00
LuanRT
3bc53a8c12
fix(parser): Allow any property in the RawResponse interface
2023-08-01 20:38:15 -03:00
absidue
0fa5a859ae
feat(YouTube Playlist): Add subtitle and fix author optionality ( #458 )
2023-07-30 15:59:39 -03:00
LuanRT
d91695a9ec
fix(SearchHeader): remove console.log
...
Oopsie!
2023-07-25 02:44:43 -03:00
LuanRT
6997982cf2
feat(parser): Add SearchHeader
...
We may want to remove the old SearchSubMenu node in the future but YouTube still uses it sometimes, so we will keep it for now.
Closes #452
2023-07-24 20:26:05 -03:00
absidue
18cbc8c038
feat(parser): Add PageHeader ( #450 )
2023-07-19 19:00:26 -03:00
absidue
1a034733f6
feat(toDash): Add option to include thumbnails in the manifest ( #446 )
...
* feat(toDash): Add option to include thumbnails in the manifest
* refactor: Move toDash function back to MediaInfo class
2023-07-18 02:08:02 -03:00
ChunkyProgrammer
c477b824c0
feat(parser): Add IncludingResultsFor ( #447 )
2023-07-18 01:53:44 -03:00
absidue
bdd98a3b9b
feat(Format): Populate audio language from captions when available ( #445 )
2023-07-16 17:54:26 -03:00
LuanRT
06750aaa74
chore: lint
2023-07-16 17:40:05 -03:00
LuanRT
708c5f7394
feat(parser): add MacroMarkersList ( #444 )
...
This should fix a few parsing issues that were happening after recent updates.
2023-07-16 17:38:16 -03:00
LuanRT
a9cdbf7010
feat(parser): Add ShowMiniplayerCommand ( #443 )
2023-07-16 17:34:42 -03:00
LuanRT
b50d1ef67d
fix(StructuredDescriptionContent): items can also be a HorizontalCardList
2023-07-16 17:00:36 -03:00