shinray
bc386db6ba
feat(Parser): Add SectionHeaderView and GridShelfView ( #988 )
...
* feat(parser): add sectionheaderview and gridshelfview
* style: direct import instead of from ytnodes namespace
* chore: clean up
---------
Co-authored-by: absidue <48293849+absidue@users.noreply.github.com >
Co-authored-by: Luan <luan.lrt4@gmail.com >
2025-07-18 10:23:15 -03:00
Fea
e94ef3748e
feat(Parser): Add DismissableDialog and DismissableDialogContentSection nodes ( #997 )
...
* feat(Parser): Add `DismissableDialogContentSection` node
* feat(Parser): Add `DismissableDialog` node
* chore: clean up
---------
Co-authored-by: Luan <luan.lrt4@gmail.com >
2025-07-18 10:06:05 -03:00
Ankush Sarkar
64f995585f
fix(Artist): getAllSongs not finding target shelf ( #999 )
2025-07-18 09:55:45 -03:00
Ryuu Mitsuki
638697696f
feat(parser-classes): Add CompositeVideoPrimaryInfo parser class ( #984 )
...
* feat(parser-classes): Add `CompositeVideoPrimaryInfo` parser class
* refactor(parser-classes): Remove `data` property from instance class
* chore: shorten import path
---------
Co-authored-by: Luan <luan.lrt4@gmail.com >
2025-06-22 14:59:15 -03:00
ChunkyProgrammer
d6f13e20ac
feat(CommentsView): parse voice_reply_transcript ( #981 )
...
* Parse the VoiceReplyContainer instead of just parsing the text
2025-06-17 13:26:50 -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
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
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
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
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
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
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
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
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
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
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
absidue
0e869020db
refactor: Remove internal uses of the .first() and .matchCondition() helpers ( #889 )
2025-02-08 05:55:39 -03:00
Luan
d0d48bf525
feat(CommentView): Parse prepareAccountCommand
2025-02-05 15:02:48 -03:00
Luan
3f960effa2
fix(Parser): Add UpdateEngagementPanelContentCommand
...
This command is sometimes used to open the Transcript panel.
2025-02-05 06:55:13 -03:00
Luan
424c65356c
fix(LockupView): Add overlay nodes used by VIDEO views
2025-01-25 11:59:17 -03:00
Luan
3ffdee9554
fix(LockupMetadataView): Parse menuButton
2025-01-25 11:41:01 -03:00
Luan
083aec1c80
fix(LockupView): Fix content_image parsing
2025-01-25 11:33:38 -03:00
Luan
6d57353a80
feat(CompactLink): Parse subtitle, iconType, and iconType
2025-01-24 11:22:29 -03:00
Luan
32125c7045
feat(CommentView): Parse some extra tooltips
2025-01-21 07:51:55 -03:00
jonz94
a035b71696
fix(LiveChatTextMessage): Make some fields optional ( #877 )
...
- Mark `menu_endpoint` property as optional
- Mark `context_menu_accessibility_label` property as optional
2025-01-20 15:46:34 -03:00
Luan
33c27ddcb5
feat(Innertube): Add getAttestationChallenge ( #869 )
...
* feat(Innertube): Add `getAttestationChallenge`
YouTube has recently started using this InnerTube endpoint to fetch challenges for WebPo generation.
* chore: lint
2025-01-11 19:42:18 -03:00
Luan
50539bca9c
chore(ShortsLockupView): Use a shorter import
2025-01-11 17:47:24 -03:00
Konstantin
2913d5f43d
feat(Music): Add continuation support for "Up next" tab in TrackInfo ( #770 )
...
* chore: tests for playlist panel
* chore: add possibility to continue music playlist panel
* chore: allow further playlist continuation
* revert: further revert Music.ts changes
* chore: rename test description
* chore: add check and remove TODO
* fix: fix issue with new code
* chore: remove documentation
* fix: fix test by using some video from homepage
2025-01-11 17:44:29 -03:00
jonz94
732a30c09f
fix(Text#fromAttributed): Fix StyleRun assuming that the startIndex and length always exist ( #862 )
...
In AttributedText, styleRuns may not always include the `startIndex` or `length` properties
- If `startIndex` is missing, we assume the style applies from the beginning of the text
- If `length` is missing, we assume the style applies to the entire text
2025-01-11 17:27:16 -03:00
jonz94
0a3104bafc
feat(ContentMetadataView): Parse enableTruncation ( #863 )
2025-01-11 17:25:13 -03:00
jonz94
9025122484
feat(parser): Update LiveChatTextMessage ( #864 )
...
Update `LiveChatTextMessage` to extend `YTNode` rather than
`LiveChatMessageBase` to better align with the latest data
provided by Innertube.
- Add `timestamp_usec` property
- Add `timestamp_text` property
- Add `context_menu_accessibility_label` property
- Add `before_content_buttons` property
2025-01-11 17:23:22 -03:00
absidue
66cbee268d
chore(parser): Simplify VideoInfo#getTrailerInfo ( #867 )
2025-01-11 17:22:40 -03:00
Luan
f3c777b316
fix(Text#toHTML): Return empty string if the text is undefined
2024-12-31 19:08:55 -03:00
Luan
f76a8e5d75
refactor(Parser): Update view models to use RendererContext.ts
...
May or may not be a breaking change for some.
2024-12-31 06:41:17 -03:00
jonz94
3c28c0d2c2
feat(parser): Update LiveChatPaidSticker ( #849 )
...
* Add `sticker_accessibility_label` property
* Add `sticker_display_width` property
* Add `sticker_display_height` property
* Add `context_menu_accessibility_label` property
* Add `timestamp_usec` property
* Add `is_v2_style` property
2024-12-31 06:24:12 -03:00
jonz94
6536801ec2
fix(ButtonCardView): Correct typo ( #855 )
2024-12-31 06:18:56 -03:00