LuanRT
13ebf0a039
feat(Session): allow setting a custom visitor data token ( #371 )
...
* feat(Session): allow setting a custom visitor data token
* docs: update init options
* chore: lint
2023-03-24 01:30:24 -03:00
LuanRT
7ca0607004
refactor(ytmusic): rename SearchFilters interface to MusicSearchFilters
...
This allows us to expose the types from the InnerTube class as there is another interface there named `SearchFilters`
2023-03-15 19:24:17 -03:00
Daniel Wykerd
b13bf6e992
refactor(Parser)!: general refactoring of parsers ( #344 )
...
* refactor: move common info into MediaInfo
* refactor: better inference on Memo
* refactor: improved typesafety in parser methods
* refactor: remove PlaylistAuthor in favor of Author
* refactor: cleanup live chat parsers
- Replace non standard author type with Author class
- Remove redundant code
* fix: new errors due to changes
* fix: pass actions to FormatUtils#toDash
* refactor!: merge NavigatableText and Text into single class
2023-03-15 18:25:12 -03:00
LuanRT
f9754f5ac6
fix(ytmusic): use static visitor id to avoid empty API responses
...
Fixes #279
2023-03-09 01:21:13 -03:00
LuanRT
cf8a33c79f
fix(ytmusic): export search filters type
2023-03-07 03:02:44 -03:00
Daniel Wykerd
ce53ac1843
feat(parser): SharedPost ( #332 )
...
Add support for SharedPost in community tab.
Related to issue #331
2023-03-03 03:41:04 -03:00
LuanRT
58a6c84121
style: lint and format
2023-02-16 23:10:23 -03:00
LuanRT
6e30309f56
style: clean up and fix minor inconsistencies
2023-02-13 19:42:49 -03:00
LuanRT
eb72c2f6ef
refactor(parser): improve typings and do some refactoring ( #305 )
...
* dev: add response types
* dev: refactor `Parser#parseResponse()`
* dev: update YouTube parsers
* dev: update YouTube Music classes
* dev: update YouTube Kids classes
* dev: update core classes
* dev(Parser): fix some inconsistencies
* chore: update docs
* chore: update docs x2
* fix: export response types
* chore(docs): update parser example
2023-02-12 07:04:17 -03:00
Daniel Wykerd
2ccbe2ce62
refactor!: cleanup platform support ( #306 )
...
* refactor!: cleanup platform support
* chore: lint
* fix: web platform
* feat: provide UniversalCache
Provide UniversalCache as a wrapper around Platform.shim.Cache.
* fix: invalid import
* refactor: remove isolated-vm support
* fix: type info
* refactor: cleanup exports
* fix: mark jintr as external dependency
In the bundled CJS node build, mark jintr as external.
* chore: add additional exports
web exports provide a way to select web implementation manually without
relying on the bundler to select it correctly from the "exports" field
web points to src/platform/web.js
web.bundle points to bundle/browser.js
web.bundle.browser points to bundle/browser.min.js
agnostic exports provide users of the library to provide their own
platform implementation without first importing the default one.
agnostic points to src/platform/lib.ts
* fix: toDash on web
* revert: eval is synchronous
* fix: use serializeDOM in FormatUtils
* ci: automate releases with `release-please`
* chore: clean up workflow files
* ci: fix NPM publish action
---------
Co-authored-by: LuanRT <luan.lrt4@gmail.com >
2023-02-12 04:21:44 -03:00
absidue
ceefbed98c
feat: allow checking whether a channel has optional tabs ( #296 )
2023-01-29 14:37:09 -03:00
LuanRT
315d89f84a
refactor(Player): remove unneeded parameters
2023-01-29 02:26:18 -03:00
LuanRT
0fc29f0bbf
feat(ytkids): add getChannel() ( #292 )
2023-01-23 05:38:53 -03:00
LuanRT
2bbefefbb7
feat: add support for YouTube Kids ( #291 )
...
* dev: add `WEB_KIDS` innertube client
* refactor: move DASH manifest stuff out of `VideoInfo`
This makes it easier to use these functions elsewhere.
* feat(ytkids): add `Kids#getInfo()` & `Kids#search()`
* feat: add `Innertube#kids.getHomeFeed()`
* docs: add YouTube Kids API ref
* docs: fix typo
* docs: fix yet another typo
* docs: update YouTube Music API ref
Unrelated but required to reflect changes made to the DASH manifest generation functions
* chore: lint
* chore: add tests
* feat: include `captions` in `VideoInfo`
* chore: fix tests
2023-01-23 03:39:51 -03:00
LuanRT
00fa514b03
feat: add support for generating sessions locally ( #277 )
...
* feat: add visitor data proto
* feat: add support for generating session data locally
* chore: add test
2023-01-06 03:06:49 -03:00
LuanRT
a27807b6c1
feat: allow enabling safety mode ( #269 )
...
Unrelated: this also simplifies the creation of sessions without a player instance.
2023-01-01 19:55:08 -03:00
LuanRT
9ac5043309
chore: clean up & remove unneeded code ( #265 )
2022-12-31 05:49:41 -03:00
LuanRT
6f3deaf16a
fix: use WEB client in setNotificationPreferences
2022-12-19 18:51:20 -03:00
LuanRT
cac762569a
feat(Session): allow overriding geolocation ( #260 )
...
* Allow overriding geolocation
* Fix some inconsistencies (unrelated)
2022-12-19 03:55:38 -03:00
LuanRT
9978ebf085
refactor(Parser): reduce reliance on localised strings ( #258 )
2022-12-17 00:54:08 -03:00
LuanRT
be157ef016
fix: signature decipher extraction failing ( #249 )
2022-11-30 18:39:37 -03:00
LuanRT
fe4c5433cf
feat: make Player instance optional ( #240 )
2022-11-16 03:17:59 -03:00
LuanRT
0e5e0c0fab
feat(Channel): add support for filters ( #237 )
...
* feat: add support for filters
Also add `channel#getShorts()` and `channel#getLiveStreams()`
* docs: update API ref
* chore: add tests
2022-11-14 19:08:16 -03:00
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