dsh-vidi 0.8.3 → 0.8.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/client.js +7 -2
- package/lib/index.mjs +3 -2
- package/package.json +1 -1
package/lib/client.js
CHANGED
|
@@ -35955,7 +35955,10 @@ function LiveView(props) {
|
|
|
35955
35955
|
const statusDetail = job?.status === "running" && !job.message && !job.vod ? CLOCK(Math.max(0, (tick - job.startedAt) / 1e3)) : "";
|
|
35956
35956
|
const missing = deps.filter((d) => !d.ok && (d.name === "ffmpeg" || d.name === "yt-dlp" || (engine || "local") === "local" && d.name.startsWith("whisper")));
|
|
35957
35957
|
const needsModel = !hasTranslator && shownLines.some((l) => l !== "src");
|
|
35958
|
-
const hasMain = !!job && !(job.status === "error" && !job.files.
|
|
35958
|
+
const hasMain = !!job && !(job.status === "error" && !job.files.some((f) => /\.(mp4|m4a|srt|vtt)$/.test(f)));
|
|
35959
|
+
(0, react.useEffect)(() => {
|
|
35960
|
+
if (job && !hasMain) setSrcTabRaw(job.source === "device" ? "camera" : job.source === "push" ? "push" : job.source === "file" ? "file" : "link");
|
|
35961
|
+
}, [job?.id, hasMain]);
|
|
35959
35962
|
const cams = (devices ?? []).filter((d) => d.kind !== "mic"), mics = (devices ?? []).filter((d) => d.kind === "mic");
|
|
35960
35963
|
const camV = camVideo === "none" || cams.some((d) => d.id === camVideo) ? camVideo : cams.find((d) => d.preferred)?.id ?? cams.find((d) => d.kind === "camera")?.id ?? "none";
|
|
35961
35964
|
const camA = mics.some((d) => d.id === camAudio) ? camAudio : mics.find((d) => d.preferred)?.id ?? mics[0]?.id ?? "";
|
|
@@ -36433,7 +36436,7 @@ function LiveView(props) {
|
|
|
36433
36436
|
!accessIssue && (error || job?.status === "error") && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
36434
36437
|
className: "dshl-note warn",
|
|
36435
36438
|
children: [
|
|
36436
|
-
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", { children: error || (job?.message === "device-blocked" ? t("dev.blocked") : job?.message) }),
|
|
36439
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", { children: error || (job?.message === "device-blocked" ? t("dev.blocked") : job?.message === "restored" ? t("st.failedEarlier") : job?.message) }),
|
|
36437
36440
|
job?.message === "device-blocked" && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
|
|
36438
36441
|
className: "dshl-link",
|
|
36439
36442
|
onClick: () => openPrivacy(blockedKind()),
|
|
@@ -37356,6 +37359,7 @@ const en = {
|
|
|
37356
37359
|
"dev.blocked": "No picture or sound from the device: DeepSeek Harness needs the system’s permission. Open System Settings, switch DeepSeek Harness on, then retry.",
|
|
37357
37360
|
"dev.denied": "DeepSeek Harness needs permission to use the {d}. Open System Settings, switch it on in the list, then retry.",
|
|
37358
37361
|
"dev.and": " and ",
|
|
37362
|
+
"st.failedEarlier": "This one did not finish last time.",
|
|
37359
37363
|
"dev.k.camera": "camera",
|
|
37360
37364
|
"dev.k.microphone": "microphone",
|
|
37361
37365
|
"dev.k.screen": "screen",
|
|
@@ -37794,6 +37798,7 @@ const zh = {
|
|
|
37794
37798
|
"dev.blocked": "设备没有传来画面和声音:DeepSeek Harness 需要系统授权。点「打开系统设置」,在列表里打开 DeepSeek Harness,再点重试。",
|
|
37795
37799
|
"dev.denied": "DeepSeek Harness 需要{d}权限。点「打开系统设置」,在列表里打开它,再点重试。",
|
|
37796
37800
|
"dev.and": "和",
|
|
37801
|
+
"st.failedEarlier": "上次这个没有成功。",
|
|
37797
37802
|
"dev.k.camera": "摄像头",
|
|
37798
37803
|
"dev.k.microphone": "麦克风",
|
|
37799
37804
|
"dev.k.screen": "屏幕录制",
|
package/lib/index.mjs
CHANGED
|
@@ -2119,7 +2119,8 @@ var LiveJob = class LiveJob extends EventEmitter {
|
|
|
2119
2119
|
heights: this.heights,
|
|
2120
2120
|
startedAt: this.startedAt,
|
|
2121
2121
|
subs: this.subs,
|
|
2122
|
-
status: this.status
|
|
2122
|
+
status: this.status,
|
|
2123
|
+
...this.status === "error" ? { message: this.message } : {}
|
|
2123
2124
|
}, null, 2));
|
|
2124
2125
|
} catch {}
|
|
2125
2126
|
}
|
|
@@ -2133,7 +2134,7 @@ var LiveJob = class LiveJob extends EventEmitter {
|
|
|
2133
2134
|
job.duration = j.duration;
|
|
2134
2135
|
job.captureDone = true;
|
|
2135
2136
|
job.status = j.status === "error" ? "error" : "stopped";
|
|
2136
|
-
job.message = "restored";
|
|
2137
|
+
job.message = j.status === "error" && j.message ? j.message : "restored";
|
|
2137
2138
|
const seen = /* @__PURE__ */ new Map();
|
|
2138
2139
|
if (existsSync(join(dir, "cues.jsonl"))) for (const line of readFileSync(join(dir, "cues.jsonl"), "utf8").split("\n")) {
|
|
2139
2140
|
if (!line.trim()) continue;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "dsh-vidi",
|
|
3
|
-
"version": "0.8.
|
|
3
|
+
"version": "0.8.4",
|
|
4
4
|
"description": "A video tool for DeepSeek Harness: watch live streams, videos and podcasts with real-time subtitles in any language, then clip and download",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "PolyForm-Noncommercial-1.0.0",
|