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.
* feat(Innertube): Add `getAttestationChallenge`
YouTube has recently started using this InnerTube endpoint to fetch challenges for WebPo generation.
* chore: lint
* 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
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
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
Update `LiveChatViewerEngagementMessage` to extend `YTNode` rather than
`LiveChatMessageBase` to better align with the latest data provided by
Innertube.
* fix(sendMessage): Handle `RunAttestationCommand` in response actions
Handle the case when `RunAttestationCommand` is included in the
`sendMessage()` response actions.
* style: trim trailing whitespace
The `LiveChatTickerPaidStickerItem` class has been updated to extend
`YTNode` instead of `LiveChatTickerPaidMessageItem` to better align with
the latest data provided by InnerTube
* feat(LiveChatPaidMessage): Parse `headerOverlayImage` and `lowerBumper`
When a viewer donates for the 1st, 3rd, 5th, 10th, or 20th time,
there will be a special type of `LiveChatPaidMessage` that includes an
animated image in the header, followed by a bumper text message.
* chore: npm run build:parser-map