prismcast 1.3.4 → 1.4.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.
Files changed (101) hide show
  1. package/dist/app.d.ts +3 -2
  2. package/dist/app.js +32 -17
  3. package/dist/app.js.map +1 -1
  4. package/dist/browser/channelSelection.d.ts +3 -2
  5. package/dist/browser/channelSelection.js +43 -19
  6. package/dist/browser/channelSelection.js.map +1 -1
  7. package/dist/browser/index.d.ts +1 -6
  8. package/dist/browser/index.js +14 -28
  9. package/dist/browser/index.js.map +1 -1
  10. package/dist/browser/tuning/hulu.js +613 -13
  11. package/dist/browser/tuning/hulu.js.map +1 -1
  12. package/dist/browser/tuning/sling.js +1 -1
  13. package/dist/browser/tuning/thumbnailRow.js +69 -71
  14. package/dist/browser/tuning/thumbnailRow.js.map +1 -1
  15. package/dist/browser/tuning/tileClick.js +111 -77
  16. package/dist/browser/tuning/tileClick.js.map +1 -1
  17. package/dist/browser/tuning/youtubeTv.js +5 -5
  18. package/dist/browser/tuning/youtubeTv.js.map +1 -1
  19. package/dist/browser/video.d.ts +3 -10
  20. package/dist/browser/video.js +91 -10
  21. package/dist/browser/video.js.map +1 -1
  22. package/dist/config/index.d.ts +9 -3
  23. package/dist/config/index.js +28 -28
  24. package/dist/config/index.js.map +1 -1
  25. package/dist/config/paths.d.ts +41 -0
  26. package/dist/config/paths.js +88 -0
  27. package/dist/config/paths.js.map +1 -0
  28. package/dist/config/providers.js +1 -1
  29. package/dist/config/sites.js +29 -12
  30. package/dist/config/sites.js.map +1 -1
  31. package/dist/config/userChannels.d.ts +1 -1
  32. package/dist/config/userChannels.js +10 -13
  33. package/dist/config/userChannels.js.map +1 -1
  34. package/dist/config/userConfig.d.ts +14 -7
  35. package/dist/config/userConfig.js +59 -34
  36. package/dist/config/userConfig.js.map +1 -1
  37. package/dist/index.d.ts +11 -1
  38. package/dist/index.js +187 -25
  39. package/dist/index.js.map +1 -1
  40. package/dist/routes/config.js +15 -7
  41. package/dist/routes/config.js.map +1 -1
  42. package/dist/routes/debug.js +41 -6
  43. package/dist/routes/debug.js.map +1 -1
  44. package/dist/routes/index.d.ts +1 -0
  45. package/dist/routes/index.js +3 -0
  46. package/dist/routes/index.js.map +1 -1
  47. package/dist/routes/logs.js +3 -3
  48. package/dist/routes/logs.js.map +1 -1
  49. package/dist/routes/playlist.d.ts +2 -2
  50. package/dist/routes/playlist.js +11 -9
  51. package/dist/routes/playlist.js.map +1 -1
  52. package/dist/routes/root.js +41 -2
  53. package/dist/routes/root.js.map +1 -1
  54. package/dist/routes/theme.js +4 -0
  55. package/dist/routes/theme.js.map +1 -1
  56. package/dist/routes/ui.js +2 -0
  57. package/dist/routes/ui.js.map +1 -1
  58. package/dist/routes/upgrade.d.ts +6 -0
  59. package/dist/routes/upgrade.js +68 -0
  60. package/dist/routes/upgrade.js.map +1 -0
  61. package/dist/service/commands.js +9 -7
  62. package/dist/service/commands.js.map +1 -1
  63. package/dist/service/generators.js +10 -15
  64. package/dist/service/generators.js.map +1 -1
  65. package/dist/streaming/fmp4Segmenter.d.ts +28 -0
  66. package/dist/streaming/fmp4Segmenter.js +140 -47
  67. package/dist/streaming/fmp4Segmenter.js.map +1 -1
  68. package/dist/streaming/hls.js +3 -1
  69. package/dist/streaming/hls.js.map +1 -1
  70. package/dist/streaming/lifecycle.js +13 -6
  71. package/dist/streaming/lifecycle.js.map +1 -1
  72. package/dist/streaming/mp4Parser.d.ts +19 -10
  73. package/dist/streaming/mp4Parser.js +39 -29
  74. package/dist/streaming/mp4Parser.js.map +1 -1
  75. package/dist/streaming/setup.d.ts +2 -0
  76. package/dist/streaming/setup.js +4 -1
  77. package/dist/streaming/setup.js.map +1 -1
  78. package/dist/types/index.d.ts +10 -7
  79. package/dist/types/index.js.map +1 -1
  80. package/dist/upgrade/commands.d.ts +6 -0
  81. package/dist/upgrade/commands.js +210 -0
  82. package/dist/upgrade/commands.js.map +1 -0
  83. package/dist/upgrade/detection.d.ts +15 -0
  84. package/dist/upgrade/detection.js +75 -0
  85. package/dist/upgrade/detection.js.map +1 -0
  86. package/dist/upgrade/index.d.ts +2 -0
  87. package/dist/upgrade/index.js +7 -0
  88. package/dist/upgrade/index.js.map +1 -0
  89. package/dist/utils/fileLogger.d.ts +2 -1
  90. package/dist/utils/fileLogger.js +10 -8
  91. package/dist/utils/fileLogger.js.map +1 -1
  92. package/dist/utils/logger.js +1 -1
  93. package/dist/utils/m3u.js +1 -7
  94. package/dist/utils/m3u.js.map +1 -1
  95. package/dist/utils/platform.d.ts +8 -2
  96. package/dist/utils/platform.js +26 -6
  97. package/dist/utils/platform.js.map +1 -1
  98. package/dist/utils/version.d.ts +18 -0
  99. package/dist/utils/version.js +3 -3
  100. package/dist/utils/version.js.map +1 -1
  101. package/package.json +6 -6
@@ -4,7 +4,7 @@ import { logAvailableChannels } from "../channelSelection.js";
4
4
  // Base URL for YouTube TV watch page navigation.
5
5
  const YOUTUBE_TV_BASE_URL = "https://tv.youtube.com";
6
6
  // Module-level cache for watch URLs discovered during channel selection. On the first tune to any YTTV channel, the strategy performs a bulk scrape of all ~256
7
- // channels in the non-virtualized EPG grid, populating this cache with every channel's watch URL keyed by its lowercased guide name (e.g., "cnn", "nbc 5", "wgn").
7
+ // channels in the non-virtualized EPG grid, populating this cache with every channel's watch URL keyed by its lowercased guide name (e.g., "cnn", "nbc 5", "espn").
8
8
  // Subsequent tunes to any YTTV channel resolve via findWatchUrl() in resolveDirectUrl, skipping guide navigation entirely. Cleared on browser disconnect via
9
9
  // clearYttvCache().
10
10
  const yttvWatchUrlCache = new Map();
@@ -25,7 +25,7 @@ const CHANNEL_ALTERNATES = {
25
25
  *
26
26
  * 1. Exact match: cache key equals the lowercased name (e.g., "cnn" matches "cnn").
27
27
  * 2. Prefix+digit: cache key starts with the name followed by a space and a digit. Catches local affiliates displayed as "{Network} {Number}" (e.g., "nbc 5",
28
- * "abc 7") while excluding unrelated channels (e.g., "nbc sports chicago").
28
+ * "abc 7") while excluding unrelated channels that share the prefix (e.g., "nbc sports").
29
29
  * 3. Parenthetical suffix: cache key starts with the name followed by " (". Catches timezone/region variants like "magnolia network (pacific)".
30
30
  *
31
31
  * When a non-exact match succeeds, the result is also cached under the primary channelSelector key for O(1) lookup on subsequent calls. This function doubles as
@@ -51,7 +51,7 @@ function findWatchUrl(channelName) {
51
51
  return exact;
52
52
  }
53
53
  // Tier 2: Prefix+digit match for local affiliates. Iterate all cache entries to find one whose key starts with "{name} " followed by a digit, matching the
54
- // "{Network} {Number}" pattern (e.g., "nbc 5", "abc 7") while excluding unrelated channels (e.g., "nbc sports chicago").
54
+ // "{Network} {Number}" pattern (e.g., "nbc 5", "abc 7") while excluding unrelated channels that share the prefix (e.g., "nbc sports").
55
55
  for (const [key, url] of yttvWatchUrlCache) {
56
56
  if (key.startsWith(name + " ") && (key.length > name.length + 1) && (key.charCodeAt(name.length + 1) >= 48) && (key.charCodeAt(name.length + 1) <= 57)) {
57
57
  yttvWatchUrlCache.set(lower, url);
@@ -126,8 +126,8 @@ async function youtubeGridStrategy(page, profile) {
126
126
  return results;
127
127
  }, []);
128
128
  // Populate the watch URL cache with all discovered channels. This makes every subsequent YTTV tune a cache hit via resolveDirectUrl, skipping guide navigation
129
- // entirely. Cache keys are lowercased guide names (e.g., "cnn", "nbc 5", "wgn"). The tiered matching in findWatchUrl() handles channelSelector-to-guide-name
130
- // resolution (e.g., "NBC" finds "nbc 5" via prefix+digit matching, "CW" finds "wgn" via CHANNEL_ALTERNATES).
129
+ // entirely. Cache keys are lowercased guide names (e.g., "cnn", "nbc 5", "espn"). The tiered matching in findWatchUrl() handles channelSelector-to-guide-name
130
+ // resolution (e.g., "NBC" finds "nbc 5" via prefix+digit matching, "CW" finds the local affiliate via CHANNEL_ALTERNATES).
131
131
  for (const ch of allChannels) {
132
132
  yttvWatchUrlCache.set(ch.name.toLowerCase(), YOUTUBE_TV_BASE_URL + "/" + ch.watchPath);
133
133
  }
@@ -1 +1 @@
1
- {"version":3,"file":"youtubeTv.js","sourceRoot":"","sources":["../../../src/browser/tuning/youtubeTv.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"youtubeTv.js","sourceRoot":"","sources":["../../../src/browser/tuning/youtubeTv.ts"],"names":[],"mappings":"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"}
@@ -192,16 +192,9 @@ export declare function triggerFullscreen(page: Page, context: Frame | Page, pro
192
192
  */
193
193
  export declare function verifyFullscreen(context: Frame | Page, selectorType: VideoSelectorType): Promise<Nullable<boolean>>;
194
194
  /**
195
- * Ensures the video is displayed fullscreen with verification and retry logic. This function orchestrates the fullscreen process:
196
- *
197
- * 1. Initial attempt: Apply CSS styles and trigger fullscreen API
198
- * 2. Verify: Check video dimensions and, for fullscreenApi profiles, confirm document.fullscreenElement is set
199
- * 3. Simple retry: If verification fails, click the video for user activation and retry (the Fullscreen API requires a recent user gesture)
200
- * 4. Escalate: If simple retries fail, apply aggressive fullscreen techniques with a final Fullscreen API re-trigger
201
- *
202
- * The retry approach handles both timing issues (page still initializing) and user activation issues (requestFullscreen requires a recent user gesture).
203
- * On retry, clicking the video provides fresh activation so the subsequent requestFullscreen() call can succeed. Escalation to aggressive techniques is a
204
- * last resort that may break site functionality but ensures video fills the viewport.
195
+ * Ensures the video is displayed fullscreen with verification and retry logic. For profiles that use the native Fullscreen API, this serializes through a
196
+ * promise-chain mutex so only one tab activates fullscreen at a time — Chrome requires the tab to be in the foreground for requestFullscreen() to succeed, and
197
+ * concurrent tabs would steal foreground from each other. When skipNativeFullscreen is true (monitor recovery), the mutex is bypassed entirely.
205
198
  * @param page - The Puppeteer page object for keyboard input.
206
199
  * @param context - The frame or page containing the video element.
207
200
  * @param profile - The site profile indicating fullscreen method.
@@ -43,6 +43,20 @@ export function buildVideoSelectorType(profile) {
43
43
  // with a single video element can just take the first one.
44
44
  return profile.selectReadyVideo ? "selectReadyVideo" : "selectFirstVideo";
45
45
  }
46
+ /* These helper functions encapsulate common video element operations that are used in both initial setup and health monitoring. By centralizing these operations,
47
+ * we ensure consistent behavior and reduce code duplication across the codebase.
48
+ *
49
+ * Many functions below contain identical video selection logic. This duplication is intentional and unavoidable due to Puppeteer's architecture. When we call
50
+ * evaluateWithAbort(), the function body is serialized as a string and executed in Chrome's browser context. We cannot import shared modules (browser context has
51
+ * no access to Node modules), pass function references (only serializable data crosses the boundary), or use closures over Node-side variables (they don't exist
52
+ * in the browser). Each browser-context function must be self-contained. The duplication is the cost of operating across the Node/browser boundary. To maintain
53
+ * consistency, all video selector blocks must use the same pattern, and when modifying the selection logic, update all functions that use this pattern.
54
+ * - The selectorType parameter MUST be passed as the first argument to evaluateWithAbort
55
+ */
56
+ // Fullscreen activation queue. Chrome's Fullscreen API requires the target tab to be in the foreground (focused). When multiple streams start concurrently, each
57
+ // tab must call page.bringToFront() before requestFullscreen() — but without serialization, tabs steal foreground from each other, causing silent failures. We
58
+ // serialize the bringToFront → triggerFullscreen → verify sequence using a promise chain so each tab gets exclusive foreground access during fullscreen activation.
59
+ let fullscreenQueue = Promise.resolve();
46
60
  /**
47
61
  * Gets the current state of the video element for health monitoring. Returns null if no video element is found.
48
62
  * @param context - The frame or page containing the video element.
@@ -98,6 +112,25 @@ export async function enforceVideoVolume(context, selectorType) {
98
112
  }
99
113
  }, [selectorType]);
100
114
  }
115
+ /**
116
+ * Mutes all video elements on the page to suppress wrong-channel audio during tuning. When a page loads (e.g. Hulu's /live), a default livestream auto-plays before
117
+ * channel selection can switch to the target channel. Since the capture pipeline is already running, this audio bleeds into the stream. Muting preemptively silences it.
118
+ * This is best-effort: if no video elements exist yet, or the page is in a transitional state, the error is silently ignored. The unmute happens naturally when
119
+ * ensurePlayback() calls startVideoPlayback() after tuning completes.
120
+ * @param page - The Puppeteer page object.
121
+ */
122
+ async function muteExistingVideos(page) {
123
+ try {
124
+ await page.evaluate(() => {
125
+ for (const video of Array.from(document.querySelectorAll("video"))) {
126
+ video.muted = true;
127
+ }
128
+ });
129
+ }
130
+ catch {
131
+ // Best-effort. The page may still be loading, or there may be no video elements yet.
132
+ }
133
+ }
101
134
  /**
102
135
  * Validates that a video element exists and returns its ready state. Used after page navigation to verify recovery succeeded.
103
136
  * @param context - The frame or page containing the video element.
@@ -704,7 +737,50 @@ async function applyAggressiveFullscreen(context, selectorType) {
704
737
  }, [selectorType]);
705
738
  }
706
739
  /**
707
- * Ensures the video is displayed fullscreen with verification and retry logic. This function orchestrates the fullscreen process:
740
+ * Ensures the video is displayed fullscreen with verification and retry logic. For profiles that use the native Fullscreen API, this serializes through a
741
+ * promise-chain mutex so only one tab activates fullscreen at a time — Chrome requires the tab to be in the foreground for requestFullscreen() to succeed, and
742
+ * concurrent tabs would steal foreground from each other. When skipNativeFullscreen is true (monitor recovery), the mutex is bypassed entirely.
743
+ * @param page - The Puppeteer page object for keyboard input.
744
+ * @param context - The frame or page containing the video element.
745
+ * @param profile - The site profile indicating fullscreen method.
746
+ * @param selectorType - The video selector type for finding the element.
747
+ * @param skipNativeFullscreen - When true, skips Fullscreen API-specific actions (click-for-activation, native fullscreen verification, API retries). CSS styling
748
+ * and keyboard shortcuts still run. Used during monitor recovery where user activation is unavailable and click-for-activation can interfere with playback.
749
+ */
750
+ export async function ensureFullscreen(page, context, profile, selectorType, skipNativeFullscreen) {
751
+ const useNativeFullscreen = profile.useRequestFullscreen && !skipNativeFullscreen;
752
+ // Inject a persistent stylesheet to hide site-specific overlay elements (e.g., player control bars, toolbars) that would otherwise appear in the captured stream.
753
+ // The style tag persists for the page lifetime and is idempotent — duplicate injections from recovery calls are harmless since CSS rules are deduplicated.
754
+ if (profile.hideSelector) {
755
+ const css = profile.hideSelector + " { display: none !important; }";
756
+ await page.addStyleTag({ content: css }).catch(() => { });
757
+ }
758
+ // CSS-only path (monitor recovery or profiles without native fullscreen). No serialization needed — CSS styling works fine from background tabs.
759
+ if (!useNativeFullscreen) {
760
+ return runFullscreenSequence(page, context, profile, selectorType, false);
761
+ }
762
+ // Native fullscreen path. Serialize through the fullscreen queue so only one tab at a time goes through bringToFront → requestFullscreen → verify. Without
763
+ // this, concurrent streams steal foreground from each other and all fullscreen attempts silently fail.
764
+ const FULLSCREEN_QUEUE_TIMEOUT = 10000;
765
+ fullscreenQueue = fullscreenQueue.then(async () => {
766
+ try {
767
+ await Promise.race([
768
+ runFullscreenSequence(page, context, profile, selectorType, true),
769
+ new Promise((_, reject) => {
770
+ setTimeout(() => {
771
+ reject(new Error("Fullscreen queue entry timed out."));
772
+ }, FULLSCREEN_QUEUE_TIMEOUT);
773
+ })
774
+ ]);
775
+ }
776
+ catch (error) {
777
+ LOG.warn("Fullscreen queue entry failed: %s", formatError(error));
778
+ }
779
+ });
780
+ await fullscreenQueue;
781
+ }
782
+ /**
783
+ * Runs the fullscreen sequence with verification and retry logic. This function orchestrates the fullscreen process:
708
784
  *
709
785
  * 1. Initial attempt: Apply CSS styles and trigger fullscreen API
710
786
  * 2. Verify: Check video dimensions and, for fullscreenApi profiles, confirm document.fullscreenElement is set
@@ -718,19 +794,13 @@ async function applyAggressiveFullscreen(context, selectorType) {
718
794
  * @param context - The frame or page containing the video element.
719
795
  * @param profile - The site profile indicating fullscreen method.
720
796
  * @param selectorType - The video selector type for finding the element.
721
- * @param skipNativeFullscreen - When true, skips Fullscreen API-specific actions (click-for-activation, native fullscreen verification, API retries). CSS styling
722
- * and keyboard shortcuts still run. Used during monitor recovery where user activation is unavailable and click-for-activation can interfere with playback.
797
+ * @param useNativeFullscreen - Whether to use the native Fullscreen API (bringToFront, click-for-activation, API verification).
723
798
  */
724
- export async function ensureFullscreen(page, context, profile, selectorType, skipNativeFullscreen) {
799
+ async function runFullscreenSequence(page, context, profile, selectorType, useNativeFullscreen) {
725
800
  // Configuration for retry behavior. These values are tuned for typical page load timing.
726
801
  const maxSimpleRetries = 3;
727
802
  const retryDelay = 500;
728
803
  const verifyDelay = 200;
729
- // When skipNativeFullscreen is set, we skip all Fullscreen API-specific actions: click-for-activation (which can toggle playback state and interfere with
730
- // recovery), native fullscreen verification (which always fails without user activation), and API retries. CSS styling + keyboard shortcuts still run normally.
731
- // This is used during monitor recovery where the Fullscreen API cannot succeed (no user activation context) and the monitor's own lightweight fullscreen
732
- // maintenance loop handles ongoing CSS reapplication.
733
- const useNativeFullscreen = profile.useRequestFullscreen && !skipNativeFullscreen;
734
804
  for (let attempt = 1; attempt <= maxSimpleRetries; attempt++) {
735
805
  // On retry for fullscreenApi profiles, click the video to provide fresh user activation. The Fullscreen API requires a recent user gesture (transient
736
806
  // activation) to succeed — without it, requestFullscreen() is silently rejected. The initial attempt relies on activation from page navigation, but retries
@@ -742,6 +812,11 @@ export async function ensureFullscreen(page, context, profile, selectorType, ski
742
812
  // Apply CSS styles to make the video fill the viewport.
743
813
  // eslint-disable-next-line no-await-in-loop
744
814
  await applyVideoStyles(context, selectorType);
815
+ // Bring the tab to the foreground before requesting fullscreen. Chrome requires the tab to be focused for requestFullscreen() to succeed.
816
+ if (useNativeFullscreen) {
817
+ // eslint-disable-next-line no-await-in-loop
818
+ await page.bringToFront();
819
+ }
745
820
  // Trigger native fullscreen using the site's preferred method (keyboard shortcut or JavaScript API).
746
821
  // eslint-disable-next-line no-await-in-loop
747
822
  await triggerFullscreen(page, context, profile, selectorType);
@@ -789,8 +864,10 @@ export async function ensureFullscreen(page, context, profile, selectorType, ski
789
864
  if (!profile.fullscreenKey) {
790
865
  await page.keyboard.type("f");
791
866
  }
792
- // Re-trigger the Fullscreen API after aggressive styling — the aggressive CSS ensures the video fills the viewport, and the API call hides site UI.
867
+ // Re-trigger the Fullscreen API after aggressive styling — the aggressive CSS ensures the video fills the viewport, and the API call hides site UI. Bring the
868
+ // tab to foreground first, since other tabs may have stolen focus while we were escalating.
793
869
  if (useNativeFullscreen) {
870
+ await page.bringToFront();
794
871
  await triggerFullscreen(page, context, profile, selectorType);
795
872
  }
796
873
  // Final verification after aggressive techniques.
@@ -901,6 +978,10 @@ async function dismissGuideOverlay(page) {
901
978
  */
902
979
  export async function initializePlayback(page, profile, skipChannelSelection = false) {
903
980
  const elapsed = startTimer();
981
+ // Mute any existing video elements to suppress wrong-channel audio during tuning. On SPA-based providers (Hulu, Fox, USA Network, etc.), a default livestream
982
+ // auto-plays when the page loads. Since the capture pipeline is already running, this audio bleeds into the stream until channel selection completes and
983
+ // ensurePlayback() unmutes the correct channel. For providers where no video exists yet, this is a harmless no-op.
984
+ await muteExistingVideos(page);
904
985
  // For multi-channel players (like usanetwork.com/live with multiple channels), select the desired channel from the UI. The selectChannel function checks the
905
986
  // profile's channelSelection strategy and channelSelector to determine if/how to select a channel. Skipped when navigating directly to a cached watch URL,
906
987
  // since the URL already targets the correct channel.
@@ -1 +1 @@
1
- {"version":3,"file":"video.js","sourceRoot":"","sources":["../../src/browser/video.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"video.js","sourceRoot":"","sources":["../../src/browser/video.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,9 @@
1
1
  import type { Config, Nullable } from "../types/index.js";
2
+ /**
3
+ * CLI override map. Keys are dot-separated CONFIG_METADATA paths (e.g., "server.port", "paths.chromeDataDir"). Values are the parsed CLI flag values. Applied as the
4
+ * highest-priority merge pass in mergeConfiguration().
5
+ */
6
+ export type CliOverrides = Record<string, unknown>;
2
7
  export declare let CONFIG: Config;
3
8
  /**
4
9
  * Indicates whether a user config file parse error occurred during initialization. The web UI displays a warning when this is true.
@@ -9,10 +14,11 @@ export declare let configParseError: boolean;
9
14
  */
10
15
  export declare let configParseErrorMessage: string | undefined;
11
16
  /**
12
- * Initializes the configuration by loading the user config file, merging with defaults, and applying environment variable overrides. This must be called at startup
13
- * before any code accesses CONFIG. After initialization, the CONFIG object contains the final merged values.
17
+ * Initializes the configuration by loading the user config file, merging with defaults, applying environment variable overrides, and applying CLI overrides. This
18
+ * must be called at startup before any code accesses CONFIG. After initialization, the CONFIG object contains the final merged values.
19
+ * @param cliOverrides - Optional CLI flag overrides, applied at the highest priority level.
14
20
  */
15
- export declare function initializeConfiguration(): Promise<void>;
21
+ export declare function initializeConfiguration(cliOverrides?: CliOverrides): Promise<void>;
16
22
  /**
17
23
  * Returns a deep copy of the default configuration. Used by the web UI to display default values and handle reset operations.
18
24
  * @returns A copy of the default configuration.
@@ -1,26 +1,8 @@
1
1
  import { DEFAULTS, loadUserConfig, mergeConfiguration } from "./userConfig.js";
2
+ import { LOG, getCurrentPattern, getPackageVersion, initDebugFilter, isAnyDebugEnabled } from "../utils/index.js";
2
3
  import { formatPresetStatus, getEffectivePreset, getValidPresetIds } from "./presets.js";
3
- import { LOG } from "../utils/index.js";
4
- /* The CONFIG object centralizes all tunable parameters for the application. Configuration uses a layered approach with the following priority (highest to lowest):
5
- *
6
- * 1. Environment variables (SCREAMING_SNAKE_CASE naming)
7
- * 2. User config file (~/.prismcast/config.json)
8
- * 3. Hard-coded defaults (defined in userConfig.ts)
9
- *
10
- * This design allows Docker deployments to use environment variables for overrides while standalone installations can use the web UI at /config for convenience.
11
- *
12
- * The settings are organized by functional area:
13
- *
14
- * - server: Network binding for the HTTP server (port, host)
15
- * - browser: Chrome launch settings (executable path, init timeout)
16
- * - streaming: Media capture quality (preset, bitrates, frame rate) and timeout limits
17
- * - playback: Health monitoring intervals and recovery timing thresholds
18
- * - recovery: Retry backoff parameters and circuit breaker configuration
19
- * - paths: Filesystem locations for Chrome profile and extension data
20
- *
21
- * Configuration is initialized at startup via initializeConfiguration(), which loads the user config file, merges with defaults, applies environment overrides, and
22
- * validates all values. If validation fails, the process exits with a descriptive error message.
23
- */
4
+ import { getChromeDataDir, getConfigFilePath } from "./paths.js";
5
+ import path from "node:path";
24
6
  // The CONFIG object is initialized during startup. It starts as a copy of DEFAULTS and is replaced by the merged configuration.
25
7
  export let CONFIG = JSON.parse(JSON.stringify(DEFAULTS));
26
8
  /**
@@ -32,23 +14,32 @@ export let configParseError = false;
32
14
  */
33
15
  export let configParseErrorMessage;
34
16
  /**
35
- * Initializes the configuration by loading the user config file, merging with defaults, and applying environment variable overrides. This must be called at startup
36
- * before any code accesses CONFIG. After initialization, the CONFIG object contains the final merged values.
17
+ * Initializes the configuration by loading the user config file, merging with defaults, applying environment variable overrides, and applying CLI overrides. This
18
+ * must be called at startup before any code accesses CONFIG. After initialization, the CONFIG object contains the final merged values.
19
+ * @param cliOverrides - Optional CLI flag overrides, applied at the highest priority level.
37
20
  */
38
- export async function initializeConfiguration() {
21
+ export async function initializeConfiguration(cliOverrides) {
39
22
  // Load user configuration from file.
40
23
  const result = await loadUserConfig();
41
24
  configParseError = result.parseError;
42
25
  configParseErrorMessage = result.parseErrorMessage;
43
- // Merge defaults, user config, and environment variables.
44
- CONFIG = mergeConfiguration(result.config);
26
+ // Merge defaults, user config, environment variables, and CLI overrides.
27
+ CONFIG = mergeConfiguration(result.config, cliOverrides);
28
+ // Apply persisted debug filter from config.json if no higher-priority source is active. The PRISMCAST_DEBUG env var and --debug CLI flag both call
29
+ // initDebugFilter() before startServer() calls initializeConfiguration(), so isAnyDebugEnabled() is already true when either is set.
30
+ if (!isAnyDebugEnabled() && (CONFIG.logging.debugFilter.length > 0)) {
31
+ initDebugFilter(CONFIG.logging.debugFilter);
32
+ // Normalize the in-memory value to the canonical form. The stored value may have extra whitespace around commas (e.g., "tuning:hulu, recovery") which
33
+ // initDebugFilter strips during parsing. Keeping CONFIG in sync with getCurrentPattern() ensures comparisons elsewhere are reliable.
34
+ CONFIG.logging.debugFilter = getCurrentPattern();
35
+ }
45
36
  // Validate quality preset. Viewport is derived on-demand via getViewport() rather than stored in CONFIG.
46
37
  const validPresets = getValidPresetIds();
47
38
  if (!validPresets.includes(CONFIG.streaming.qualityPreset)) {
48
39
  LOG.warn("Invalid quality preset '%s'. Using default '%s'.", CONFIG.streaming.qualityPreset, DEFAULTS.streaming.qualityPreset);
49
40
  CONFIG.streaming.qualityPreset = DEFAULTS.streaming.qualityPreset;
50
41
  }
51
- LOG.info("Configuration initialized from defaults, user config, and environment variables.");
42
+ LOG.info("Configuration initialized from defaults, user config, environment variables, and CLI overrides.");
52
43
  }
53
44
  /**
54
45
  * Returns a deep copy of the default configuration. Used by the web UI to display default values and handle reset operations.
@@ -181,6 +172,13 @@ export function validateConfiguration() {
181
172
  LOG.warn("Native capture mode is disabled due to a Chrome fMP4 MediaRecorder bug. Forcing FFmpeg capture mode.");
182
173
  CONFIG.streaming.captureMode = "ffmpeg";
183
174
  }
175
+ // Validate path overrides. When set, both chromeDataDir and logFile must be absolute paths to prevent ambiguity.
176
+ if ((CONFIG.paths.chromeDataDir !== null) && !path.isAbsolute(CONFIG.paths.chromeDataDir)) {
177
+ errors.push("paths.chromeDataDir must be an absolute path, got: " + CONFIG.paths.chromeDataDir);
178
+ }
179
+ if ((CONFIG.paths.logFile !== null) && !path.isAbsolute(CONFIG.paths.logFile)) {
180
+ errors.push("paths.logFile must be an absolute path, got: " + CONFIG.paths.logFile);
181
+ }
184
182
  // Validate HDHomeRun configuration when enabled.
185
183
  if (CONFIG.hdhr.enabled) {
186
184
  // HDHR requires FFmpeg for MPEG-TS remuxing. In native mode, FFmpeg is not guaranteed to be available. Disable HDHR and warn the operator. The string cast
@@ -215,7 +213,9 @@ export function validateConfiguration() {
215
213
  export function displayConfiguration() {
216
214
  const presetResult = getEffectivePreset(CONFIG);
217
215
  const presetStatus = formatPresetStatus(presetResult);
218
- LOG.info("Starting PrismCast with configuration:");
216
+ LOG.info("Starting PrismCast v%s with configuration:", getPackageVersion());
217
+ LOG.info(" Configuration file: %s", getConfigFilePath());
218
+ LOG.info(" Chrome profile: %s", getChromeDataDir(CONFIG));
219
219
  LOG.info(" Server port: %s", CONFIG.server.port);
220
220
  LOG.info(" Quality preset: %s", presetStatus);
221
221
  LOG.info(" Video bitrate: %s", CONFIG.streaming.videoBitsPerSecond);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,41 @@
1
+ import type { Config } from "../types/index.js";
2
+ /**
3
+ * Initializes the data directory from the CLI flag, environment variable, or default. Must be called at startup before any config loading or path resolution. May
4
+ * be called a second time with a CLI flag to override the initial resolution.
5
+ * @param cliDataDir - Optional data directory from the --data-dir CLI flag.
6
+ */
7
+ export declare function initializeDataDir(cliDataDir?: string): void;
8
+ /**
9
+ * Returns the resolved data directory. Throws if called before initializeDataDir().
10
+ * @returns The absolute path to the data directory.
11
+ */
12
+ export declare function getDataDir(): string;
13
+ /**
14
+ * Returns the path to the user configuration file.
15
+ * @returns The absolute path to config.json inside the data directory.
16
+ */
17
+ export declare function getConfigFilePath(): string;
18
+ /**
19
+ * Returns the path to the user channels file.
20
+ * @returns The absolute path to channels.json inside the data directory.
21
+ */
22
+ export declare function getChannelsFilePath(): string;
23
+ /**
24
+ * Returns the Chrome user data directory. When config.paths.chromeDataDir is set, that absolute path is used directly. Otherwise, the directory is built from the
25
+ * data directory and the configured profile name.
26
+ * @param config - The application configuration.
27
+ * @returns The absolute path to the Chrome data directory.
28
+ */
29
+ export declare function getChromeDataDir(config: Config): string;
30
+ /**
31
+ * Returns the extension directory path, built from the data directory and the configured extension directory name.
32
+ * @param config - The application configuration.
33
+ * @returns The absolute path to the extension directory.
34
+ */
35
+ export declare function getExtensionDir(config: Config): string;
36
+ /**
37
+ * Returns the log file path. When config.paths.logFile is set, that absolute path is used directly. Otherwise, the default location inside the data directory is used.
38
+ * @param config - The application configuration.
39
+ * @returns The absolute path to the log file.
40
+ */
41
+ export declare function getLogFilePath(config: Config): string;