prismcast 1.4.1 → 1.5.0
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/dist/app.js +18 -1
- package/dist/app.js.map +1 -1
- package/dist/browser/cdp.d.ts +2 -1
- package/dist/browser/cdp.js +44 -23
- package/dist/browser/cdp.js.map +1 -1
- package/dist/browser/channelSelection.d.ts +45 -1
- package/dist/browser/channelSelection.js +164 -27
- package/dist/browser/channelSelection.js.map +1 -1
- package/dist/browser/display.d.ts +0 -4
- package/dist/browser/display.js +0 -7
- package/dist/browser/display.js.map +1 -1
- package/dist/browser/index.d.ts +5 -0
- package/dist/browser/index.js +14 -0
- package/dist/browser/index.js.map +1 -1
- package/dist/browser/precaching.d.ts +5 -0
- package/dist/browser/precaching.js +112 -0
- package/dist/browser/precaching.js.map +1 -0
- package/dist/browser/tuning/directv.d.ts +2 -0
- package/dist/browser/tuning/directv.js +723 -0
- package/dist/browser/tuning/directv.js.map +1 -0
- package/dist/browser/tuning/fox.d.ts +2 -2
- package/dist/browser/tuning/fox.js +141 -22
- package/dist/browser/tuning/fox.js.map +1 -1
- package/dist/browser/tuning/hbo.d.ts +2 -2
- package/dist/browser/tuning/hbo.js +110 -41
- package/dist/browser/tuning/hbo.js.map +1 -1
- package/dist/browser/tuning/hulu.d.ts +2 -2
- package/dist/browser/tuning/hulu.js +537 -211
- package/dist/browser/tuning/hulu.js.map +1 -1
- package/dist/browser/tuning/sling.d.ts +2 -2
- package/dist/browser/tuning/sling.js +200 -56
- package/dist/browser/tuning/sling.js.map +1 -1
- package/dist/browser/tuning/youtubeTv.d.ts +2 -2
- package/dist/browser/tuning/youtubeTv.js +243 -57
- package/dist/browser/tuning/youtubeTv.js.map +1 -1
- package/dist/browser/video.d.ts +1 -1
- package/dist/browser/video.js +4 -2
- package/dist/browser/video.js.map +1 -1
- package/dist/channels/index.js +280 -34
- package/dist/channels/index.js.map +1 -1
- package/dist/config/health.d.ts +78 -0
- package/dist/config/health.js +202 -0
- package/dist/config/health.js.map +1 -0
- package/dist/config/paths.d.ts +10 -0
- package/dist/config/paths.js +14 -0
- package/dist/config/paths.js.map +1 -1
- package/dist/config/profiles.d.ts +6 -4
- package/dist/config/profiles.js +65 -14
- package/dist/config/profiles.js.map +1 -1
- package/dist/config/providerPacks.d.ts +46 -0
- package/dist/config/providerPacks.js +200 -0
- package/dist/config/providerPacks.js.map +1 -0
- package/dist/config/providers.d.ts +47 -6
- package/dist/config/providers.js +211 -17
- package/dist/config/providers.js.map +1 -1
- package/dist/config/sites.d.ts +1 -12
- package/dist/config/sites.js +40 -7
- package/dist/config/sites.js.map +1 -1
- package/dist/config/userChannels.d.ts +41 -19
- package/dist/config/userChannels.js +152 -35
- package/dist/config/userChannels.js.map +1 -1
- package/dist/config/userConfig.d.ts +5 -1
- package/dist/config/userConfig.js +58 -6
- package/dist/config/userConfig.js.map +1 -1
- package/dist/config/userProfiles.d.ts +81 -0
- package/dist/config/userProfiles.js +424 -0
- package/dist/config/userProfiles.js.map +1 -0
- package/dist/routes/config/channels/index.d.ts +3 -0
- package/dist/routes/config/channels/index.js +3 -0
- package/dist/routes/config/channels/index.js.map +1 -0
- package/dist/routes/config/channels/routes.d.ts +6 -0
- package/dist/routes/config/channels/routes.js +797 -0
- package/dist/routes/config/channels/routes.js.map +1 -0
- package/dist/routes/config/channels/table.d.ts +46 -0
- package/dist/routes/config/channels/table.js +811 -0
- package/dist/routes/config/channels/table.js.map +1 -0
- package/dist/routes/config/index.d.ts +37 -0
- package/dist/routes/config/index.js +81 -0
- package/dist/routes/config/index.js.map +1 -0
- package/dist/routes/config/providers.d.ts +18 -0
- package/dist/routes/config/providers.js +573 -0
- package/dist/routes/config/providers.js.map +1 -0
- package/dist/routes/config/settings.d.ts +39 -0
- package/dist/routes/config/settings.js +820 -0
- package/dist/routes/config/settings.js.map +1 -0
- package/dist/routes/index.d.ts +3 -2
- package/dist/routes/index.js +7 -4
- package/dist/routes/index.js.map +1 -1
- package/dist/routes/playlist.d.ts +5 -1
- package/dist/routes/playlist.js +32 -7
- package/dist/routes/playlist.js.map +1 -1
- package/dist/routes/providers.d.ts +6 -0
- package/dist/routes/providers.js +166 -0
- package/dist/routes/providers.js.map +1 -0
- package/dist/routes/root/content.d.ts +32 -0
- package/dist/routes/root/content.js +857 -0
- package/dist/routes/root/content.js.map +1 -0
- package/dist/routes/root/index.js +197 -0
- package/dist/routes/root/index.js.map +1 -0
- package/dist/routes/root/scripts/channels.d.ts +1 -0
- package/dist/routes/root/scripts/channels.js +745 -0
- package/dist/routes/root/scripts/channels.js.map +1 -0
- package/dist/routes/root/scripts/config.d.ts +1 -0
- package/dist/routes/root/scripts/config.js +1662 -0
- package/dist/routes/root/scripts/config.js.map +1 -0
- package/dist/routes/root/scripts/index.d.ts +3 -0
- package/dist/routes/root/scripts/index.js +8 -0
- package/dist/routes/root/scripts/index.js.map +1 -0
- package/dist/routes/root/scripts/status.d.ts +1 -0
- package/dist/routes/root/scripts/status.js +436 -0
- package/dist/routes/root/scripts/status.js.map +1 -0
- package/dist/routes/root/styles.d.ts +5 -0
- package/dist/routes/root/styles.js +447 -0
- package/dist/routes/root/styles.js.map +1 -0
- package/dist/routes/theme.js +7 -1
- package/dist/routes/theme.js.map +1 -1
- package/dist/routes/ui.js +8 -3
- package/dist/routes/ui.js.map +1 -1
- package/dist/service/commands.d.ts +5 -3
- package/dist/service/commands.js +117 -33
- package/dist/service/commands.js.map +1 -1
- package/dist/service/generators.d.ts +27 -0
- package/dist/service/generators.js +97 -6
- package/dist/service/generators.js.map +1 -1
- package/dist/streaming/hls.js +18 -1
- package/dist/streaming/hls.js.map +1 -1
- package/dist/streaming/lifecycle.js +1 -1
- package/dist/streaming/lifecycle.js.map +1 -1
- package/dist/streaming/monitor.d.ts +1 -38
- package/dist/streaming/monitor.js +2 -289
- package/dist/streaming/monitor.js.map +1 -1
- package/dist/streaming/recovery.d.ts +143 -0
- package/dist/streaming/recovery.js +286 -0
- package/dist/streaming/recovery.js.map +1 -0
- package/dist/streaming/registry.d.ts +1 -1
- package/dist/streaming/setup.d.ts +1 -1
- package/dist/streaming/setup.js +3 -1
- package/dist/streaming/setup.js.map +1 -1
- package/dist/streaming/showInfo.js +12 -14
- package/dist/streaming/showInfo.js.map +1 -1
- package/dist/streaming/statusEmitter.d.ts +4 -2
- package/dist/streaming/statusEmitter.js +5 -0
- package/dist/streaming/statusEmitter.js.map +1 -1
- package/dist/types/channels.d.ts +68 -0
- package/dist/types/channels.js +2 -0
- package/dist/types/channels.js.map +1 -0
- package/dist/types/config.d.ts +127 -0
- package/dist/types/config.js +2 -0
- package/dist/types/config.js.map +1 -0
- package/dist/types/index.d.ts +7 -406
- package/dist/types/index.js +1 -5
- package/dist/types/index.js.map +1 -1
- package/dist/types/profiles.d.ts +141 -0
- package/dist/types/profiles.js +2 -0
- package/dist/types/profiles.js.map +1 -0
- package/dist/types/selection.d.ts +101 -0
- package/dist/types/selection.js +6 -0
- package/dist/types/selection.js.map +1 -0
- package/dist/types/shared.d.ts +7 -0
- package/dist/types/shared.js +6 -0
- package/dist/types/shared.js.map +1 -0
- package/dist/types/streaming.d.ts +96 -0
- package/dist/types/streaming.js +2 -0
- package/dist/types/streaming.js.map +1 -0
- package/dist/utils/debugFilter.js +3 -1
- package/dist/utils/debugFilter.js.map +1 -1
- package/dist/utils/format.d.ts +7 -0
- package/dist/utils/format.js +22 -0
- package/dist/utils/format.js.map +1 -1
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.js +1 -0
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/sanitize.d.ts +14 -0
- package/dist/utils/sanitize.js +37 -0
- package/dist/utils/sanitize.js.map +1 -0
- package/package.json +6 -4
- package/dist/routes/config.d.ts +0 -72
- package/dist/routes/config.js +0 -1987
- package/dist/routes/config.js.map +0 -1
- package/dist/routes/root.js +0 -2959
- package/dist/routes/root.js.map +0 -1
- /package/dist/routes/{root.d.ts → root/index.d.ts} +0 -0
|
@@ -14,17 +14,19 @@ export declare function handleInstall(force: boolean): Promise<number>;
|
|
|
14
14
|
*/
|
|
15
15
|
export declare function handleUninstall(): Promise<number>;
|
|
16
16
|
/**
|
|
17
|
-
* Handles the `service start` command. Starts the service if it is installed but not running.
|
|
17
|
+
* Handles the `service start` command. Starts the service if it is installed but not running. If the service file contains stale paths (e.g., after a Homebrew
|
|
18
|
+
* upgrade), they are fixed automatically before starting.
|
|
18
19
|
* @returns Exit code (0 for success, 1 for error).
|
|
19
20
|
*/
|
|
20
21
|
export declare function handleStart(): Promise<number>;
|
|
21
22
|
/**
|
|
22
|
-
* Handles the `service stop` command.
|
|
23
|
+
* Handles the `service stop` command. Always attempts to stop the service regardless of whether it appears to be running, ensuring that loaded-but-not-running
|
|
24
|
+
* state (common on launchd after a crash) is properly cleared.
|
|
23
25
|
* @returns Exit code (0 for success, 1 for error).
|
|
24
26
|
*/
|
|
25
27
|
export declare function handleStop(): Promise<number>;
|
|
26
28
|
/**
|
|
27
|
-
* Handles the `service restart` command. Stops the service if
|
|
29
|
+
* Handles the `service restart` command. Stops the service, then compares paths and regenerates the service file if needed before starting.
|
|
28
30
|
* @returns Exit code (0 for success, 1 for error).
|
|
29
31
|
*/
|
|
30
32
|
export declare function handleRestart(): Promise<number>;
|
package/dist/service/commands.js
CHANGED
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
* commands.ts: Service command handlers for PrismCast CLI.
|
|
4
4
|
*/
|
|
5
5
|
import { DEFAULTS, loadUserConfig } from "../config/userConfig.js";
|
|
6
|
-
import { SERVICE_NAME, getPlatform, getServiceFilePath } from "../utils/platform.js";
|
|
7
|
-
import { collectServiceEnvironment, getServiceGenerator } from "./generators.js";
|
|
6
|
+
import { SERVICE_NAME, getNodeExecutablePath, getPlatform, getPrismCastEntryPoint, getServiceFilePath } from "../utils/platform.js";
|
|
7
|
+
import { collectServiceEnvironment, detectStalePaths, getServiceGenerator, getServicePaths } from "./generators.js";
|
|
8
8
|
import { getDataDir } from "../config/paths.js";
|
|
9
9
|
import path from "node:path";
|
|
10
10
|
/* These handlers implement the `prismcast service` subcommands for installing, uninstalling, and checking the status of PrismCast as a system service. Each handler
|
|
@@ -26,6 +26,24 @@ function printError(message) {
|
|
|
26
26
|
// eslint-disable-next-line no-console
|
|
27
27
|
console.error(message);
|
|
28
28
|
}
|
|
29
|
+
/**
|
|
30
|
+
* Prints a stale path warning block to stderr. Called by handleStatus() when the service file references paths that no longer exist on disk.
|
|
31
|
+
*/
|
|
32
|
+
function printStalePathWarning() {
|
|
33
|
+
const staleResult = detectStalePaths();
|
|
34
|
+
if (!staleResult?.stale) {
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
print("");
|
|
38
|
+
printError("Warning: Service file contains stale paths that no longer exist on disk.");
|
|
39
|
+
if (staleResult.nodePath) {
|
|
40
|
+
printError(" Node binary: " + staleResult.nodePath + " (not found)");
|
|
41
|
+
}
|
|
42
|
+
if (staleResult.entryPoint) {
|
|
43
|
+
printError(" Entry point: " + staleResult.entryPoint + " (not found)");
|
|
44
|
+
}
|
|
45
|
+
printError("Run 'prismcast service restart' to update the service file.");
|
|
46
|
+
}
|
|
29
47
|
/**
|
|
30
48
|
* Formats a duration in seconds to a human-readable string.
|
|
31
49
|
* @param seconds - The duration in seconds.
|
|
@@ -202,7 +220,66 @@ export async function handleUninstall() {
|
|
|
202
220
|
return 0;
|
|
203
221
|
}
|
|
204
222
|
/**
|
|
205
|
-
*
|
|
223
|
+
* Core restart logic shared by handleStart() and handleRestart(). Compares paths in the existing service file against the current runtime paths. If the paths have
|
|
224
|
+
* changed (e.g., after a Homebrew or npm upgrade), the service file is regenerated before starting. Otherwise, a normal start is performed. The caller is
|
|
225
|
+
* responsible for validation (platform support, installed check) and for stopping the service if needed before calling this function.
|
|
226
|
+
* @param generator - The validated service generator for the current platform.
|
|
227
|
+
* @param action - The user-facing action verb for success messages ("started" or "restarted").
|
|
228
|
+
* @returns Exit code (0 for success, 1 for error).
|
|
229
|
+
*/
|
|
230
|
+
async function restartService(generator, action) {
|
|
231
|
+
// Compare the paths in the existing service file against the current runtime paths to determine whether regeneration is needed. All supported platforms (launchd,
|
|
232
|
+
// systemd, Windows) store paths in their service files, so getServicePaths() only returns null for corrupt or legacy marker files.
|
|
233
|
+
const existingPaths = getServicePaths();
|
|
234
|
+
const currentNodePath = getNodeExecutablePath();
|
|
235
|
+
const currentEntryPoint = getPrismCastEntryPoint();
|
|
236
|
+
const pathsMatch = (existingPaths?.nodePath === currentNodePath) && (existingPaths.entryPoint === currentEntryPoint);
|
|
237
|
+
// Regenerate the service file if paths have changed or couldn't be extracted.
|
|
238
|
+
if (!pathsMatch) {
|
|
239
|
+
if (existingPaths) {
|
|
240
|
+
print("Detected path changes in service file:");
|
|
241
|
+
if (existingPaths.nodePath !== currentNodePath) {
|
|
242
|
+
print(" Node binary: " + existingPaths.nodePath + " -> " + currentNodePath);
|
|
243
|
+
}
|
|
244
|
+
if (existingPaths.entryPoint !== currentEntryPoint) {
|
|
245
|
+
print(" Entry point: " + existingPaths.entryPoint + " -> " + currentEntryPoint);
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
print("Regenerating service file...");
|
|
249
|
+
try {
|
|
250
|
+
const envVars = collectServiceEnvironment();
|
|
251
|
+
const content = generator.generate({ envVars });
|
|
252
|
+
await generator.install(content);
|
|
253
|
+
}
|
|
254
|
+
catch (error) {
|
|
255
|
+
printError("Error: Failed to regenerate service file.");
|
|
256
|
+
if (error instanceof Error) {
|
|
257
|
+
printError(error.message);
|
|
258
|
+
}
|
|
259
|
+
return 1;
|
|
260
|
+
}
|
|
261
|
+
print("Updated service file with current paths.");
|
|
262
|
+
}
|
|
263
|
+
else {
|
|
264
|
+
// Paths match — normal start cycle without file rewrite.
|
|
265
|
+
print("Starting " + SERVICE_NAME + " service...");
|
|
266
|
+
try {
|
|
267
|
+
await generator.start();
|
|
268
|
+
}
|
|
269
|
+
catch (error) {
|
|
270
|
+
printError("Error: Failed to start service.");
|
|
271
|
+
if (error instanceof Error) {
|
|
272
|
+
printError(error.message);
|
|
273
|
+
}
|
|
274
|
+
return 1;
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
print("Service " + action + " successfully.");
|
|
278
|
+
return 0;
|
|
279
|
+
}
|
|
280
|
+
/**
|
|
281
|
+
* Handles the `service start` command. Starts the service if it is installed but not running. If the service file contains stale paths (e.g., after a Homebrew
|
|
282
|
+
* upgrade), they are fixed automatically before starting.
|
|
206
283
|
* @returns Exit code (0 for success, 1 for error).
|
|
207
284
|
*/
|
|
208
285
|
export async function handleStart() {
|
|
@@ -224,22 +301,11 @@ export async function handleStart() {
|
|
|
224
301
|
print(SERVICE_NAME + " service is already running.");
|
|
225
302
|
return 0;
|
|
226
303
|
}
|
|
227
|
-
|
|
228
|
-
try {
|
|
229
|
-
await generator.start();
|
|
230
|
-
}
|
|
231
|
-
catch (error) {
|
|
232
|
-
printError("Error: Failed to start service.");
|
|
233
|
-
if (error instanceof Error) {
|
|
234
|
-
printError(error.message);
|
|
235
|
-
}
|
|
236
|
-
return 1;
|
|
237
|
-
}
|
|
238
|
-
print("Service started successfully.");
|
|
239
|
-
return 0;
|
|
304
|
+
return restartService(generator, "started");
|
|
240
305
|
}
|
|
241
306
|
/**
|
|
242
|
-
* Handles the `service stop` command.
|
|
307
|
+
* Handles the `service stop` command. Always attempts to stop the service regardless of whether it appears to be running, ensuring that loaded-but-not-running
|
|
308
|
+
* state (common on launchd after a crash) is properly cleared.
|
|
243
309
|
* @returns Exit code (0 for success, 1 for error).
|
|
244
310
|
*/
|
|
245
311
|
export async function handleStop() {
|
|
@@ -254,38 +320,51 @@ export async function handleStop() {
|
|
|
254
320
|
printError("Error: " + SERVICE_NAME + " service is not installed.");
|
|
255
321
|
return 1;
|
|
256
322
|
}
|
|
257
|
-
//
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
print(SERVICE_NAME + " service is not running.");
|
|
261
|
-
return 0;
|
|
262
|
-
}
|
|
323
|
+
// Always attempt to stop the service regardless of whether isRunning() reports it as running. On launchd, a service can be in a "loaded but not running" state
|
|
324
|
+
// (e.g., after a crash) where isRunning() returns false but the stale definition remains loaded. Skipping the stop in that case prevents launchctl unload from
|
|
325
|
+
// clearing the loaded state, which causes subsequent start attempts to reuse the cached (potentially stale) definition.
|
|
263
326
|
print("Stopping " + SERVICE_NAME + " service...");
|
|
264
327
|
try {
|
|
265
328
|
await generator.stop();
|
|
266
329
|
}
|
|
267
330
|
catch (error) {
|
|
268
|
-
|
|
331
|
+
// The stop call may fail if the service wasn't actually loaded or running. This is expected — each platform's stop() can throw when there's nothing to stop.
|
|
332
|
+
// We log the error but don't treat it as a failure since the end state (service stopped) is what we wanted.
|
|
269
333
|
if (error instanceof Error) {
|
|
270
|
-
printError(error.message);
|
|
334
|
+
printError("Note: " + error.message);
|
|
271
335
|
}
|
|
272
|
-
return 1;
|
|
273
336
|
}
|
|
274
337
|
print("Service stopped successfully.");
|
|
275
338
|
return 0;
|
|
276
339
|
}
|
|
277
340
|
/**
|
|
278
|
-
* Handles the `service restart` command. Stops the service if
|
|
341
|
+
* Handles the `service restart` command. Stops the service, then compares paths and regenerates the service file if needed before starting.
|
|
279
342
|
* @returns Exit code (0 for success, 1 for error).
|
|
280
343
|
*/
|
|
281
344
|
export async function handleRestart() {
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
return
|
|
345
|
+
const generator = getServiceGenerator();
|
|
346
|
+
if (!generator) {
|
|
347
|
+
printError("Error: Service management is not supported on this platform (" + getPlatform() + ").");
|
|
348
|
+
return 1;
|
|
286
349
|
}
|
|
287
|
-
//
|
|
288
|
-
|
|
350
|
+
// Check if installed.
|
|
351
|
+
const isInstalled = await generator.isInstalled();
|
|
352
|
+
if (!isInstalled) {
|
|
353
|
+
printError("Error: " + SERVICE_NAME + " service is not installed.");
|
|
354
|
+
printError("Run 'prismcast service install' first.");
|
|
355
|
+
return 1;
|
|
356
|
+
}
|
|
357
|
+
// Stop the service. We call generator.stop() directly rather than handleStop() to avoid the duplicate "not installed" check and to ensure the stop is always
|
|
358
|
+
// attempted regardless of isRunning() state.
|
|
359
|
+
print("Stopping " + SERVICE_NAME + " service...");
|
|
360
|
+
try {
|
|
361
|
+
await generator.stop();
|
|
362
|
+
}
|
|
363
|
+
catch {
|
|
364
|
+
// The service may not be running or loaded. This is fine — we just need it stopped before restart.
|
|
365
|
+
}
|
|
366
|
+
print("");
|
|
367
|
+
return restartService(generator, "restarted");
|
|
289
368
|
}
|
|
290
369
|
/**
|
|
291
370
|
* Handles the `service status` command. Shows the current service installation and running status.
|
|
@@ -311,6 +390,11 @@ export async function handleStatus() {
|
|
|
311
390
|
print("Service file: " + getServiceFilePath());
|
|
312
391
|
print("Installed: " + (isInstalled ? "Yes" : "No"));
|
|
313
392
|
print("Running: " + (isRunning ? "Yes" : "No"));
|
|
393
|
+
// Warn about stale paths if the service is installed. This is the most common scenario users encounter after upgrading — the status shows "not running" with no
|
|
394
|
+
// explanation. The warning gives them a clear next step.
|
|
395
|
+
if (isInstalled) {
|
|
396
|
+
printStalePathWarning();
|
|
397
|
+
}
|
|
314
398
|
// If the service is running, fetch and display active streams.
|
|
315
399
|
if (isRunning) {
|
|
316
400
|
const port = await getServerPort();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commands.js","sourceRoot":"","sources":["../../src/service/commands.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"commands.js","sourceRoot":"","sources":["../../src/service/commands.ts"],"names":[],"mappings":"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"}
|
|
@@ -21,6 +21,33 @@ export interface ServiceGenerator {
|
|
|
21
21
|
stop(): Promise<void>;
|
|
22
22
|
uninstall(): Promise<void>;
|
|
23
23
|
}
|
|
24
|
+
/**
|
|
25
|
+
* Paths extracted from an existing service file.
|
|
26
|
+
*/
|
|
27
|
+
export interface ServicePaths {
|
|
28
|
+
entryPoint: string;
|
|
29
|
+
nodePath: string;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Result of stale path detection.
|
|
33
|
+
*/
|
|
34
|
+
export interface StalePathResult {
|
|
35
|
+
entryPoint?: string;
|
|
36
|
+
nodePath?: string;
|
|
37
|
+
stale: boolean;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Reads the existing service file and extracts the node binary and PrismCast entry point paths. Each platform has its own format: launchd plist XML, systemd unit
|
|
41
|
+
* ExecStart line, or Windows marker file with explicit path entries.
|
|
42
|
+
* @returns The extracted paths, or null if the file doesn't exist or can't be parsed.
|
|
43
|
+
*/
|
|
44
|
+
export declare function getServicePaths(): Nullable<ServicePaths>;
|
|
45
|
+
/**
|
|
46
|
+
* Checks whether the paths in the existing service file still exist on disk. This detects the common post-upgrade scenario where Homebrew or npm has moved the
|
|
47
|
+
* installation to a new versioned directory and the old paths no longer resolve.
|
|
48
|
+
* @returns A StalePathResult indicating which paths are missing, or null if the service file doesn't exist or can't be parsed.
|
|
49
|
+
*/
|
|
50
|
+
export declare function detectStalePaths(): Nullable<StalePathResult>;
|
|
24
51
|
/**
|
|
25
52
|
* Returns the service generator for the current platform.
|
|
26
53
|
* @returns The appropriate ServiceGenerator, or null if the platform is not supported.
|
|
@@ -125,14 +125,17 @@ function createLaunchdGenerator() {
|
|
|
125
125
|
// eslint-disable-next-line @typescript-eslint/require-await
|
|
126
126
|
async start() {
|
|
127
127
|
const installPath = this.getInstallPath();
|
|
128
|
-
//
|
|
128
|
+
// Unload first to clear any stale loaded-but-not-running state. Without this, `launchctl load -w` is a no-op when the definition is already loaded
|
|
129
|
+
// (e.g., after a crash or upgrade with changed paths), and the cached stale definition is reused.
|
|
129
130
|
try {
|
|
130
|
-
execSync("launchctl
|
|
131
|
+
execSync("launchctl unload \"" + installPath + "\"", { stdio: "pipe" });
|
|
131
132
|
}
|
|
132
133
|
catch {
|
|
133
|
-
// Ignore — may
|
|
134
|
+
// Ignore — may not be loaded.
|
|
134
135
|
}
|
|
135
|
-
//
|
|
136
|
+
// Load the plist with the current (possibly updated) definition.
|
|
137
|
+
execSync("launchctl load -w \"" + installPath + "\"", { stdio: "pipe" });
|
|
138
|
+
// Explicitly start the service. This handles the case where RunAtLoad doesn't trigger (e.g., load-then-start sequence).
|
|
136
139
|
execSync("launchctl start " + SERVICE_ID, { stdio: "pipe" });
|
|
137
140
|
},
|
|
138
141
|
// eslint-disable-next-line @typescript-eslint/require-await
|
|
@@ -311,8 +314,11 @@ function createWindowsSchedulerGenerator() {
|
|
|
311
314
|
// Create the scheduled task. The /SC ONLOGON runs at user logon. /RL HIGHEST gives elevated privileges if needed.
|
|
312
315
|
const createCmd = "schtasks /Create /TN \"" + taskName + "\" /TR \"" + content + "\" /SC ONLOGON /RL HIGHEST /F";
|
|
313
316
|
execSync(createCmd, { stdio: "pipe" });
|
|
314
|
-
// Write marker file to indicate installation.
|
|
315
|
-
|
|
317
|
+
// Write marker file to indicate installation. We include the node binary and entry point paths so that getServicePaths() can extract them for stale path
|
|
318
|
+
// detection. The task command itself is stored in the Windows Task Scheduler registry, which isn't easily inspectable.
|
|
319
|
+
const nodePath = getNodeExecutablePath();
|
|
320
|
+
const entryPoint = getPrismCastEntryPoint();
|
|
321
|
+
await fsPromises.writeFile(installPath, "node:" + nodePath + "\nentry:" + entryPoint + "\n", "utf8");
|
|
316
322
|
// Start the task immediately.
|
|
317
323
|
try {
|
|
318
324
|
execSync("schtasks /Run /TN \"" + taskName + "\"", { stdio: "pipe" });
|
|
@@ -367,6 +373,91 @@ function createWindowsSchedulerGenerator() {
|
|
|
367
373
|
}
|
|
368
374
|
};
|
|
369
375
|
}
|
|
376
|
+
/**
|
|
377
|
+
* Reads the existing service file and extracts the node binary and PrismCast entry point paths. Each platform has its own format: launchd plist XML, systemd unit
|
|
378
|
+
* ExecStart line, or Windows marker file with explicit path entries.
|
|
379
|
+
* @returns The extracted paths, or null if the file doesn't exist or can't be parsed.
|
|
380
|
+
*/
|
|
381
|
+
export function getServicePaths() {
|
|
382
|
+
const filePath = getServiceFilePath();
|
|
383
|
+
if (!fs.existsSync(filePath)) {
|
|
384
|
+
return null;
|
|
385
|
+
}
|
|
386
|
+
let content;
|
|
387
|
+
try {
|
|
388
|
+
content = fs.readFileSync(filePath, "utf8");
|
|
389
|
+
}
|
|
390
|
+
catch {
|
|
391
|
+
return null;
|
|
392
|
+
}
|
|
393
|
+
switch (getPlatform()) {
|
|
394
|
+
// Launchd plist: ProgramArguments contains two <string> elements — first is the node path, second is the entry point.
|
|
395
|
+
case "darwin": {
|
|
396
|
+
const stringPattern = /<string>([^<]+)<\/string>/g;
|
|
397
|
+
const matches = [];
|
|
398
|
+
let match;
|
|
399
|
+
// Walk the ProgramArguments array. We look for the section after the ProgramArguments key and extract the first two string values.
|
|
400
|
+
const programArgsIndex = content.indexOf("<key>ProgramArguments</key>");
|
|
401
|
+
if (programArgsIndex === -1) {
|
|
402
|
+
return null;
|
|
403
|
+
}
|
|
404
|
+
// Extract strings from the <array> section following ProgramArguments.
|
|
405
|
+
const arraySection = content.slice(programArgsIndex);
|
|
406
|
+
while ((match = stringPattern.exec(arraySection)) !== null) {
|
|
407
|
+
matches.push(match[1]);
|
|
408
|
+
if (matches.length === 2) {
|
|
409
|
+
break;
|
|
410
|
+
}
|
|
411
|
+
}
|
|
412
|
+
if (matches.length < 2) {
|
|
413
|
+
return null;
|
|
414
|
+
}
|
|
415
|
+
return { entryPoint: matches[1], nodePath: matches[0] };
|
|
416
|
+
}
|
|
417
|
+
// Systemd unit: ExecStart=<node> <entrypoint> on one line.
|
|
418
|
+
case "linux": {
|
|
419
|
+
const execStartMatch = /^ExecStart=(.+)$/m.exec(content);
|
|
420
|
+
if (!execStartMatch) {
|
|
421
|
+
return null;
|
|
422
|
+
}
|
|
423
|
+
const parts = execStartMatch[1].split(" ");
|
|
424
|
+
if (parts.length < 2) {
|
|
425
|
+
return null;
|
|
426
|
+
}
|
|
427
|
+
return { entryPoint: parts[1], nodePath: parts[0] };
|
|
428
|
+
}
|
|
429
|
+
// Windows: paths are stored in the marker file as "node:<path>" and "entry:<path>" lines.
|
|
430
|
+
case "windows": {
|
|
431
|
+
const nodeMatch = /^node:(.+)$/m.exec(content);
|
|
432
|
+
const entryMatch = /^entry:(.+)$/m.exec(content);
|
|
433
|
+
if (!nodeMatch || !entryMatch) {
|
|
434
|
+
return null;
|
|
435
|
+
}
|
|
436
|
+
return { entryPoint: entryMatch[1], nodePath: nodeMatch[1] };
|
|
437
|
+
}
|
|
438
|
+
default: {
|
|
439
|
+
return null;
|
|
440
|
+
}
|
|
441
|
+
}
|
|
442
|
+
}
|
|
443
|
+
/**
|
|
444
|
+
* Checks whether the paths in the existing service file still exist on disk. This detects the common post-upgrade scenario where Homebrew or npm has moved the
|
|
445
|
+
* installation to a new versioned directory and the old paths no longer resolve.
|
|
446
|
+
* @returns A StalePathResult indicating which paths are missing, or null if the service file doesn't exist or can't be parsed.
|
|
447
|
+
*/
|
|
448
|
+
export function detectStalePaths() {
|
|
449
|
+
const paths = getServicePaths();
|
|
450
|
+
if (!paths) {
|
|
451
|
+
return null;
|
|
452
|
+
}
|
|
453
|
+
const nodeStale = !fs.existsSync(paths.nodePath);
|
|
454
|
+
const entryStale = !fs.existsSync(paths.entryPoint);
|
|
455
|
+
return {
|
|
456
|
+
entryPoint: entryStale ? paths.entryPoint : undefined,
|
|
457
|
+
nodePath: nodeStale ? paths.nodePath : undefined,
|
|
458
|
+
stale: nodeStale || entryStale
|
|
459
|
+
};
|
|
460
|
+
}
|
|
370
461
|
/* Returns the appropriate service generator for the current platform.
|
|
371
462
|
*/
|
|
372
463
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generators.js","sourceRoot":"","sources":["../../src/service/generators.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"generators.js","sourceRoot":"","sources":["../../src/service/generators.ts"],"names":[],"mappings":"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"}
|
package/dist/streaming/hls.js
CHANGED
|
@@ -6,10 +6,12 @@ import { deleteChannelStreamId, getChannelStreamId, isTerminationInitiated, setC
|
|
|
6
6
|
import { emitCurrentSystemStatus, isLoginModeActive, unregisterManagedPage } from "../browser/index.js";
|
|
7
7
|
import { getAllChannels, isPredefinedChannelDisabled } from "../config/userChannels.js";
|
|
8
8
|
import { getInitSegment, getPlaylist, getSegment, waitForPlaylist } from "./hlsSegments.js";
|
|
9
|
-
import { getResolvedChannel, resolveProviderKey } from "../config/providers.js";
|
|
9
|
+
import { getProviderTagForChannel, getResolvedChannel, resolveProviderKey } from "../config/providers.js";
|
|
10
|
+
import { markChannelFailure, markChannelSuccess } from "../config/health.js";
|
|
10
11
|
import { CONFIG } from "../config/index.js";
|
|
11
12
|
import { createFMP4Segmenter } from "./fmp4Segmenter.js";
|
|
12
13
|
import { createHash } from "node:crypto";
|
|
14
|
+
import { getProviderBySlug } from "../browser/channelSelection.js";
|
|
13
15
|
import { registerClient } from "./clients.js";
|
|
14
16
|
import { triggerShowNameUpdate } from "./showInfo.js";
|
|
15
17
|
// Login mode error body used by both validateChannel() and handlePlayStream() to ensure consistent response format.
|
|
@@ -552,6 +554,12 @@ export async function initializeStream(options) {
|
|
|
552
554
|
}, onCircuitBreak);
|
|
553
555
|
}
|
|
554
556
|
catch (error) {
|
|
557
|
+
// Mark channel health as failed. Only for predefined channels (channel is defined). Ad-hoc URL streams have no persistent channel identity.
|
|
558
|
+
if (channel) {
|
|
559
|
+
const failVariantKey = resolveProviderKey(channelName);
|
|
560
|
+
const failProviderTag = getProviderTagForChannel(failVariantKey);
|
|
561
|
+
markChannelFailure(channelName, failProviderTag);
|
|
562
|
+
}
|
|
555
563
|
// Remove startup sentinel on failure and re-throw for the caller to handle error responses.
|
|
556
564
|
deleteChannelStreamId(channelName);
|
|
557
565
|
throw error;
|
|
@@ -622,6 +630,15 @@ export async function initializeStream(options) {
|
|
|
622
630
|
const displayName = channel?.name ?? url;
|
|
623
631
|
const tuneTime = ((Date.now() - setup.startTime.getTime()) / 1000).toFixed(1);
|
|
624
632
|
LOG.info("Streaming %s (%s, %s). Tuned in %ss%s.", displayName, setup.profileName, captureMode, tuneTime, setup.directTune ? " (direct)" : "");
|
|
633
|
+
// Mark channel health as successful. Only for predefined channels (channel is defined). Ad-hoc URL streams have no persistent channel identity. Provider
|
|
634
|
+
// auth is conditionally skipped when the provider defines validateTune and the tuned channel does not prove paid access (e.g., Sling Freestream channels).
|
|
635
|
+
if (channel) {
|
|
636
|
+
const successVariantKey = resolveProviderKey(channelName);
|
|
637
|
+
const successProviderTag = getProviderTagForChannel(successVariantKey);
|
|
638
|
+
const provider = getProviderBySlug(successProviderTag);
|
|
639
|
+
const markAuth = !provider?.validateTune || provider.validateTune(channel.channelSelector ?? channelName);
|
|
640
|
+
markChannelSuccess(channelName, successProviderTag, markAuth);
|
|
641
|
+
}
|
|
625
642
|
// Emit stream added event.
|
|
626
643
|
emitStreamAdded(createInitialStreamStatus({
|
|
627
644
|
channelName: channel?.name ?? null,
|