Commit Graph

406 Commits

Author SHA1 Message Date
Basil
47b1df7529 fix(ThumbnailBadgeView): Parse icon (#1174) 2026-05-29 09:20:26 -03:00
LuanRT
853a36307b feat(Parser): Add HypeFanCreditsSectionView 2026-05-12 19:11:35 -03:00
Luan
faaf5fc5c1 fix(Channel): Add support for new feed filter nodes (#1163)
* feat(Feed): Update `getVideosFromMemo` to support `LockupView` nodes

* feat(parser): Add `DownloadListItemView` renderer parser

* feat(FilterableFeed): Add support for `ChipView` nodes

* feat(Channel): Add support for new feed filter system

Honestly the whole Channel class needs a cleanup. Maybe I'll do that at some point in the future.
2026-05-04 21:04:15 -03:00
LuanRT
cf5412986b feat(ListView): Add some missing fields 2026-03-20 17:25:42 -03:00
LuanRT
37a4808693 feat(parser): Add ShowSheetCommand and SheetView 2026-03-20 15:02:53 -03:00
LuanRT
e9bc0d00dd chore(ChipBarView): Import RendererContext directly 2026-03-19 11:24:05 -03:00
LuanRT
39158838f1 feat(ChipBarView): Parse renderer_context 2026-03-19 11:23:05 -03:00
LuanRT
32623de485 feat(ChipView): Improve types 2026-03-19 11:11:00 -03:00
Ian Brown
2a33fbc85f feat(Parser): Add ThumbnailOverlayTitleView and PageIndicatorView classes (#1120)
Add two missing parser classes that were being JIT-generated at runtime:

- ThumbnailOverlayTitleView: Displays title/subtitle overlays on thumbnails
- PageIndicatorView: Tracks pagination state in carousels (indicator count and selected index)

These are encountered when parsing Mix/Playlist responses.
2026-03-16 16:44:35 -03:00
Dave Nicolson
5c7b1ba25d fix(FlexibleActionsView): Update ActionRow actions type (#1129) 2026-03-16 13:17:22 -03:00
Luan
8130f808d9 fix(parser): Resolve some old parser issues (#1154)
Should reduce parser warning spam quite a bit.

Closes #653
Closes #781
Closes #1121 (minus unrelated pot issue)
Closes #978
Closes #1053
Closes #695
Closes #1098
2026-03-16 13:14:09 -03:00
Luan
da1fac2d29 feat(parser): Add VideoSummaryContentView and VideoSummaryParagraphView (#1153)
* feat(parser): Add `VideoSummaryContentView` and `VideoSummaryParagraphView`

* fix(ExpandableMetadata): Update `expanded_content` type
2026-03-16 11:22:00 -03:00
LuanRT
543b94c3e4 fix(ChannelSubMenu): Handle potential undefined values 2026-03-16 10:11:02 -03:00
LuanRT
19b33ea36e fix(ContentMetadataView): metadataRows can be undefined 2026-03-16 10:10:36 -03:00
PikachuEXE
5da9dd37a7 fix(Parser): Fix ChannelSubMenu parsing (#1144) 2026-03-15 23:41:55 +01:00
Luan
769721c193 feat(Format): Add support for Voice Boost & Super Resolution formats (#1092) 2025-11-15 19:42:31 -03:00
Luan
7eb062bf49 chore: fix linter 2025-10-12 13:15:56 -03:00
Dave Nicolson
f738a173fc feat(parser): Add FormPopup.ts parser class (#1057)
* Update src/parser/classes/FormPopup.ts

---------

Co-authored-by: absidue <48293849+absidue@users.noreply.github.com>
2025-10-12 10:30:24 -03:00
Dave Nicolson
3d6ed1def9 feat(parser): Add Form.ts parser class (#1056)
* feat(parser): Add Form.ts parser class

Co-authored-by: absidue <48293849+absidue@users.noreply.github.com>
2025-10-12 10:27:01 -03:00
Andrew S
977b13cc23 refactor: Use async/await for the javascript evaluator (#1047)
Allows for `Platform.shim.eval` to be asynchronous for custom evaluators. EG: using an online service to evaluate the javascript code in contexts where code interpreters are prohibited.
2025-10-09 14:19:17 -03:00
absidue
68a6af9b2c feat(parser): Add ListView, ListItemView and SubscribeButtonView (#1025) 2025-09-11 15:51:57 -03:00
absidue
8be677adec fix(types): Parser.parseArray always returns an ObservedArray (#1014) 2025-09-11 15:43:58 -03:00
absidue
aa7cf561a7 feat(parser): Parse badges in ContentMetadataView (#1017) 2025-09-11 15:43:37 -03:00
absidue
bac896501b fix(parser): LockupMetadataView.image can also be an AvatarStackView (#1026) 2025-09-11 15:43:05 -03:00
Luan
0091f51dd2 feat(Parser): Add HypePointsFactoid node 2025-07-18 12:02:26 -03:00
Dave Nicolson
42bcf197bc feat(Parser): Add ToggleFormField node (#902)
* Add ToggleFormField node

* chore: clean up & lint

---------

Co-authored-by: Luan <luan.lrt4@gmail.com>
2025-07-18 10:40:22 -03:00
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
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
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
f8690118c3 feat(MultiPageMenuNotificationSection): Add notification_section_title 2025-04-11 17:10:55 -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
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
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