Commit Graph

138 Commits

Author SHA1 Message Date
Alex Shnitman 54e25484c5 some fixes in cookie upload functionality 2026-03-06 14:20:16 +02:00
ddmoney420 7cfb0c3a1d Add cookie file upload for authenticated downloads 2026-03-04 13:29:43 -07:00
Alex Shnitman 58c317f7cd enhance playlist addition cancellation and improve error handling UI 2026-03-02 20:21:04 +02:00
ddmoney420 880eda8435 feat: cancel playlist adding mid-operation (closes #840) 2026-03-01 19:11:29 -07:00
ddmoney420 fd3aaea9d9 feat: expandable error details with copy-to-clipboard (closes #143) 2026-03-01 19:06:58 -07:00
ddmoney420 da84753e20 feat: sort completed downloads by newest first (closes #610) 2026-03-01 19:02:04 -07:00
Alex Shnitman 053e41cf52 code review fixes 2026-02-27 12:58:50 +02:00
vitaliibudnyi 8dff6448b2 add "text only" as another advanced option for captions format 2026-02-27 12:46:23 +02:00
vitaliibudnyi dd4e05325a change delaut captions type to .srt 2026-02-27 12:46:23 +02:00
vitaliibudnyi ce9703cd04 add advanced options for captions download format 2026-02-27 12:46:23 +02:00
vitaliibudnyi 973a87ffc6 add "captions" as download format 2026-02-27 12:46:23 +02:00
Adam Fendley ffe1112dc6 Fix __add_entry parameters; remove duplicated code between channel and playlist processing 2026-02-07 17:30:40 +02:00
Adam Fendley 393add34b1 Add support for downloading an entire channel 2026-02-07 17:30:40 +02:00
copilot-swe-agent[bot] 846c4f0e52 Fix bulk delete error by making delById more defensive
- Extract map reference to local variable before iteration
- Change from forEach to for-of loop for better error handling
- Add null check on map before iterating
- Add @popperjs/core peer dependency for ng-bootstrap
- Update .gitignore to exclude package-lock.json

Co-authored-by: alexta69 <7450369+alexta69@users.noreply.github.com>
2026-01-10 16:17:22 +00:00
Alex Shnitman e378179e05 remove playlist strict mode (make it always true) 2026-01-09 14:26:50 +02:00
Igor Katkov 02480afddf feat: Use OUTPUT_TEMPLATE_CHAPTER default setting 2025-12-31 00:13:55 -08:00
Igor Katkov d51f2ce628 feat: Undo bogus formatting changes 2025-12-30 23:33:01 -08:00
Igor Katkov 962929d42d feat: Implement chapter splitting functionality with UI controls, yt-dlp integration, and chapter file tracking. 2025-12-30 22:07:49 -08:00
mercury233 092765535f fix completed result tooltip 2025-12-27 10:48:57 +08:00
Lemon Lam 318f4f9f21 Convert to LF 2025-12-26 19:30:26 +08:00
Pierre Nédélec 183c4ba898 feat(frontend): modernize Angular app 2025-12-15 01:56:47 +01:00
Alex Shnitman 9907e1b885 upgrade to angular 20 2025-12-05 11:36:21 +02:00
Thomas TEXIER e56eb6e5de Update formats.ts 2025-08-26 21:06:54 +02:00
Alex Gustafsson ee4e718d17 Fix host component style
Fix the SASS rule for the app root component not being applied as it was
written for the app root element, not the host scope.

Fixes: d03c710636
2025-07-31 14:01:53 +02:00
Alex Gustafsson e8d0cc95e7 Fill out main content, align footer with bottom
Make the app root fill at least the full height of the viewport, and
make the main content grow to fill the empty space - aligning the footer
with the bottom of the page at all times.
2025-07-30 18:24:25 +02:00
xerdream afbf8b07d6 add the ability to reload 'YTDL_OPTIONS' when file is modified 2025-07-21 11:20:53 +08:00
Alex Shnitman 7e14c63008 show download totals at the top; debounce download speeds. closes #613 2025-06-06 19:20:33 +03:00
Alex Shnitman d74e8df408 add metube version. closes #83 2025-06-05 20:47:49 +03:00
Alex Shnitman f494c4f6be fix download folder selection dropdown. closes #678 2025-06-05 18:45:36 +03:00
Alex Shnitman b7ef408d5d upgrade to angular 19 2025-06-02 23:16:32 +03:00
Alex Shnitman 91f1e21df0 upgrade to angular 18 2025-06-02 22:53:20 +03:00
Alex Shnitman 7ac542d25c UI clutter cleanup and reorganization 2025-06-02 22:32:23 +03:00
Cédric Finance 81afaf3c47 Redirect to / when basePath is empty 2025-04-12 17:03:27 +02:00
rdiaz738 863d7e3728 Update app.component.ts 2025-03-25 11:08:10 -07:00
rdiaz738 8ea3359730 Fix for 605 and 607 2025-03-06 18:29:06 -08:00
Alex e281d61773 Merge branch 'master' into master 2025-03-05 19:12:29 +02:00
rdiaz738 92f5d34ce2 Refactored with feedback 2025-03-04 16:16:19 -08:00
Alex cf8123aeff Merge pull request #584 from PikuZheng/add-yt-dlp-version-disp
display yt-dlp version in webui
2025-03-04 21:29:59 +02:00
rdiaz738 8d70ed9d36 Updated ui and backend
Added Sequential, limited and concurrent downloading and import export buttons
2025-03-01 17:43:48 -08:00
rdiaz738 11cb4a1d28 Update app.component.html 2025-03-01 14:38:51 -08:00
rdiaz738 ee48b3d595 Update app.component.html 2025-03-01 14:36:06 -08:00
PikuZheng 4d145ba899 Download multiple files from MeTube
#586
2025-02-07 09:04:35 +08:00
PikuZheng 8daa59b61f add yt-dlp version on web 2025-01-24 18:40:58 +08:00
PikuZheng a77f10541a add "worst" format 2025-01-15 07:55:38 +08:00
lvank 1c02883f0e Add a download selected button for non-autostarted downloads 2025-01-12 22:02:13 -06:00
Alex Shnitman b4e388409c add 2160p (closes #11) 2024-10-04 08:51:23 +03:00
Dallas Hoffman 0b1b0c4f5f Responsive design improvements 2024-09-25 23:06:29 -04:00
Pawel Derehajlo c675db1ae5 Added Playlist Strict mode and Item limits 2024-08-18 11:07:59 +02:00
alegru 80569d7b5e Fix basic auth not asking for credentials 2024-07-14 17:05:47 +02:00
Joel Goguen 41da9fdadd Add separate quality entry for iOS compatibility
The iOS-compatible video may not be the best quality. Add a separate quality option to accommodate people who want the best available versus the best compatible with iOS's strict requirements.

Testing with https://www.youtube.com/watch?v=YiRMs5ZhcH4 where the best quality video is 2160p and not iOS-compatible.

With best quality, the VP9 video format is used (better quality but not iOS-compatible):

```
% ffprobe -hide_banner Who\ Can\ Find\ the\ Weirdest\ PC\ Parts\ on\ AliExpress?.mp4
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'Who Can Find the Weirdest PC Parts on AliExpress?.mp4':
Metadata:
major_brand     : isom
minor_version   : 512
compatible_brands: isomiso2mp41
encoder         : Lavf60.16.100
Duration: 00:19:02.72, start: 0.000000, bitrate: 10941 kb/s
Stream #0:0[0x1](und): Video: vp9 (Profile 0) (vp09 / 0x39307076), yuv420p(tv, bt709), 3840x1920, 10805 kb/s, 29.97 fps, 29.97 tbr, 16k tbn (default)
Metadata:
handler_name    : ISO Media file produced by Google Inc. Created on: 06/15/2024.
vendor_id       : [0][0][0][0]
Stream #0:1[0x2](eng): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 128 kb/s (default)
Metadata:
handler_name    : ISO Media file produced by Google Inc.
vendor_id       : [0][0][0][0]
```

With "Best (iOS)" quality, the H264 video (lower quality but iOS-compatible) is used:

```
% ffprobe -hide_banner Who\ Can\ Find\ the\ Weirdest\ PC\ Parts\ on\ AliExpress?.mp4
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'Who Can Find the Weirdest PC Parts on AliExpress?.mp4':
Metadata:
major_brand     : isom
minor_version   : 512
compatible_brands: isomiso2avc1mp41
encoder         : Lavf60.16.100
Duration: 00:19:02.72, start: 0.000000, bitrate: 1846 kb/s
Stream #0:0[0x1](und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709, progressive), 1920x960 [SAR 1:1 DAR 2:1], 1710 kb/s, 29.97 fps, 29.97 tbr, 30k tbn (default)
Metadata:
handler_name    : ISO Media file produced by Google Inc.
vendor_id       : [0][0][0][0]
Stream #0:1[0x2](eng): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 128 kb/s (default)
Metadata:
handler_name    : ISO Media file produced by Google Inc.
vendor_id       : [0][0][0][0]
```

Included a README note about the new quality option.
2024-06-15 13:36:04 -04:00