Fix: logs and notify more friendly (#127)
* popup the error when whisper/ffmpeg failed * fix ffmpeg error handler
This commit is contained in:
@@ -30,12 +30,16 @@ class TranscriptionsHandler {
|
||||
});
|
||||
|
||||
if (transcription.state === "pending") {
|
||||
transcription.process();
|
||||
transcription.process().catch((err) => {
|
||||
event.sender.send("on-notification", {
|
||||
type: "error",
|
||||
message: err.message,
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
return transcription.toJSON();
|
||||
} catch (err) {
|
||||
logger.error(err);
|
||||
event.sender.send("on-notification", {
|
||||
type: "error",
|
||||
message: err.message,
|
||||
|
||||
@@ -139,14 +139,24 @@ export default class FfmpegWrapper {
|
||||
...options
|
||||
)
|
||||
.on("start", (commandLine) => {
|
||||
logger.debug(`Trying to convert ${input} to ${output}`);
|
||||
logger.info("Spawned FFmpeg with command: " + commandLine);
|
||||
fs.ensureDirSync(path.dirname(output));
|
||||
})
|
||||
.on("end", (_stdout, stderr) => {
|
||||
.on("end", (stdout, stderr) => {
|
||||
if (stdout) {
|
||||
logger.debug(stdout);
|
||||
}
|
||||
|
||||
if (stderr) {
|
||||
logger.error(stderr);
|
||||
}
|
||||
resolve(output);
|
||||
|
||||
if (fs.existsSync(output)) {
|
||||
resolve(output);
|
||||
} else {
|
||||
reject(new Error("FFmpeg command failed"));
|
||||
}
|
||||
})
|
||||
.on("error", (err: Error) => {
|
||||
logger.error(err);
|
||||
@@ -171,11 +181,9 @@ export default class FfmpegWrapper {
|
||||
}
|
||||
}
|
||||
|
||||
logger.info(
|
||||
`[WHISPER] Trying to convert ${input} to 16-bit WAVE file ${output}`
|
||||
);
|
||||
logger.info(`Trying to convert ${input} to 16-bit WAVE file ${output}`);
|
||||
if (fs.pathExistsSync(output)) {
|
||||
logger.warn(`[WHISPER] File ${output} already exists, deleting.`);
|
||||
logger.warn(`File ${output} already exists, deleting.`);
|
||||
fs.removeSync(output);
|
||||
}
|
||||
|
||||
|
||||
@@ -105,7 +105,10 @@ class Whipser {
|
||||
logger.debug(stdout);
|
||||
}
|
||||
|
||||
reject(new Error("Whisper transcribe failed: unknown error"));
|
||||
reject(
|
||||
error ||
|
||||
new Error(stderr || "Whisper transcribe failed: unknown error")
|
||||
);
|
||||
}
|
||||
);
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user