LuanRT
5ea0a0ebf8
feat: add support for switching accounts (cookie based auth only) ( #236 )
...
* feat: add support for switching accounts
* style: lint
2022-11-12 16:26:02 -03:00
LuanRT
0130229236
fix(Actions): do not send undefined payloads
2022-11-12 15:38:29 -03:00
LuanRT
da517fe6d1
refactor: improve home feed parsing ( #234 )
...
* chore: update tests
* style: format code
* docs: update API ref
2022-11-12 01:31:11 -03:00
LuanRT
aa334aacbd
refactor: clean up, fix & remove outdated code ( #228 )
...
* dev: refactor and remove redundant code
* docs(music): update `Library` API ref
* docs: update examples
* chore: update lock file
2022-11-06 03:32:16 -03:00
LuanRT
1eda93ee08
fix(session): visitorData and originalUrl
2022-10-21 14:42:34 -03:00
LuanRT
fe0ac0a961
chore(studio): fix a small typo
2022-10-19 17:11:50 -03:00
LuanRT
2a78d77aa3
refactor: get visitor data from the API [skip ci]
2022-10-13 16:39:56 -03:00
LuanRT
477c030084
feat(studio): add support for updating video metadata ( #219 )
...
* dev: update proto
* dev: add `Studio#updateVideoMetadata`
* feat: add `category` option
* chore(studio): update API ref
2022-10-12 16:08:53 -03:00
Akazawa Daisuke
2f56c15ecc
feat(LiveChat): add support for moderation & more ( #202 )
...
* Live Chat - Implement moderation
* Live Chat - Implement class ItemMenu
* fix moderation method
Co-authored-by: LuanRT <luan.lrt4@gmail.com >
2022-10-02 02:00:24 -03:00
LuanRT
affbe84284
fix: include thirdParty prop for requests using TV_EMBEDDED ( #198 )
...
* dev: update `Context` interface
* dev: include `thirdParty` prop in requests using `TV_EMBEDDED`
2022-09-18 16:58:51 -03:00
LuanRT
2e5688f235
feat: add TVHTML5_SIMPLY_EMBEDDED_PLAYER client ( #193 )
...
* feat: add `TV_EMBEDDED` client
See #191 , this should help bypassing some age restricted videos.
* dev(VideoInfo): update format options interface
* dev: set `clientScreen` to `EMBED`
* dev: update API ref
* dev: update `Context` interface
2022-09-17 19:15:20 -03:00
LuanRT
2de77c8f2c
fix: make cookie auth possible again
...
See #105
2022-09-14 14:52:10 -03:00
LuanRT
2aaa209906
chore(docs): fix typo [skip ci]
2022-09-13 03:03:22 -03:00
LuanRT
f2f48af1bc
feat(Music): add automix support and other minor improvements ( #184 )
...
* dev(NavigationEndpoint): add `/player` endpoint
* dev: add AudioOnlyPlayability, BrowserMediaSession and MusicDownloadStateBadge
* dev: allow endpoints to be overridden
* dev: minor parser changes
* dev(TrackInfo): add `<info>#getTab(title?)`
* dev: allow `Music#getInfo()` to accept list items
* dev: revert a few changes, I probably overcomplicated this.
* dev: add tests
* dev: add `TrackInfo#getUpNext()`, `TrackInfo#getRelated()` and `TrackInfo#getLyrics()`
* docs: update API ref
* fix(docs): formatting inconsistencies
2022-09-13 02:26:13 -03:00
LuanRT
3a7da21fd1
fix: improve sig extraction ( #183 )
...
* dev: improve sig decipher code extraction
* chore(deps): update Jinter to 0.2.0
2022-09-13 01:36:27 -03:00
Patrick Kan
60730a5531
fix: Music#getArtist() and DropdownItem ( #170 )
...
* fix: `Music#getArtist()` fails for private artist
* fix: `DropdownItem` inconsistent prop naming
2022-09-06 14:29:29 -03:00
LuanRT
e3d483ed75
chore(docs): update examples
2022-09-06 03:37:14 -03:00
LuanRT
28a651ea3a
feat: add <info>#addToWatchHistory() ( #169 )
...
* dev: add `Actions#stats()`
* dev(parser): parse playback tracking urls
* dev: fix a small bug (unrelated)
* feat: add `<info>#addToWatchHistory()`
* docs: update API ref
2022-09-06 02:40:22 -03:00
LuanRT
85fc468cc9
feat: add music#getRecap() ( #165 )
...
* dev: add recap renderer parsers
* dev: finish implementation ✨
* docs: update YouTube Music API ref
2022-09-05 18:08:34 -03:00
LuanRT
ecac5f4d7e
feat: add ANDROID_MUSIC client
2022-09-05 03:17:07 -03:00
Patrick Kan
e498815795
fix: Music#getAlbum()fails for private album ID ( #162 )
2022-09-03 14:09:29 -03:00
LuanRT
1da8043c18
chore: lint
2022-09-03 01:05:30 -03:00
LuanRT
4f015536ac
fix: ytmusic formats returning 401 when deciphered ( #161 )
...
* fix: sending incomplete video info payload
* fix: check if microformat is `MicroformatData` before parsing
2022-09-03 00:43:17 -03:00
LuanRT
317bca261c
feat(download): bring back WEB client ( #156 )
...
* refactor: remove dead code and integrate with Jinter
* chore: tidy up
2022-08-29 04:48:33 -03:00
LuanRT
13a86cb4e7
feat: add settings page parser ( #154 )
...
* feat: add settings page parsers
* fix(AccountManager): small ts error
* feat: add `CopyLink` & `SettingsCheckbox`
* deps: remove “flat” dependency
2022-08-28 05:11:11 -03:00
Patrick Kan
6fe4d235ff
feat: add MusicSortFilterButton ( #151 )
2022-08-25 02:06:52 -03:00
LuanRT
f4ce4d2f74
feat: add account info parsers
2022-08-25 01:43:05 -03:00
LuanRT
541cdc455f
feat: add parsers for TimeWatched
2022-08-24 06:13:19 -03:00
Patrick Kan
f3d77b3e97
Add end_icons to MusicCarouselShelfBasicHeader and fix music#getPlaylist() ( #149 )
...
* ft: add end_icons to MusicCarouselShelfBasicHeader
* fix: `music#getPlaylist()` breaking playlist_id
2022-08-22 16:46:52 -03:00
Patrick Kan
f6a2a418be
feat(ytmusic): implement music#Library ( #136 )
...
* feat: add ItemSectionTab and related parsers
* feat: add `continuation` to `Grid`parser class
* feat (ytmusic): implement music#getLibrary()
* Improve album fetch in `MusicResponsiveListItem`
* music#Library: return [] for empty results
* feat: add `Dropdown` & `DropdownItem` parsers
* feat: add `CreatePlaylistDialog` parser
* feat: add `create_playlist` to NavigationEndpoint
* feat: add `AutomixPreviewVideo` parser
* feat: improve parsing of items
* fix: `PlaylistPanel` continuation
* feat: more args in `Actions#next`
* feat: add `PlaylistPanelContinuation` to `Parser`
* chore: update parser-map
* music#Library: refactor + add shuffle songs opt
* feat: add `endpoint` to `DropdownItem`
* feat: add `end_items` to `ItemSectionTabbedHeader`
* feat(ytmusic): add `sort_by` to `music#Library`
2022-08-13 17:39:35 -03:00
LuanRT
c10cce1e2a
chore: include androidSdkVersion param in Android requests
2022-08-12 00:30:14 -03:00
LuanRT
9a914e29ba
Merge branch 'main' of https://github.com/LuanRT/YouTube.js
2022-08-11 20:37:01 -03:00
LuanRT
34022fddfb
hotfix: use Android client when requesting initial video info
2022-08-11 20:35:30 -03:00
patrickkfkan
9b4d86b81f
feat(ytmusic): add music#getPlaylist() ( #131 )
...
* add music#getPlaylist()
* fix: lint errors
2022-08-10 14:11:31 -03:00
LuanRT
40fc24b043
refactor!: fix inconsistent use of SuperParsedResult
2022-08-07 06:15:55 -03:00
LuanRT
d5f34982f4
feat(ytmusic): add music#getInfo()
...
Already functional but still WIP.
2022-08-04 16:49:20 -03:00
LuanRT
af6856ced4
chore: tidy things up
...
Move a few things here and there. Organization makes life easier.
2022-08-03 03:34:59 -03:00
LuanRT
2599e734b8
fix(ytmusic): music#getRelated() now works again
...
Like nearly all YouTube Music methods, this one was also broken due to a recent refactor on the parser.
2022-08-01 03:06:30 -03:00
LuanRT
61f8b2a9a0
chore: remove unneeded checks
2022-07-30 05:48:46 -03:00
LuanRT
cdbdfec057
chore: lint
2022-07-30 05:40:43 -03:00
LuanRT
4d332402db
fix(ytmusic): fix music#getLyrics() & music#getUpNext()
...
These were broken due to recent changes in the parser — both should be fixed now. Note that `music#getRelated()` is still broken.
2022-07-30 05:37:23 -03:00
LuanRT
adae925367
refactor!: rewrite Analytics to TypeScript ( #122 )
...
* refactor: migrate all analytics’ classes to TypeScript
Also, add AnalyticsShortsCarouselCard and AnalyticsRoot.
2022-07-29 05:39:34 -03:00
LuanRT
c16d632b31
fix: race condition causing “update-credentials” to fire multiple times
2022-07-28 05:11:10 -03:00
Daniel Wykerd
9ef765dbc1
feat: allow users to cache OAuth credentials ( #121 )
...
Use `UniversalCache` instance to cache user credentials
Opt-in via `OAuth#cacheCredentials()`
* chore: lint
2022-07-28 00:04:07 -03:00
Daniel Wykerd
dbfcb36fd7
fix: TabbedFeed#getTab to parse response. ( #120 )
...
* fix: TabbedFeed#getTab to parse response.
* fix: Channel parser and example
* refactor: migrate youtube Search to TS
* chore: lint
2022-07-26 17:29:30 -03:00
Daniel Wykerd
a83518d021
refactor: allow uploads of streams ( #117 )
...
This allows uploading from a ReadableStream or File instead of reading
the whole file into memory first.
2022-07-25 15:51:42 -03:00
LuanRT
95079ced09
feat: add support for uploading videos ( #115 )
...
* chore: add video upload url
* feat!: add support for uploading videos
This is probably complete but I will do a self-review later today.
* style: align comments
* style: lint code
* chore: tidy things up
2022-07-25 04:45:55 -03:00
Daniel Wykerd
616b1405c3
refactor: generate typescript protobuf encoders ( #114 )
...
This also removes dependency `buffer` for browsers.
Co-authored-by: LuanRT <luan.lrt4@gmail.com >
2022-07-23 15:16:07 -03:00
Daniel Wykerd
ef6ec59402
feat: smaller user-agent list ( #112 ) ( #113 )
2022-07-23 15:05:53 -03:00
LuanRT
a2103963b4
feat: add Studio#setThumbnail() method ( #111 )
...
* feat: add support for protobuf payloads to `Actions#execute()`
* chore: compile proto definitions file
* feat(wip): add `Studio` class and implement `Studio#setThumbnail()` method
* fix: check if parameters are missing
2022-07-23 02:45:47 -03:00