Commit Graph

25 Commits

Author SHA1 Message Date
6a68f06645 Release v0.4.0 - HD Thumbnails, YouTube 2024+ Support, and yt-dlp Integration
Some checks failed
CI / test (push) Failing after 1m19s
Major Features:
- HD video thumbnails (hq720.jpg) with automatic fallback to lower qualities
- HD channel avatars (240x240 instead of 88x88)
- YouTube 2024+ lockupViewModel support for channel playlists
- youtubei/v1/browse API integration for channel playlist tabs
- yt-dlp integration for multi-language audio and subtitles

Bug Fixes:
- Fixed undefined `abort` import in playlist.py
- Fixed undefined functions in proto.py (encode_varint, bytes_to_hex, succinct_encode)
- Fixed missing `traceback` import in proto_debug.py
- Fixed blurry playlist thumbnails using default.jpg instead of HD versions
- Fixed channel playlists page using deprecated pbj=1 format

Improvements:
- Automatic thumbnail fallback system (hq720 → sddefault → hqdefault → mqdefault → default)
- JavaScript thumbnail_fallback() handler for 404 errors
- Better thumbnail quality across all pages (watch, channel, playlist, subscriptions)
- Consistent HD avatar display for all channel items
- Settings system automatically adds new settings without breaking user config

Files Modified:
- youtube/watch.py - HD thumbnails for related videos and playlist items
- youtube/channel.py - HD thumbnails for channel playlists, youtubei API integration
- youtube/playlist.py - HD thumbnails, fixed abort import
- youtube/util.py - HD thumbnail URLs, avatar HD upgrade, prefix_url improvements
- youtube/comments.py - HD video thumbnail
- youtube/subscriptions.py - HD thumbnails, fixed abort import
- youtube/yt_data_extract/common.py - lockupViewModel support, extract_lockup_view_model_info()
- youtube/yt_data_extract/everything_else.py - HD playlist thumbnails
- youtube/proto.py - Fixed undefined function references
- youtube/proto_debug.py - Added traceback import
- youtube/static/js/common.js - thumbnail_fallback() handler
- youtube/templates/*.html - Added onerror handlers for thumbnail fallback
- youtube/version.py - Bump to v0.4.0

Technical Details:
- All thumbnail URLs now use hq720.jpg (1280x720) when available
- Fallback handled client-side via JavaScript onerror handler
- Server-side avatar upgrade via regex in util.prefix_url()
- lockupViewModel parser extracts contentType, metadata, and first_video_id
- Channel playlist tabs now use youtubei/v1/browse instead of deprecated pbj=1
- Settings version system ensures backward compatibility
2026-03-22 20:50:03 -05:00
Jesús
fef9c778ed check variable author_description 2022-01-31 22:36:54 -05:00
Jesús
6188ba81a0 Fix author in playlist 2022-01-31 22:12:55 -05:00
Jesús
3b57335e4c [Design]: fix author_description 2022-01-17 23:37:45 -05:00
Jesús
5a09d53053 [Frontend]: fix macro 2021-08-14 13:50:40 -05:00
Jesús
d899bc2df5 General theme: improve thumbnail-img 2021-01-07 23:06:25 -05:00
Jesús
3e817298bb General theme: fix HTML syntax 2021-01-01 14:52:24 -05:00
Jesús
5a6e247a7f General theme: fix style paginator 2021-01-01 14:48:42 -05:00
James Taylor
43679efff5 channel: replace page #s w/ next page button using provided ctoken
Since yt doesn't accept page #'s when sorting by oldest

Signed-off-by: Jesús <heckyel@hyperbola.info>
2020-12-18 23:25:45 -05:00
James Taylor
cf7aa41893 channel: include first and last pages when sorting by new
Last page as a substitute for sorting by oldest since sorting by
oldest doesn't allow arbitrary page numbers

Signed-off-by: Jesús <heckyel@hyperbola.info>
2020-12-18 23:00:33 -05:00
Jesús
7a765dc664 Change general design theme 2020-12-14 23:44:29 -05:00
James Taylor
5554d5afff Add playlist sidebar for videos in playlist, including autoplay 2020-04-04 22:52:09 -07:00
James Taylor
f7a5f7fbaa items: commatize channel video count and playlist video count 2019-12-24 13:18:46 -08:00
James Taylor
777ed756dc Channel: Change search results to use next and previous page buttons
Because youtube doesn't give the number of search results, so previous behavior would give an error if a page number out of range was selected.
2019-12-23 14:39:59 -08:00
James Taylor
02848a1a32 Extraction: Adjust related videos box to fit new time_published information well
time_published will be put to the right of the view_count in related videos
Author will now always be above the other stats, since it doesn't make a difference in the big search result boxes since the description snippet is always very short
(However, it's important the author isn't inline with the other stats in related video boxes since those are so narrow and the author name can be very long)
2019-12-19 15:46:16 -08:00
James Taylor
98777ee825 Extraction: Rewrite item_extraction for better error handling and readability, rename extracted names for more consistency 2019-12-18 19:39:16 -08:00
James Taylor
ee0a118a6c Extraction: Fix thumbnail and remove badges on related videos 2019-12-17 21:52:31 -08:00
James Taylor
69e64f726e Layout: Prevent long author name from overflowing in items with vertical stats 2019-08-24 18:25:37 -07:00
James Taylor
9f67a970c6 Layout: Make item titles non-clickable in empty space after wrapped text 2019-08-24 18:19:22 -07:00
James Taylor
85572c94de Layout: refactor item system to be more maintainable, add vertical item type 2019-08-23 14:48:00 -07:00
James Taylor
eb89c7426d Add 'subscribers' and 'videos' after corresponding numbers in channel item in search results 2019-07-24 00:02:04 -07:00
James Taylor
728b2b73d4 common_elements.html: Accept missing channel description as blank 2019-07-07 17:32:11 -07:00
James Taylor
64434b02ca Convert channel page to flask framework 2019-07-06 19:11:15 -07:00
James Taylor
315039bebd common_elements.html: accept missing description as blank 2019-07-04 18:20:51 -07:00
James Taylor
1156b09987 Refactor search page 2019-06-21 21:41:41 -07:00