Commit Graph

108 Commits

Author SHA1 Message Date
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
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
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
PikuZheng
69c2f310c2 add flac format for audio 2024-06-07 10:35:04 +08:00
Alex Shnitman
633cfb7ba2 fix typo 2024-05-02 21:31:44 +03:00
vaaski
b1422e5102 remove extra defaults in app component 2024-05-02 13:50:00 +02:00
vaaski
3440d0adeb add PUBLIC_HOST_AUDIO_URL 2024-05-02 13:10:41 +02:00
vaaski
e89da396cd add PUBLIC_HOST_URL config key 2024-05-02 12:56:52 +02:00
vkartk
e7cfbb5786 Fix unclosed th tag in fileSize column 2024-01-26 20:17:28 +05:30
vkartk
7575ff895d [ Feature ] Add retry button (#327) 2024-01-26 20:13:34 +05:30
vkartk
feec0c56b4 Enhance FileSizePipe to handle NaN and zero bytes for better resilience 2024-01-26 09:48:44 +05:30
vkartk
3f4240a526 Frontend: Implement file size display in Downloads interface (#322) 2024-01-26 09:39:39 +05:30
Philipp Hutterer
48657c1c12 feat: integrated Web Share Target API for PWA 2023-12-30 04:15:44 +01:00
Alex Shnitman
930c597d36 default auto-start to yes 2023-12-10 22:58:45 +02:00
Qiao Wang
fcc7a4808e Merge branch 'master' of https://github.com/nodew/metube into auto-start 2023-12-09 12:49:41 +08:00
Qiao Wang
d12fc37a50 Add auto start option for metube 2023-12-09 12:35:31 +08:00
ArabCoders
add2a04003 Hide download button if no file has been downloaded. 2023-11-16 23:11:15 +03:00
ArabCoders
74d07f5cb2 Added support for showing when live stream starts as error message. 2023-11-16 15:54:36 +03:00
Alex Shnitman
0985f97b36 fix download ETA dispay 2023-10-20 09:41:40 +03:00
Alex Shnitman
fb6b4a1ec1 fix download ETA dispay 2023-10-19 19:20:32 +03:00
Robert Smits
c64dda8ca7 Fix theme handling and auto theme
This commit fixes the client side theme selection being overwritten by the backend and adds a selectable auto theming option.
2023-10-01 18:23:11 +02:00
Robert Smits
0231ebfeef Use Bootstrap 5 dark theme support 2023-10-01 13:16:00 +02:00
James Lyne
784dc2f735 Fix memory leak when many videos are queued.
Previously angular was re-rendering the entire queue whenever any downloads changed their state. The websocket provides progress updates at a high frequency, which combined with a long download queue can quickly cause hundreds of thousands of dom nodes to be created. This results in a spike in memory usage which may persist for some time depending on browser behaviour.

Adding a trackBy function resolves the issue by telling angular which row relates to a particular download.
2023-08-14 11:39:36 +01:00
James Lyne
262e296783 Fix retry button issues
The arguments passed to retryDownload by the retry button do not match what the function actually expects. This causes downloads to break if a custom folder is set and also causes some settings like format and custom name prefix to be ignored.
2023-08-13 12:24:19 +01:00