From 5e0071f15da7f8d53a2faaa33127abc9129031fc Mon Sep 17 00:00:00 2001
From: 0d0 <0d0acre@esiliati.org>
Date: Tue, 22 Apr 2025 20:57:01 +0200
Subject: [PATCH 01/15] Better naming and faster progress bar
---
.../{DownloadManager.svelte => ProgressBar.svelte} | 2 +-
src/routes/+page.svelte | 5 +++--
2 files changed, 4 insertions(+), 3 deletions(-)
rename src/lib/components/{DownloadManager.svelte => ProgressBar.svelte} (98%)
diff --git a/src/lib/components/DownloadManager.svelte b/src/lib/components/ProgressBar.svelte
similarity index 98%
rename from src/lib/components/DownloadManager.svelte
rename to src/lib/components/ProgressBar.svelte
index ffa1444..de2bac6 100644
--- a/src/lib/components/DownloadManager.svelte
+++ b/src/lib/components/ProgressBar.svelte
@@ -15,7 +15,7 @@
+ >
{progress}%
diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte
index f23038c..ac89f4c 100644
--- a/src/routes/+page.svelte
+++ b/src/routes/+page.svelte
@@ -2,7 +2,7 @@
import { PUBLIC_VERSION } from '$env/static/public';
import supportedFormats from '$lib/common/supportedFormats.json';
import Loader from '$lib/components/Loader.svelte';
- import DownloadManager from '$lib/components/DownloadManager.svelte';
+ import DownloadManager from '$lib/components/ProgressBar.svelte';
import { mount, unmount } from 'svelte';
let source = $state('youtube');
@@ -44,13 +44,14 @@
const chunks: Uint8Array[] = [];
let receivedLength = 0;
+
while (true) {
const { done, value }: ReadableStreamReadResult = await reader!.read();
if (done) break;
if (value) {
chunks.push(value);
receivedLength += value.length;
- progress = Math.round((receivedLength / 150000) * 100);
+ progress = Math.round((receivedLength / 50000) * 100);
}
}
From 3c5f7dc6c26740c609e48d5e14820ce187a8270e Mon Sep 17 00:00:00 2001
From: 0d0 <0d0acre@esiliati.org>
Date: Tue, 22 Apr 2025 20:57:13 +0200
Subject: [PATCH 02/15] the same as before
---
src/lib/components/ProgressBar.svelte | 2 +-
src/routes/+page.svelte | 1 -
2 files changed, 1 insertion(+), 2 deletions(-)
diff --git a/src/lib/components/ProgressBar.svelte b/src/lib/components/ProgressBar.svelte
index de2bac6..04bb07d 100644
--- a/src/lib/components/ProgressBar.svelte
+++ b/src/lib/components/ProgressBar.svelte
@@ -15,7 +15,7 @@
+ >
{progress}%
diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte
index ac89f4c..6039115 100644
--- a/src/routes/+page.svelte
+++ b/src/routes/+page.svelte
@@ -44,7 +44,6 @@
const chunks: Uint8Array[] = [];
let receivedLength = 0;
-
while (true) {
const { done, value }: ReadableStreamReadResult = await reader!.read();
if (done) break;
From fad656932650ef089e931caf6f3da81d2c8351fd Mon Sep 17 00:00:00 2001
From: 0d0 <0d0acre@esiliati.org>
Date: Tue, 22 Apr 2025 21:40:01 +0200
Subject: [PATCH 03/15] 1.0.1-c
---
package-lock.json | 4 ++--
package.json | 2 +-
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/package-lock.json b/package-lock.json
index b4f54a7..e74b77c 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,12 +1,12 @@
{
"name": "dl.emersa.it",
- "version": "1.0.1-b",
+ "version": "1.0.1-c",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "dl.emersa.it",
- "version": "1.0.1-b",
+ "version": "1.0.1-c",
"dependencies": {
"@tailwindcss/forms": "^0.5.10",
"@tailwindcss/postcss": "^4.1.4",
diff --git a/package.json b/package.json
index 5467659..2ab1129 100644
--- a/package.json
+++ b/package.json
@@ -1,7 +1,7 @@
{
"name": "dl.emersa.it",
"private": true,
- "version": "1.0.1-b",
+ "version": "1.0.1-c",
"type": "module",
"scripts": {
"dev": "vite dev",
From 51ee4299bd21a8267da42ca4af90c71d891ea2a5 Mon Sep 17 00:00:00 2001
From: 0d0 <0d0acre@esiliati.org>
Date: Tue, 22 Apr 2025 21:48:53 +0200
Subject: [PATCH 04/15] Remove metadata query param
---
src/routes/+page.svelte | 17 -----------------
src/routes/download/+server.ts | 5 ++---
2 files changed, 2 insertions(+), 20 deletions(-)
diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte
index 6039115..39acccd 100644
--- a/src/routes/+page.svelte
+++ b/src/routes/+page.svelte
@@ -12,7 +12,6 @@
let showModal = $state(false);
let href = $state('');
let disabled = $state(true);
- let metadata = $state(false);
let logs = $state('');
let downloadManager: DownloadManager | null = null;
let progress = $state(0);
@@ -100,8 +99,6 @@
searchParams.append('link', link);
searchParams.append('format', format);
- if (metadata) searchParams.append('metadata', '1');
-
href = `/download?${searchParams.toString()}`;
};
@@ -194,20 +191,6 @@
/>
-
-
-
-
-
-
{
return {
link,
format,
- source,
- metadata
+ source
};
};
export const GET: RequestHandler = async ({ url }) => {
- const { format, source, metadata, link } = validateRequest(url);
+ const { format, source, link } = validateRequest(url);
let filename = '';
logger.debug(`Requested: ${link}`);
From 48ab1a42ed930feedf4c8fafd22fbdde9c282a85 Mon Sep 17 00:00:00 2001
From: 0d0 <0d0acre@esiliati.org>
Date: Tue, 22 Apr 2025 23:43:56 +0200
Subject: [PATCH 05/15] remove node env from .env
---
.env.example | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/.env.example b/.env.example
index b7f7612..0b9efdb 100644
--- a/.env.example
+++ b/.env.example
@@ -1,6 +1,5 @@
-NODE_ENV=development
HOST=0.0.0.0
ORIGIN=https://dl.emersa.it
YTDLP_PATH=./yt-dlp
PUBLIC_VERSION=0.6.3
-HTTPS_PROXY=
\ No newline at end of file
+HTTPS_PROXY=
From e6096f2cd2f461e7dfcefcf8faef8fd12b911b66 Mon Sep 17 00:00:00 2001
From: 0d0 <0d0acre@esiliati.org>
Date: Tue, 22 Apr 2025 23:48:48 +0200
Subject: [PATCH 06/15] update ci
---
.forgejo/workflows/ci.yaml | 15 ++++++++++++---
1 file changed, 12 insertions(+), 3 deletions(-)
diff --git a/.forgejo/workflows/ci.yaml b/.forgejo/workflows/ci.yaml
index 9d5a98e..c4bfccb 100644
--- a/.forgejo/workflows/ci.yaml
+++ b/.forgejo/workflows/ci.yaml
@@ -1,4 +1,4 @@
-name: Bump deps (only minor versions)
+name: Just some continuos integration
on: [push]
@@ -15,7 +15,16 @@ jobs:
uses: actions/setup-node@v3
with:
node-version: '20'
- - name: Prepare, Check, Lint and Format
+ - name: Update deps, install them (to change package-lock.json) and commit
run: |
- npm i
+ npm install
npm run prepare
+ npm run lint
+ npm run format
+ git config --global user.name "forgejo-bot"
+ git config --global user.email "bot@pweapon.org"
+ git add --all || exit 0
+ git commit -m "chore: lint and format" || exit 0
+ git push origin HEAD:${GITHUB_REF#refs/heads/}
+ env:
+ GITHUB_TOKEN: ${{ secrets.FORGEJO_TOKEN }}
From 9f36097598d1cd1df65c0e4ac53ea46651e5365a Mon Sep 17 00:00:00 2001
From: 0d0 <0d0acre@esiliati.org>
Date: Tue, 22 Apr 2025 23:54:19 +0200
Subject: [PATCH 07/15] Dumb update
---
src/lib/server/ytdlp.ts | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)
diff --git a/src/lib/server/ytdlp.ts b/src/lib/server/ytdlp.ts
index 173c9bf..9e358a3 100644
--- a/src/lib/server/ytdlp.ts
+++ b/src/lib/server/ytdlp.ts
@@ -1,7 +1,6 @@
-import { create } from 'youtube-dl-exec';
+import { create, type Flags } from 'youtube-dl-exec';
import { env } from '$env/dynamic/private';
import { spawn } from 'node:child_process';
-import supportedFormats from '$lib/common/supportedFormats.json';
import { logger, mimeTypeMap } from '$lib/server/helpers';
const YTDLP_PATH: string = env.YTDLP_PATH as string;
@@ -13,7 +12,7 @@ export const ytdl = create(YTDLP_PATH);
* Fetch YouTube metadata (title, uploader/artist)
*/
export async function getYouTubeMetadata(link: string) {
- const options = {
+ const options: Flags = {
dumpSingleJson: true,
noCheckCertificates: true,
noWarnings: true,
@@ -66,10 +65,13 @@ export function streamYouTube(link: string, format: string): ReadableStream {
try {
controller.enqueue(chunk);
- } catch (ex) {
+ } catch () {
process.kill();
}
});
+
+
+
process.stderr.on('data', (chunk) => logger.debug(chunk.toString()));
process.stdout.on('end', () => {
try {
From 08a3ec3883c43bf775b2c561249bfec2de712b89 Mon Sep 17 00:00:00 2001
From: 0d0 <0d0acre@esiliati.org>
Date: Tue, 22 Apr 2025 23:55:20 +0200
Subject: [PATCH 08/15] pre commit autoformat won't block committing for this
project
---
src/lib/server/ytdlp.ts | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/src/lib/server/ytdlp.ts b/src/lib/server/ytdlp.ts
index 9e358a3..1a548ed 100644
--- a/src/lib/server/ytdlp.ts
+++ b/src/lib/server/ytdlp.ts
@@ -65,13 +65,11 @@ export function streamYouTube(link: string, format: string): ReadableStream {
try {
controller.enqueue(chunk);
- } catch () {
+ } catch {
process.kill();
}
});
-
-
process.stderr.on('data', (chunk) => logger.debug(chunk.toString()));
process.stdout.on('end', () => {
try {
From 749192667b0359d47c9796658e2e26ff1df57e4d Mon Sep 17 00:00:00 2001
From: 0d0 <0d0acre@esiliati.org>
Date: Tue, 22 Apr 2025 23:56:16 +0200
Subject: [PATCH 09/15] Update ci
---
.forgejo/workflows/ci.yaml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.forgejo/workflows/ci.yaml b/.forgejo/workflows/ci.yaml
index c4bfccb..9ff6b3c 100644
--- a/.forgejo/workflows/ci.yaml
+++ b/.forgejo/workflows/ci.yaml
@@ -15,7 +15,7 @@ jobs:
uses: actions/setup-node@v3
with:
node-version: '20'
- - name: Update deps, install them (to change package-lock.json) and commit
+ - name: Format things if needed
run: |
npm install
npm run prepare
From bf1c63e2e61ab748dc492a57a4ddf5d0cb6f1fcb Mon Sep 17 00:00:00 2001
From: 0d0 <0d0acre@esiliati.org>
Date: Wed, 23 Apr 2025 00:03:17 +0200
Subject: [PATCH 10/15] Liste to warnings
---
src/lib/components/Loader.svelte | 28 ----------------------------
src/routes/+page.svelte | 24 ++++++------------------
src/routes/download/+server.ts | 5 ++---
3 files changed, 8 insertions(+), 49 deletions(-)
delete mode 100644 src/lib/components/Loader.svelte
diff --git a/src/lib/components/Loader.svelte b/src/lib/components/Loader.svelte
deleted file mode 100644
index 4ea9b50..0000000
--- a/src/lib/components/Loader.svelte
+++ /dev/null
@@ -1,28 +0,0 @@
-
diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte
index 39acccd..600806b 100644
--- a/src/routes/+page.svelte
+++ b/src/routes/+page.svelte
@@ -1,9 +1,7 @@