Skip to content

Conversation

LESS14
Copy link

@LESS14 LESS14 commented Oct 17, 2025

No description provided.

robroid and others added 30 commits September 20, 2025 13:19
robroid and others added 26 commits October 2, 2025 21:51
syncs changes with upstream repo
@LESS14 LESS14 closed this Oct 17, 2025
@LESS14 LESS14 deleted the main branch October 17, 2025 01:47
@LESS14
Copy link
Author

LESS14 commented Oct 17, 2025

apologies, opened by mistake

Copy link
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remaining comments which cannot be posted as a review comment to avoid GitHub Rate Limit

eslint

🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Insert ,


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace 'plugins.downloader.backend.dialog.start-download-playlist.title' with ⏎········'plugins.downloader.backend.dialog.start-download-playlist.title',⏎······

title: t('plugins.downloader.backend.dialog.start-download-playlist.title'),


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace 'info',·'⚙️·yt-dlp·command:',·${ytDlpPath}·${args.join('·')}`` with ⏎······'info',⏎······'⚙️·yt-dlp·command:',⏎······${ytDlpPath}·${args.join('·')}`,⏎····`

logToFrontend('info', '⚙️ yt-dlp command:', `${ytDlpPath} ${args.join(' ')}`);


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Insert ,

shell: false // Use shell: false for better stability


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace 'info',·'📥·yt-dlp·output:',·chunk.trim().substring(0,·200) with ⏎··········'info',⏎··········'📥·yt-dlp·output:',⏎··········chunk.trim().substring(0,·200),⏎········

logToFrontend('info', '📥 yt-dlp output:', chunk.trim().substring(0, 200));


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace !isNaN(progress)·&&·progress·>·0·&&·progress·!==·lastProgressUpdate with ⏎··········!isNaN(progress)·&&⏎··········progress·>·0·&&⏎··········progress·!==·lastProgressUpdate⏎········

if (!isNaN(progress) && progress > 0 && progress !== lastProgressUpdate) {


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace 'info',·📊·Playlist·progress:·${Math.floor(progress··100)}%`` with ⏎············'info',⏎············📊·Playlist·progress:·${Math.floor(progress··100)}%`,⏎··········`

logToFrontend('info', `📊 Playlist progress: ${Math.floor(progress * 100)}%`);


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ``Downloading...·${Math.floor(progress··100)}%,·progress with `⏎············`Downloading...·${Math.floor(progress··100)}%`,⏎············progress,⏎··········`

sendFeedback(`Downloading... ${Math.floor(progress * 100)}%`, progress);


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace 'info',·'✅·Track·completed:',·path.basename(filename[1]) with ⏎············'info',⏎············'✅·Track·completed:',⏎············path.basename(filename[1]),⏎··········

logToFrontend('info', '✅ Track completed:', path.basename(filename[1]));


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace 'warn',·'⚠️·yt-dlp·stderr:',·errorChunk.trim().substring(0,·200) with ⏎········'warn',⏎········'⚠️·yt-dlp·stderr:',⏎········errorChunk.trim().substring(0,·200),⏎······

logToFrontend('warn', '⚠️ yt-dlp stderr:', errorChunk.trim().substring(0, 200));


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace \nCommand:·${ytDlpPath}·${args.join('·')} with ··\nCommand:·${ytDlpPath}·${args.join('·')},

`\nCommand: ${ytDlpPath} ${args.join(' ')}`


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ()·=>·{} with ⏎······()·=>·{},⏎····

sendOsNotification('Download complete!', `Saved to: ${dir}`).catch(() => {});


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Insert


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ·typeof·config.advanced?.ytDlpPath·===·'string'·?·config.advanced.ytDlpPath with ⏎··········typeof·config.advanced?.ytDlpPath·===·'string'⏎············?·config.advanced.ytDlpPath⏎···········

const ytDlpPathValue = typeof config.advanced?.ytDlpPath === 'string' ? config.advanced.ytDlpPath : '';


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Insert


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Insert


⚠️ [eslint] <@typescript-eslint/no-unused-vars> reported by reviewdog 🐶
'chevronLeft' is assigned a value but never used.

const chevronLeft: YtIcons = 'yt-icons:chevron_left';


⚠️ [eslint] <@typescript-eslint/no-unused-vars> reported by reviewdog 🐶
'chevronRight' is assigned a value but never used.

const chevronRight: YtIcons = 'yt-icons:chevron_right';


⚠️ [eslint] <@typescript-eslint/no-unused-vars> reported by reviewdog 🐶
'successIcon' is assigned a value but never used.

const successIcon: YtIcons = 'yt-icons:check-circle';


⚠️ [eslint] <@typescript-eslint/no-unused-vars> reported by reviewdog 🐶
'errorIcon' is assigned a value but never used.

const errorIcon: YtIcons = 'yt-icons:error';


⚠️ [eslint] <@typescript-eslint/no-unused-vars> reported by reviewdog 🐶
'notFoundIcon' is assigned a value but never used.

const notFoundIcon: YtIcons = 'yt-icons:warning';

@@ -0,0 +1,140 @@
import path from 'node:path';
import fs, { promises as fsPromises } from 'node:fs';
import { createHash } from 'node:crypto';
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚫 [eslint] <importPlugin/order> reported by reviewdog 🐶
There should be at least one empty line between import groups

Suggested change
import { createHash } from 'node:crypto';
import { createHash } from 'node:crypto';

import path from 'node:path';
import fs, { promises as fsPromises } from 'node:fs';
import { createHash } from 'node:crypto';
import { app, net, Session } from 'electron';
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚫 [eslint] <@typescript-eslint/consistent-type-imports> reported by reviewdog 🐶
Imports "Session" are only used as type.

Suggested change
import { app, net, Session } from 'electron';
import { app, net, type Session } from 'electron';

import fs, { promises as fsPromises } from 'node:fs';
import { createHash } from 'node:crypto';
import { app, net, Session } from 'electron';
import { ElectronBlocker } from '@ghostery/adblocker-electron';
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚫 [eslint] <importPlugin/order> reported by reviewdog 🐶
There should be at least one empty line between import groups

Suggested change
import { ElectronBlocker } from '@ghostery/adblocker-electron';
import { ElectronBlocker } from '@ghostery/adblocker-electron';

this.isRunning = true;
}

public async stop() {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚫 [eslint] <@typescript-eslint/require-await> reported by reviewdog 🐶
Async method 'stop' has no 'await' expression.

}
}
}
} No newline at end of file
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Insert

Suggested change
}
}

const ytDlpPath = getYtDlpPath(config.advanced?.ytDlpPath);
if (!ytDlpPath) {
const allPaths = [
config.advanced?.ytDlpPath ? `[custom] ${config.advanced.ytDlpPath}` : null,
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ·?·[custom]·${config.advanced.ytDlpPath}`` with ⏎········?·[custom]·${config.advanced.ytDlpPath}`⏎·······`

Suggested change
config.advanced?.ytDlpPath ? `[custom] ${config.advanced.ytDlpPath}` : null,
config.advanced?.ytDlpPath
? `[custom] ${config.advanced.ytDlpPath}`
: null,

: []),
].filter(Boolean);

logToFrontend('error', '❌ yt-dlp not found for playlist. Paths checked:', allPaths);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace 'error',·'❌·yt-dlp·not·found·for·playlist.·Paths·checked:',·allPaths with ⏎······'error',⏎······'❌·yt-dlp·not·found·for·playlist.·Paths·checked:',⏎······allPaths,⏎····

Suggested change
logToFrontend('error', '❌ yt-dlp not found for playlist. Paths checked:', allPaths);
logToFrontend(
'error',
'❌ yt-dlp not found for playlist. Paths checked:',
allPaths,
);

new Error(
'yt-dlp executable not found.\nPaths checked:\n' +
allPaths.join('\n') +
'\nPlease set the path in the Downloader plugin menu.'
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Insert ,

Suggested change
'\nPlease set the path in the Downloader plugin menu.'
'\nPlease set the path in the Downloader plugin menu.',

'yt-dlp executable not found.\nPaths checked:\n' +
allPaths.join('\n') +
'\nPlease set the path in the Downloader plugin menu.'
)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Insert ,

Suggested change
)
),

const dialogResult = await dialog.showMessageBox(win, {
type: 'info',
buttons: [
t('plugins.downloader.backend.dialog.start-download-playlist.buttons.ok'),
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace 'plugins.downloader.backend.dialog.start-download-playlist.buttons.ok' with ⏎··········'plugins.downloader.backend.dialog.start-download-playlist.buttons.ok',⏎········

Suggested change
t('plugins.downloader.backend.dialog.start-download-playlist.buttons.ok'),
t(
'plugins.downloader.backend.dialog.start-download-playlist.buttons.ok',
),

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants