Commit Graph

44 Commits

Author SHA1 Message Date
34e00e2492 fix: handle collaboratively authored videos in playlists and videos
endpoint
currently, the videos endpoint returns the video uploader name,
and not "author1, author2, author3" as is the case for videoRenderer
and playlistVideoRenderer - this might change in the future in order for
the endpoints to return the same data
2025-09-28 05:02:51 +02:00
f63c620541 fix: avatars for artist channels
ensures that we get the renderers, rather than expecting them to always
be the first or second element of primary_results (which is not the case
if the video has for example the "Nearest event" ticketShelfRenderer)
2025-09-27 23:52:50 +02:00
e6d32091e1 fix: don't check for plid length
playlist ids can be of many lengths (at least 18, 34 and 36) and there
doesn't seem to be a rule for how many characters encode a typical
(non-mix, video-related) playlist. such validation requires more
research.
2025-09-27 20:41:07 +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
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
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
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
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
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
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
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
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
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
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
8fa05486f1 print errors, provide an additional audio-only formatStream 2025-01-18 01:45:43 +01:00
71a24a4870 check if the format with best bitrate is a video 2025-01-08 14:58:04 +01:00
2837cdf612 make FreeTube work (by using video only streams), fix livestream dates 2024-12-29 04:59:46 +01:00
ee31114e51 add owner badges for related videos, use short text for text view count 2024-12-28 06:33:39 +01:00
dd102cb6ae introduce related videos, small fixes to invidious translation layer 2024-12-28 04:53:37 +01:00
3212627d89 introduce a bare-bones invidious API translation layer
also rewritten ythdd_api.py a tiny bit
2024-12-26 20:38:33 +01:00