b98aa718b0
fix: fix shorts-only playlists by using on-demand ctoken generator
...
this will allow for retrieving playlist videos as playlistVideoRenderer
which we already have a parser for. another benefit is being able to
list videos in a playlist which have been deleted/made private.
also fixes livestream parsing
2025-09-26 22:49:16 +02:00
30850a7ce0
feat: protobuf ctoken generation
...
this commit introduces on-demand ctoken generation with a wrapper
for more concise, protodec-like syntax (see producePlaylistContinuation)
2025-09-26 22:40:29 +02:00
1c9174c888
feat: playlist browsing
...
pagination still needs refinement for some of the clients.
on another note, this is an anniversary commit, as ythdd turns 1 year
today.
2025-09-25 23:30:59 +02:00
6d0c70696b
docs: reorganize and update TODOs
2025-09-25 06:50:10 +02:00
509e81aafa
feat: add a temporary proxy for no_thumbnail
...
ideally, this would be served from a local resource instead of proxying
2025-09-25 06:36:23 +02:00
caa9e0c2b1
feat: list traversal improvements with safeTraverse()
...
translateLinks() also now strips any params (if present) by default
2025-09-25 06:34:13 +02:00
873abbd413
chore: update version strings
2025-09-25 06:30:53 +02:00
bedcaff7c0
fix: skip playlists in related video feed
...
they aren't returned by the invidious api in the first place
2025-09-23 20:10:19 +02:00
5dcf8c81e0
fix: strip playlist thumbnails off of unnecessary tracking params
2025-09-23 04:20:15 +02:00
60712f3b5d
fix: provide "latest" endpoint for channels
2025-09-23 04:19:42 +02:00
c20d4c34aa
feat: check for playback errors and return them in invidious api fashion
2025-09-22 10:50:33 +02:00
be697bb572
chore: update version strings
2025-09-21 21:16:05 +02:00
3e84cf3443
fix: check video id for validity before passing to yt-dlp and extractor
2025-09-19 04:55:34 +02:00
4a3937a923
feat: livestream browsing
...
adds the ability to browse channel's livestreams, just like with
shorts, videos and playlists
2025-09-18 08:09:33 +02:00
c3fae689e1
feat: show current viewer count for live streams in search results
...
and related videos feed
previously it would fall back to 0
2025-09-17 01:55:35 +02:00
4cfb1db7d0
fix: handle url rewrite when querying wrong endpoint
...
materialious is guilty of this
2025-09-17 01:52:45 +02:00
5a1e772909
feat: add support for video livestreams
2025-09-17 00:13:20 +02:00
7c4991cea7
fix: fix for infinite recursion/deadlock for specific channels
...
this applies mainly for meta channels like UC4R8DWoMoI7CAwX8_LjQHig,
which ythdd can't parse and thus doesn't support
2025-09-16 23:36:53 +02:00
5f88d6f096
docs: update todos and error message when comment extraction fails
2025-09-16 23:35:07 +02:00
eaaa14c4d8
feat: treat verified artists as verified users
2025-09-16 23:28:46 +02:00
ef177f7200
feat: video comments endpoint
2025-09-14 07:02:22 +02:00
d0d2298186
fix: rely on hardcoded default user avatar for failed requests
2025-09-14 04:01:19 +02:00
7086177a58
fix: make safeTraverse handle IndexErrors
2025-09-14 01:06:40 +02:00
dc8009db23
chore: update innertube client strings
2025-09-13 04:05:25 +02:00
e562d1ee14
hotfix: rename a variable used for extraction of recommended feed
...
also minor nitpicky comment corrections
2025-09-12 04:05:56 +02:00
96c1b5396e
feat: channel browsing and code overhaul
...
a lot of code responsible for parsing data into invidious-compatible
structures has been moved to the ythdd_struct_parser file
2025-09-12 03:48:57 +02:00
256d21bbcd
fix: fixes to context creation, avatar url generation
...
also implemented basic badge extraction and continuation for channels
2025-09-12 00:15:06 +02:00
2a9826eb03
refactor: support search caching
...
remains to be seen whether this is a good idea or not
2025-09-07 05:30:16 +02:00
37e932956d
feat: search suggestions
2025-09-07 05:05:11 +02:00
15d2de5228
chore: change the hostname in default config to match the one assumed
...
(if not explicitly passed to the script, e.g. when running with flask)
2025-09-05 18:51:09 +02:00
3cf203ee27
fix: reintroduced fix for live or upcoming videos in related feed
2025-09-05 18:19:18 +02:00
a814797363
feat: basic support for search queries
...
currently returns videos and playlists - the latter don't yet have
an API endpoint
2025-09-05 06:23:45 +02:00
89f8f2a786
fix: yattee's mpv-specific resolution workaround
...
for some reason Yattee's mpv backend won't play videos which are using
an "unusual" aspect ratio (at least ones which are not 360p)
2025-09-05 05:17:13 +02:00
5e655ddd2c
chore: update version strings in headers and context json
2025-09-04 21:45:18 +02:00
3e7589aea6
fix: revert previous commit, convert to unix epoch at the end
2025-08-05 23:45:11 +02:00
cd34b2e406
fix: premiere timestamp should be unix epoch, not iso time
...
fixes past live stream playback on clipious
2025-07-24 20:40:59 +02:00
3a0a89f737
fix: fixes server error when recommended videos are "LIVE" or "Upcoming"
2025-07-08 14:51:04 +02:00
55a116e042
hotfix: make it 3 hours, not 3 minutes
2025-07-07 11:42:22 +02:00
51b94842e3
fix: workaround long load times with naive in-memory caching
2025-07-07 11:34:57 +02:00
3253447c72
fix: support new lockupViewModel for recommended videos
2025-07-02 23:17:16 +02:00
32c563a45a
fix: ensure clen is a string
...
fixes clipious playback
2025-06-29 14:28:43 +02:00
3ea3558990
fix: retrieve itag 18 even if it's in https protocol
2025-06-28 20:52:38 +02:00
6cdae051b5
fix: make clipious and freetube work by adding some made-up metadata
...
for the most part ok, but there are some (music) videos which won't work
2025-06-28 05:56:05 +02:00
4e066e4b23
fix: rebuild formats from yt-dlp data
...
makes yattee and freetube work
2025-06-27 23:02:57 +02:00
837567f8c8
hotfix: add colors to ythdd_api debug trace
2025-06-20 23:29:56 +02:00
99e914557a
fix: backport fixes from a sister project
2025-06-20 23:23:00 +02:00
06679ee165
hotfix: rely (more) on yt-dlp for extraction (part 1/2)
...
adaptiveFormats and hlsUrl need to be fixed (or maybe replaced by DASH?)
2025-02-28 01:02:05 +01:00
dbc90d3f74
update extractor headers, add support for checking badges and avatars
2025-02-28 00:57:40 +01:00
d1b9f90e7e
add support for GUC proxy, move safeTraverse to ythdd_globals
2025-02-28 00:56:13 +01:00
019e47edd9
revert addition of second audio-only formatStream, which breaks Clipious
2025-01-18 03:47:36 +01:00