absidue
5c83e999df
fix(Format): Extract correct audio language from captions ( #553 )
2023-12-07 08:46:05 -03:00
LuanRT
4e67240ff9
chore(FeedNudge): Add Text import
2023-12-04 15:51:09 -03:00
absidue
f938c34ee8
feat(generator): Add support for generating view models ( #550 )
2023-12-04 15:46:09 -03:00
absidue
bd487f8bef
fix(generator): Output Parser.parseItem() calls with one valid type, without the array ( #551 )
2023-12-04 15:45:38 -03:00
absidue
48a5d4e7c3
feat(Thumbnail): Support sources in Thumbnail.fromResponse ( #552 )
2023-12-04 13:50:08 -03:00
LuanRT
923232de07
chore(PlayerConfig): Add default value to some fields
2023-12-01 17:56:25 -03:00
LuanRT
5c9c231cc2
feat(MediaInfo): Parse player config
2023-12-01 17:14:36 -03:00
LuanRT
ed2cbf8a13
chore: lint
2023-12-01 00:50:26 -03:00
LuanRT
4261915fd4
fix(Library)!: Add support for the new layout and remove profile & stats info
2023-12-01 00:49:22 -03:00
LuanRT
f74ed5a1cf
fix(StructuredDescriptionContent): Add ReelShelf to list of possible nodes
2023-11-30 23:36:32 -03:00
LuanRT
5ae15be63d
fix(VideoAttributeView): Fix image and overflow_menu_on_tap props
2023-11-30 23:34:31 -03:00
Konstantin
a32aa8c633
feat: Add Shorts endpoint ( #512 )
...
* chore: first try for shorts endpoints
* chore: add shorts to index
* fix: fix code style
* chore: fix suggestions
* fix: fix code style with spaces on curly brackets
* chore: add curly rule to eslint
* chore: run request in parallel
* chore: remove console.logs and add other expect tests
* chore: apply eslint suggestions
* Update ReelPlayerOverlay.ts
* Update VideoInfo.ts
* chore: remove console.log from tests
---------
Co-authored-by: absidue <48293849+absidue@users.noreply.github.com >
Co-authored-by: LuanRT <luan.lrt4@gmail.com >
2023-11-30 22:58:11 -03:00
absidue
95ed60207a
perf: Use named Parser import, to allow bundlers to create direct function references ( #535 )
...
Co-authored-by: Luan <luan.lrt4@gmail.com >
2023-11-30 22:31:59 -03:00
absidue
b50e2001aa
chore: Clean up so unneeded private properties ( #540 )
2023-11-30 22:21:14 -03:00
absidue
b60930a0c1
feat(parser): Add ChannelOwnerEmptyState ( #541 )
2023-11-30 22:12:11 -03:00
absidue
c66eb1fecf
feat(Channel): Support new about popup ( #537 )
...
* feat(Channel): Support new about popup
* chore: Minor cleanup
* fix(concatMemos): Merge duplicate nodes instead of overwriting
* fix(Feed): `has_continuation` and `getContinuation()` avoid header continuations
* chore(Channel): Remove unused import
---------
Co-authored-by: LuanRT <luan.lrt4@gmail.com >
2023-11-30 22:06:25 -03:00
absidue
6a5a579e39
fix(Channel)!: Remove getChannels() and has_channels, as YouTube removed the tab ( #542 )
...
BREAKING CHANGE: YouTube removed the "Channels" tab on channels, so this
pull request removes the `getChannels()` method and `has_channels`
getter from the `YT.Channel` class, as they are no longer useful. The
featured channels are now shown on the channel home tab. To get them
you can use the `channels` getter on the home tab of the channel.
Please note that some channel owners might not have added that section
to their home page yet, so you won't be able to get the featured
channels for those channels. The home tab is the default tab that is
returned when you call `InnerTube#getChannel()`, you can also access
that tab by calling `getHome()` on a `YT.Channel` object.
2023-11-30 22:03:36 -03:00
JellyBrick
ff4ab1680e
feat: add VideoAttributeView ( #531 )
...
* feat: add `VideoAttributeView`
* fix: remove `logging_directives`
See https://github.com/LuanRT/YouTube.js/pull/531#discussion_r1375315550
* fix: Update src/parser/classes/VideoAttributeView.ts
---------
Co-authored-by: absidue <48293849+absidue@users.noreply.github.com >
Co-authored-by: Luan <luan.lrt4@gmail.com >
2023-11-30 21:38:51 -03:00
JellyBrick
9007b65237
feat(Parser): Add ClipSection ( #532 )
...
* feat: add `ClipSection`
* fix: Update src/parser/classes/ClipCreation.ts
---------
Co-authored-by: absidue <48293849+absidue@users.noreply.github.com >
2023-11-30 21:29:18 -03:00
JellyBrick
e02139532b
feat: add FeedNudge ( #533 )
...
* feat: add `FeedNudge`
see https://github.com/LuanRT/YouTube.js/actions/runs/6679090140/job/18150827068?pr=532
* fix: lint
* fix: update parser-map
2023-10-29 09:51:25 -03:00
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
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
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
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
absidue
0412fa05ff
fix(Format): Fix is_original always being true ( #492 )
2023-08-29 14:23:08 -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
LuanRT
90be877d28
fix(SearchSubMenu): Groups not being parsed due to a typo
2023-08-22 09:06:06 -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
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