mirror of
https://github.com/ksyasuda/SubMiner.git
synced 2026-04-10 04:19:25 -07:00
fix launcher runtime feedback
This commit is contained in:
@@ -17,7 +17,7 @@ async function withTempDir<T>(fn: (dir: string) => Promise<T>): Promise<T> {
|
||||
function makeFakeYtDlpScript(dir: string, payload: string): void {
|
||||
const scriptPath = path.join(dir, 'yt-dlp');
|
||||
const script = process.platform === 'win32'
|
||||
? `#!/usr/bin/env node
|
||||
? `#!/usr/bin/env bun
|
||||
process.stdout.write(${JSON.stringify(payload)});
|
||||
`
|
||||
: `#!/usr/bin/env sh
|
||||
|
||||
@@ -17,7 +17,7 @@ async function withTempDir<T>(fn: (dir: string) => Promise<T>): Promise<T> {
|
||||
function makeFakeYtDlpScript(dir: string, payload: string): void {
|
||||
const scriptPath = path.join(dir, 'yt-dlp');
|
||||
const script = process.platform === 'win32'
|
||||
? `#!/usr/bin/env node
|
||||
? `#!/usr/bin/env bun
|
||||
process.stdout.write(${JSON.stringify(payload)});
|
||||
`
|
||||
: `#!/usr/bin/env sh
|
||||
|
||||
@@ -16,7 +16,7 @@ async function withTempDir<T>(fn: (dir: string) => Promise<T>): Promise<T> {
|
||||
|
||||
function makeFakeYtDlpScript(dir: string): string {
|
||||
const scriptPath = path.join(dir, 'yt-dlp');
|
||||
const script = `#!/usr/bin/env node
|
||||
const script = `#!/usr/bin/env bun
|
||||
const fs = require('node:fs');
|
||||
const path = require('node:path');
|
||||
|
||||
|
||||
@@ -21,7 +21,7 @@ function makeFakeYtDlpScript(dir: string, payload: unknown, rawScript = false):
|
||||
process.platform === 'win32'
|
||||
? rawScript
|
||||
? stdoutBody
|
||||
: `#!/usr/bin/env node
|
||||
: `#!/usr/bin/env bun
|
||||
process.stdout.write(${JSON.stringify(stdoutBody)});
|
||||
`
|
||||
: `#!/usr/bin/env sh
|
||||
|
||||
@@ -396,7 +396,8 @@ export function createHandleFirstRunSetupNavigationHandler(deps: {
|
||||
}) {
|
||||
return (params: { url: string; preventDefault: () => void }): boolean => {
|
||||
if (!params.url.startsWith('subminer://first-run-setup')) {
|
||||
return false;
|
||||
params.preventDefault();
|
||||
return true;
|
||||
}
|
||||
params.preventDefault();
|
||||
let submission: FirstRunSetupSubmission | null;
|
||||
|
||||
@@ -18,8 +18,11 @@ export function resolveWindowsMpvPath(
|
||||
configuredMpvPath = '',
|
||||
): string {
|
||||
const configPath = normalizeCandidate(configuredMpvPath);
|
||||
if (configPath && deps.fileExists(configPath)) {
|
||||
return configPath;
|
||||
if (configPath) {
|
||||
if (deps.fileExists(configPath)) {
|
||||
return configPath;
|
||||
}
|
||||
return '';
|
||||
}
|
||||
|
||||
const envPath = normalizeCandidate(deps.getEnv('SUBMINER_MPV_PATH'));
|
||||
@@ -107,11 +110,14 @@ export function launchWindowsMpv(
|
||||
pluginEntrypointPath?: string,
|
||||
configuredMpvPath?: string,
|
||||
): { ok: boolean; mpvPath: string } {
|
||||
const mpvPath = resolveWindowsMpvPath(deps, configuredMpvPath);
|
||||
const normalizedConfiguredPath = normalizeCandidate(configuredMpvPath);
|
||||
const mpvPath = resolveWindowsMpvPath(deps, normalizedConfiguredPath);
|
||||
if (!mpvPath) {
|
||||
deps.showError(
|
||||
'SubMiner mpv launcher',
|
||||
'Could not find mpv.exe. Set mpv.executablePath, set SUBMINER_MPV_PATH, or add mpv.exe to PATH.',
|
||||
normalizedConfiguredPath
|
||||
? `Configured mpv.executablePath was not found: ${normalizedConfiguredPath}`
|
||||
: 'Could not find mpv.exe. Set mpv.executablePath, set SUBMINER_MPV_PATH, or add mpv.exe to PATH.',
|
||||
);
|
||||
return { ok: false, mpvPath: '' };
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user