Commit Graph

45 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
84e1acaab8 yt-dlp 2026-03-22 14:17:23 -05:00
Jesús
a19da4050c Fix self closing tag w3c issues 2022-10-05 10:29:23 +08:00
zrose584
0f58f1d114 also autofocus search for /results or on error
Signed-off-by: Jesús <heckyel@hyperbola.info>
2022-01-29 10:57:31 -05:00
Jesús
90b080b7bb [FrontEnd]: fix placeholder in play-box 2021-12-31 18:19:07 -05:00
Jesús
b21b2a6009 fix: falied load resource: net:: ERR_FILE_NOT_FOUND 2021-12-27 13:23:18 -05:00
Jesús
dd498e63d9 [Design]: short Clear text 2021-12-03 19:36:08 -05:00
Jesús
4a45a699ae fix "Security Error: Content, may not load data from blob" 2021-08-30 00:24:41 -05:00
Jesús
ee581c56a3 fix missing data variable 2021-08-29 21:44:08 -05:00
James Taylor
c9a75042d2 Add support for more qualities, merging video+audio using MSE
Signed-off-by: Jesús <heckyel@hyperbola.info>
2021-08-29 18:48:56 -05:00
Jesús
e4af99fd17 Revert "Add support for more qualities, merging video+audio using MSE"
This reverts commit d56df02e7b.
2021-08-29 18:48:01 -05:00
James Taylor
d56df02e7b Add support for more qualities, merging video+audio using MSE
Signed-off-by: Jesús <heckyel@hyperbola.info>
2021-08-29 18:44:26 -05:00
Jesús
0c106bb111 [frontend]: fix current version 2021-08-27 12:54:31 -05:00
Jesús
59f32b31d9 [frontend]: improve current version 2021-08-27 12:06:41 -05:00
Jesús
49d823e135 Fix request search when is empty 2021-07-04 12:08:21 -05:00
James Taylor
acfa31ff59 Change search url path to match the YouTube path
Fixes #67

Signed-off-by: Jesús <heckyel@hyperbola.info>
2021-07-01 21:04:33 -05:00
Jesús
4a9c1422e7 w3c syntax, unnecessary role=button 2021-06-29 19:11:10 -05:00
Jesús
fc8a23099d Fix shared.css file style missing 2021-06-14 18:39:03 -05:00
Jesús
31901905e3 Fix name app 2021-06-10 16:48:22 -05:00
Jesús
7fd2c3474f Capitalize name app 2021-06-10 16:41:45 -05:00
Jesús
f26c9be85e Fix URL 2021-02-25 14:27:46 -05:00
Jesús
875e1ef986 Change URL repo 2021-02-25 13:08:25 -05:00
Jesús
78abaf7aba General theme: fix support 'Content-Security-Policy' with librejs in UXP 2021-01-09 11:15:41 -05:00
Jesús
0f78e73e80 General theme: add license and add URL source code in footer 2020-12-29 15:36:23 -05:00
Jesús
a7c1f2a34e Add get_app_version and version 2020-12-17 15:31:11 -05:00
Jesús
d66c8661cb Fix missing lang 2020-12-15 20:58:01 -05:00
Jesús
e9215534d3 Migration general theme: fix missing message-box style 2020-12-15 11:24:13 -05:00
Jesús
7a765dc664 Change general design theme 2020-12-14 23:44:29 -05:00
James Taylor
125ddaa8da Add setting to change font. Change default to arial
Closes #33
2020-10-20 15:38:00 -07:00
James Taylor
b35afb7cf6 Add 'self' directive for img to CSP when proxy_images is off
The default directive has self, but the img directive overrides
that completely. Need this for local image requests such as
subscriptions

closes #31
2020-10-19 13:33:17 -07:00
James Taylor
fd253d9e07 Merge branch 'master' into optional_proxy_images 2020-10-12 09:37:13 -07:00
zrose584
ed0b20e6c8 Don't remove the CSP completely 2020-10-09 18:35:13 +02:00
zrose584
f8d9be2d5a settings.py: add 'proxy_images' 2020-10-07 19:28:52 +02:00
zrose584
05cec14881 autofocus search input 2020-10-07 18:44:48 +02:00
James Taylor
c13a8f677d local playlists: Display error message if no videos are selected or no playlist is chosen when using "add to playlist"
See #4
2020-01-19 14:29:50 -08:00
James Taylor
b614fcdb85 Fix regression: Can't remove videos from local playlists 2019-10-21 21:14:13 -07:00
James Taylor
33a8898656 Only display local playlist controls in header on pages with videos 2019-09-15 14:59:19 -07:00
James Taylor
57c37a57e9 Add optional javascript for adding videos to playlists without the browser cancelling loading of the video, and to display a status message 2019-09-15 14:55:57 -07:00
James Taylor
e9b16ef71f Layout: Add themes 2019-08-25 16:08:08 -07:00
James Taylor
7f3ca7ee49 Layout: Replace local playlists link with home link in header and use flexbox to make it work on smaller window sizes 2019-08-18 15:57:27 -07:00
James Taylor
0f574e8e28 Regression: Fix csp preventing subtitles from working 2019-08-07 20:27:19 -07:00
James Taylor
4c9ecc9a18 Add content security policy to ensure mistakes or exploits never lead to third party connections from the page 2019-07-26 13:09:41 -07:00
James Taylor
74cf3b2135 Use variable to set title on base template instead of block 2019-07-21 22:50:57 -07:00
James Taylor
1156b09987 Refactor search page 2019-06-21 21:41:41 -07:00
James Taylor
1ba2411862 Inherit from base template 2019-06-17 20:50:00 -07:00