prismcast 1.11.0 → 1.12.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 (79) hide show
  1. package/README.md +1 -1
  2. package/dist/app.d.ts.map +1 -1
  3. package/dist/app.js +5 -4
  4. package/dist/app.js.map +1 -1
  5. package/dist/browser/cdp.d.ts +3 -13
  6. package/dist/browser/cdp.d.ts.map +1 -1
  7. package/dist/browser/cdp.js +11 -83
  8. package/dist/browser/cdp.js.map +1 -1
  9. package/dist/browser/display.d.ts +0 -29
  10. package/dist/browser/display.d.ts.map +1 -1
  11. package/dist/browser/display.js +0 -35
  12. package/dist/browser/display.js.map +1 -1
  13. package/dist/browser/index.d.ts +35 -3
  14. package/dist/browser/index.d.ts.map +1 -1
  15. package/dist/browser/index.js +140 -86
  16. package/dist/browser/index.js.map +1 -1
  17. package/dist/browser/login.d.ts.map +1 -1
  18. package/dist/browser/login.js +5 -0
  19. package/dist/browser/login.js.map +1 -1
  20. package/dist/config/index.d.ts +0 -3
  21. package/dist/config/index.d.ts.map +1 -1
  22. package/dist/config/index.js +3 -10
  23. package/dist/config/index.js.map +1 -1
  24. package/dist/config/presets.d.ts +6 -72
  25. package/dist/config/presets.d.ts.map +1 -1
  26. package/dist/config/presets.js +10 -157
  27. package/dist/config/presets.js.map +1 -1
  28. package/dist/index.d.ts +1 -0
  29. package/dist/index.d.ts.map +1 -1
  30. package/dist/index.js +5 -0
  31. package/dist/index.js.map +1 -1
  32. package/dist/routes/config/settings.d.ts.map +1 -1
  33. package/dist/routes/config/settings.js +7 -29
  34. package/dist/routes/config/settings.js.map +1 -1
  35. package/dist/routes/root/content.d.ts.map +1 -1
  36. package/dist/routes/root/content.js +6 -7
  37. package/dist/routes/root/content.js.map +1 -1
  38. package/dist/routes/root/scripts/config.d.ts.map +1 -1
  39. package/dist/routes/root/scripts/config.js +7 -1
  40. package/dist/routes/root/scripts/config.js.map +1 -1
  41. package/dist/routes/upgrade.d.ts +18 -1
  42. package/dist/routes/upgrade.d.ts.map +1 -1
  43. package/dist/routes/upgrade.js +61 -25
  44. package/dist/routes/upgrade.js.map +1 -1
  45. package/dist/streaming/monitor.d.ts.map +1 -1
  46. package/dist/streaming/monitor.js +14 -12
  47. package/dist/streaming/monitor.js.map +1 -1
  48. package/dist/streaming/preroll.d.ts +7 -5
  49. package/dist/streaming/preroll.d.ts.map +1 -1
  50. package/dist/streaming/preroll.js +17 -14
  51. package/dist/streaming/preroll.js.map +1 -1
  52. package/dist/streaming/setup.d.ts.map +1 -1
  53. package/dist/streaming/setup.js +26 -14
  54. package/dist/streaming/setup.js.map +1 -1
  55. package/dist/types/index.d.ts +1 -1
  56. package/dist/types/index.d.ts.map +1 -1
  57. package/dist/types/selection.d.ts +0 -8
  58. package/dist/types/selection.d.ts.map +1 -1
  59. package/dist/upgrade/commands.context.js +1 -1
  60. package/dist/upgrade/commands.context.js.map +1 -1
  61. package/dist/upgrade/commands.d.ts +1 -1
  62. package/dist/upgrade/commands.d.ts.map +1 -1
  63. package/dist/upgrade/commands.js +5 -5
  64. package/dist/upgrade/commands.js.map +1 -1
  65. package/dist/upgrade/lifecycle.context.d.ts +10 -1
  66. package/dist/upgrade/lifecycle.context.d.ts.map +1 -1
  67. package/dist/upgrade/lifecycle.context.js +36 -11
  68. package/dist/upgrade/lifecycle.context.js.map +1 -1
  69. package/dist/upgrade/lifecycle.d.ts +6 -4
  70. package/dist/upgrade/lifecycle.d.ts.map +1 -1
  71. package/dist/upgrade/lifecycle.js +5 -5
  72. package/dist/upgrade/lifecycle.js.map +1 -1
  73. package/dist/utils/debugFilter.js +1 -1
  74. package/dist/utils/debugFilter.js.map +1 -1
  75. package/dist/utils/ffmpeg.d.ts +24 -9
  76. package/dist/utils/ffmpeg.d.ts.map +1 -1
  77. package/dist/utils/ffmpeg.js +49 -17
  78. package/dist/utils/ffmpeg.js.map +1 -1
  79. package/package.json +2 -2
package/README.md CHANGED
@@ -190,7 +190,7 @@ Configuration is stored in `~/.prismcast/config.json` and your TV provider sessi
190
190
 
191
191
  **Linux** is supported both natively and via Docker. The Docker image includes everything needed to run PrismCast (Chrome, virtual display, VNC access) and is the recommended approach for Linux server deployments. Native Linux installation works with Node.js and Google Chrome installed manually.
192
192
 
193
- **Windows** is supported and users have reported success running PrismCast on Windows 11. Windows is not the primary development platform, so bug reports and pull requests are always appreciated.
193
+ **Windows** is supported and users have reported success running PrismCast on Windows 11. Run PrismCast natively rather than under Docker Desktop, which has no access to GPU acceleration on Windows and delivers noticeably worse capture as a result. Hyper-V and WSL can also interfere with Chrome's capture pipeline, so if capture verification fails on a machine with Hyper-V enabled, disabling it is the known remedy. Windows is not the primary development platform, so bug reports and pull requests are always appreciated.
194
194
 
195
195
  ## Docker / Container Deployment
196
196
 
package/dist/app.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"AAqBA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AA0X7C;;;;;GAKG;AACH,wBAAgB,mBAAmB,IAAI,IAAI,CAU1C;AAuDD;;;;GAIG;AACH,wBAAsB,WAAW,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAsOvE"}
1
+ {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"AAqBA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AA0X7C;;;;;GAKG;AACH,wBAAgB,mBAAmB,IAAI,IAAI,CAU1C;AAuDD;;;;GAIG;AACH,wBAAsB,WAAW,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAuOvE"}
package/dist/app.js CHANGED
@@ -464,12 +464,13 @@ export async function startServer(parsedArgs) {
464
464
  LOG.error("Failed to initialize browser during startup: %s.", formatError(error));
465
465
  throw error;
466
466
  }
467
- // Generate the preroll fMP4 segment for immediate HLS response during stream startup. This runs after browser launch so that display detection has completed and
468
- // getEffectiveViewport() returns the true dimensions - ensuring the preroll resolution matches what Chrome MediaRecorder will actually produce.
467
+ // Generate the preroll fMP4 segment for immediate HLS response during stream startup. This runs after browser launch because the preroll has to be encoded in the
468
+ // codec capture will actually produce, and that choice reads the GPU capabilities the launch-time capability probe caches.
469
469
  await generatePreroll();
470
470
  // Minimize the browser window to reduce GPU usage and desktop clutter. The browser must be visible (not headless) for capture to work, but minimizing it reduces
471
- // resource consumption. CDP allows us to control window state without affecting capture. We defer minimization until after display detection and the launch-gate
472
- // capture probe complete, since both require the window in a normal state.
471
+ // resource consumption. CDP allows us to control window state without affecting capture. We defer minimization until after the browser capability probe and the
472
+ // launch-gate capture probe complete: the GPU probe wants an environment representative of the one capture runs in, and the display advisory reads the bounds
473
+ // the OS granted the window, which a minimized window does not report.
473
474
  await minimizeBrowserWindow();
474
475
  // Start the background services and register each one's stop on an AsyncDisposableStack the moment it starts, so graceful shutdown can dispose them all wholesale
475
476
  // and a future service cannot be started without also being torn down. These are order-independent background loops/timers, so LIFO disposal order is immaterial.
package/dist/app.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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"}
@@ -14,21 +14,11 @@ import type { CDPSession, Page } from "puppeteer-core";
14
14
  */
15
15
  export declare function withCDPSession<T>(page: Page, operation: (session: CDPSession, windowId: number) => Promise<T>): Promise<T | undefined>;
16
16
  /**
17
- * Resizes the browser window to match our target viewport dimensions and minimizes it. This function solves the problem of ensuring the video content area
18
- * exactly matches our configured viewport size.
19
- *
20
- * The complication is that browser windows have "chrome" - the title bar, toolbar, borders, and other UI elements that take up space. If we set the window size
21
- * to 1280x720, the actual content area will be smaller (perhaps 1280x670 after accounting for the toolbar). To get a 1280x720 content area, we need to add the
22
- * chrome dimensions to our window size.
23
- *
24
- * This function:
25
- * 1. Measures the current chrome dimensions by comparing window.outerWidth/Height to window.innerWidth/Height
26
- * 2. Sets the window size to viewport + chrome dimensions, giving us the exact viewport size we want
27
- * 3. Verifies the resize took effect by reading back the window bounds, retrying if dimensions don't match
28
- * 4. Minimizes the window to reduce GPU usage while still allowing capture
17
+ * Minimizes the browser window to reduce GPU usage and keep the desktop clear. Minimizing does not interrupt capture: the capture extension reads the compositor's
18
+ * surface rather than the visible display, and that surface is the page's emulated viewport, which the window's presentation state does not touch.
29
19
  * @param page - The Puppeteer page object.
30
20
  */
31
- export declare function resizeAndMinimizeWindow(page: Page): Promise<void>;
21
+ export declare function minimizeWindow(page: Page): Promise<void>;
32
22
  /**
33
23
  * Un-minimizes the browser window, restoring it to normal state. This is used when the user needs to interact with the browser, such as during the authentication
34
24
  * login flow where the user must complete TV provider authentication in the visible browser window.
@@ -1 +1 @@
1
- {"version":3,"file":"cdp.d.ts","sourceRoot":"","sources":["../../src/browser/cdp.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAuBvD;;;;;;;;;;;;GAYG;AACH,wBAAsB,cAAc,CAAC,CAAC,EACpC,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,CAAC,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,GAC/D,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,CAwCxB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,uBAAuB,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAwGvE;AAED;;;;GAIG;AACH,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAiBhE"}
1
+ {"version":3,"file":"cdp.d.ts","sourceRoot":"","sources":["../../src/browser/cdp.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAoBvD;;;;;;;;;;;;GAYG;AACH,wBAAsB,cAAc,CAAC,CAAC,EACpC,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,CAAC,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,GAC/D,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,CAwCxB;AAED;;;;GAIG;AACH,wBAAsB,cAAc,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAsB9D;AAED;;;;GAIG;AACH,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAiBhE"}
@@ -1,12 +1,10 @@
1
- import { LOG, delay, evaluateWithAbort, formatError } from "../utils/index.js";
2
- import { CONFIG } from "../config/index.js";
3
- import { getBrowserChrome } from "./display.js";
4
- import { getEffectiveViewport } from "../config/presets.js";
1
+ import { LOG, delay, formatError } from "../utils/index.js";
5
2
  /* The Chrome DevTools Protocol (CDP) provides low-level access to Chrome's internal state and capabilities. While Puppeteer abstracts most common operations, some
6
3
  * features require direct CDP access:
7
4
  *
8
- * - Window management: setting window size and normal/minimized state. Puppeteer's viewport API controls the content area, but we need CDP to control the
9
- * entire window including browser chrome.
5
+ * - Window presentation: moving the shared browser window between its normal and minimized states. That state is the only window property this application
6
+ * drives. The surface a page renders at belongs to Puppeteer's viewport, which emulates the configured quality preset on every page independently of how large
7
+ * the OS window is, so window bounds carry no capture meaning...minimizing is about desktop clutter and GPU cost alone.
10
8
  *
11
9
  * - Browser-level operations: Operations that affect the browser rather than a specific page, like getting the window ID for a page's target.
12
10
  *
@@ -61,90 +59,20 @@ export async function withCDPSession(page, operation) {
61
59
  }
62
60
  }
63
61
  /**
64
- * Resizes the browser window to match our target viewport dimensions and minimizes it. This function solves the problem of ensuring the video content area
65
- * exactly matches our configured viewport size.
66
- *
67
- * The complication is that browser windows have "chrome" - the title bar, toolbar, borders, and other UI elements that take up space. If we set the window size
68
- * to 1280x720, the actual content area will be smaller (perhaps 1280x670 after accounting for the toolbar). To get a 1280x720 content area, we need to add the
69
- * chrome dimensions to our window size.
70
- *
71
- * This function:
72
- * 1. Measures the current chrome dimensions by comparing window.outerWidth/Height to window.innerWidth/Height
73
- * 2. Sets the window size to viewport + chrome dimensions, giving us the exact viewport size we want
74
- * 3. Verifies the resize took effect by reading back the window bounds, retrying if dimensions don't match
75
- * 4. Minimizes the window to reduce GPU usage while still allowing capture
62
+ * Minimizes the browser window to reduce GPU usage and keep the desktop clear. Minimizing does not interrupt capture: the capture extension reads the compositor's
63
+ * surface rather than the visible display, and that surface is the page's emulated viewport, which the window's presentation state does not touch.
76
64
  * @param page - The Puppeteer page object.
77
65
  */
78
- export async function resizeAndMinimizeWindow(page) {
66
+ export async function minimizeWindow(page) {
79
67
  // Early exit if the page is already closed.
80
68
  if (page.isClosed()) {
81
69
  return;
82
70
  }
83
- // Get browser chrome dimensions. Prefer cached values from display detection, which were measured when the browser was in a known good state. Fall back to
84
- // measuring via page.evaluate() if cached values aren't available (e.g., during early initialization before display detection completes).
85
- let uiSize = getBrowserChrome();
86
- if (!uiSize) {
87
- try {
88
- uiSize = await evaluateWithAbort(page, () => {
89
- return {
90
- // Height of chrome = total window height - content height. This includes the title bar, toolbar, and any other vertical UI elements.
91
- height: window.outerHeight - window.innerHeight,
92
- // Width of chrome = total window width - content width. This typically includes window borders and any side panels.
93
- width: window.outerWidth - window.innerWidth
94
- };
95
- });
96
- }
97
- catch (_error) {
98
- // If measuring fails (page closed, navigation in progress, etc.), silently return. The resize is not critical and will be attempted again on the next
99
- // stream if needed.
100
- return;
101
- }
102
- }
103
- // Use CDP to set the window bounds with verification. We add the chrome dimensions to our target viewport to get the correct total window size. The resize is
104
- // verified by reading back the window bounds after setting them - if the dimensions don't match (e.g., Chrome was still transitioning from maximized to normal
105
- // state), we retry after a brief delay. CDP requires separate calls for dimensions and window state.
106
71
  await withCDPSession(page, async (session, windowId) => {
107
- const viewport = getEffectiveViewport(CONFIG);
108
- const targetHeight = viewport.height + uiSize.height;
109
- const targetWidth = viewport.width + uiSize.width;
110
- // Resize with verification. Each attempt restores the window to "normal" state - safe to repeat on every retry attempt - and sets the target dimensions,
111
- // then reads back the actual bounds to confirm. On macOS, NSWindow state transitions are asynchronous - Chrome may acknowledge the "normal" state CDP
112
- // command before the OS window manager finishes the transition, causing a subsequent dimension-setting call to be silently ignored. The readback detects
113
- // this and retries.
114
- for (let attempt = 0; attempt < 3; attempt++) {
115
- // Ensure the window is in "normal" state. Setting bounds on a maximized window is ignored, so we must restore it first. On retries, this re-sends the
116
- // normal state in case the previous transition hadn't completed.
117
- // eslint-disable-next-line no-await-in-loop
118
- await session.send("Browser.setWindowBounds", {
119
- bounds: { windowState: "normal" },
120
- windowId
121
- });
122
- // Set the window size to viewport + chrome. After this, the content area should be exactly our target viewport dimensions.
123
- // eslint-disable-next-line no-await-in-loop
124
- await session.send("Browser.setWindowBounds", {
125
- bounds: { height: targetHeight, width: targetWidth },
126
- windowId
127
- });
128
- // Verify the resize took effect by reading back the current window bounds. If the dimensions match our target, the resize succeeded.
129
- // eslint-disable-next-line no-await-in-loop
130
- const result = await session.send("Browser.getWindowBounds", { windowId });
131
- if ((result.bounds.height === targetHeight) && (result.bounds.width === targetWidth)) {
132
- break;
133
- }
134
- // Dimensions didn't match - the window manager may still be processing the state transition. Wait briefly before retrying.
135
- if (attempt < 2) {
136
- LOG.debug("browser:lifecycle", "Window resize verification failed (attempt %s): expected %s\u00d7%s, got %s\u00d7%s. Retrying.", attempt + 1, targetWidth, targetHeight, result.bounds.width ?? 0, result.bounds.height ?? 0);
137
- // eslint-disable-next-line no-await-in-loop
138
- await delay(100);
139
- }
140
- else {
141
- LOG.warn("Window resize failed after %s attempts: expected %s\u00d7%s, got %s\u00d7%s.", attempt + 1, targetWidth, targetHeight, result.bounds.width ?? 0, result.bounds.height ?? 0);
142
- }
143
- }
144
- // Minimize the window to reduce GPU usage. This must be a separate CDP call because window state cannot be combined with dimensions. Minimizing doesn't stop
145
- // video capture - the puppeteer-stream extension captures from the compositor rather than the visible display.
146
- // Brief delay to allow Chrome's window manager to finish processing the resize before minimizing. Without this delay, the minimize can be ignored when
147
- // the window is being significantly resized (e.g., during preset degradation from 1080p to 720p).
72
+ /* Let the window manager settle before asking for the state change. On macOS, NSWindow state transitions run asynchronously relative to Chrome's
73
+ * acknowledgement of a CDP command, and the page this call arrives on has usually just been created or navigated, which activates the window. A minimize
74
+ * issued into that unfinished transition can be dropped, leaving the window on screen.
75
+ */
148
76
  await delay(100);
149
77
  await session.send("Browser.setWindowBounds", {
150
78
  bounds: { windowState: "minimized" },
@@ -1 +1 @@
1
- {"version":3,"file":"cdp.js","sourceRoot":"","sources":["../../src/browser/cdp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cdp.js","sourceRoot":"","sources":["../../src/browser/cdp.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAE5D;;;;;;;;;;;;;;;GAeG;AAEH;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,IAAU,EACV,SAAgE;IAGhE,oHAAoH;IACpH,IAAG,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC;QAEnB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,CAAC;QAEH,sJAAsJ;QACtJ,0EAA0E;QAC1E,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAE9C,2JAA2J;QAC3J,sGAAsG;QACtG,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,4BAA4B,CAA0B,CAAC;QAC/F,MAAM,QAAQ,GAAG,YAAY,CAAC,QAAQ,CAAC;QAEvC,2IAA2I;QAC3I,IAAG,CAAC,QAAQ,EAAE,CAAC;YAEb,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,iEAAiE;QACjE,OAAO,MAAM,SAAS,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC5C,CAAC;IAAC,OAAM,KAAK,EAAE,CAAC;QAEd,MAAM,OAAO,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;QAEnC,oJAAoJ;QACpJ,+IAA+I;QAC/I,IAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC;YAEpE,GAAG,CAAC,IAAI,CAAC,2BAA2B,EAAE,OAAO,CAAC,CAAC;QACjD,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,IAAU;IAE7C,4CAA4C;IAC5C,IAAG,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC;QAEnB,OAAO;IACT,CAAC;IAED,MAAM,cAAc,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE;QAErD;;;WAGG;QACH,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;QAEjB,MAAM,OAAO,CAAC,IAAI,CAAC,yBAAyB,EAAE;YAE5C,MAAM,EAAE,EAAE,WAAW,EAAE,WAAW,EAAE;YACpC,QAAQ;SACT,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,IAAU;IAE/C,4CAA4C;IAC5C,IAAG,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC;QAEnB,OAAO;IACT,CAAC;IAED,MAAM,cAAc,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE;QAErD,gDAAgD;QAChD,MAAM,OAAO,CAAC,IAAI,CAAC,yBAAyB,EAAE;YAE5C,MAAM,EAAE,EAAE,WAAW,EAAE,QAAQ,EAAE;YACjC,QAAQ;SACT,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -8,35 +8,6 @@ export interface GpuCapabilities {
8
8
  hevcHardwareEncoding: boolean;
9
9
  renderer: string;
10
10
  }
11
- /**
12
- * Sets the maximum supported viewport dimensions. Called by browser initialization after detecting the display size and accounting for browser chrome.
13
- * @param width - Maximum viewport width in pixels.
14
- * @param height - Maximum viewport height in pixels.
15
- */
16
- export declare function setMaxSupportedViewport(width: number, height: number): void;
17
- /**
18
- * Returns the maximum supported viewport dimensions, or null if display detection has not yet completed. Callers should fall back to the configured preset when null
19
- * is returned.
20
- * @returns The maximum supported viewport dimensions, or null before detection.
21
- */
22
- export declare function getMaxSupportedViewport(): Nullable<{
23
- height: number;
24
- width: number;
25
- }>;
26
- /**
27
- * Sets the browser chrome dimensions. Called by browser initialization after measuring the difference between outer and inner window dimensions.
28
- * @param width - Chrome width in pixels (typically 0 or small for window borders).
29
- * @param height - Chrome height in pixels (title bar + toolbar).
30
- */
31
- export declare function setBrowserChrome(width: number, height: number): void;
32
- /**
33
- * Returns the cached browser chrome dimensions, or null if display detection has not yet completed.
34
- * @returns The browser chrome dimensions, or null before detection.
35
- */
36
- export declare function getBrowserChrome(): Nullable<{
37
- height: number;
38
- width: number;
39
- }>;
40
11
  /**
41
12
  * Sets the GPU capabilities detected from the browser. Called by browser initialization after probing CDP SystemInfo, WebGL, and MediaRecorder.
42
13
  * @param capabilities - The detected GPU capabilities.
@@ -1 +1 @@
1
- {"version":3,"file":"display.d.ts","sourceRoot":"","sources":["../../src/browser/display.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAiBlD;;GAEG;AACH,MAAM,WAAW,eAAe;IAG9B,mBAAmB,EAAE,OAAO,CAAC;IAG7B,oBAAoB,EAAE,OAAO,CAAC;IAG9B,oBAAoB,EAAE,OAAO,CAAC;IAG9B,QAAQ,EAAE,MAAM,CAAC;CAClB;AAWD;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAG3E;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,IAAI,QAAQ,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAGrF;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAGpE;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,IAAI,QAAQ,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAG9E;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,YAAY,EAAE,eAAe,GAAG,IAAI,CAGtE;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,IAAI,QAAQ,CAAC,eAAe,CAAC,CAG9D"}
1
+ {"version":3,"file":"display.d.ts","sourceRoot":"","sources":["../../src/browser/display.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAalD;;GAEG;AACH,MAAM,WAAW,eAAe;IAG9B,mBAAmB,EAAE,OAAO,CAAC;IAG7B,oBAAoB,EAAE,OAAO,CAAC;IAG9B,oBAAoB,EAAE,OAAO,CAAC;IAG9B,QAAQ,EAAE,MAAM,CAAC;CAClB;AAKD;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,YAAY,EAAE,eAAe,GAAG,IAAI,CAGtE;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,IAAI,QAAQ,CAAC,eAAe,CAAC,CAG9D"}
@@ -1,40 +1,5 @@
1
- // Cached maximum supported viewport dimensions. Null before browser initialization completes display detection.
2
- let maxSupportedViewport = null;
3
- // Cached browser chrome dimensions (title bar, toolbar, borders). Null before browser initialization completes display detection.
4
- let browserChrome = null;
5
1
  // Cached GPU capabilities. Null before browser initialization completes GPU detection.
6
2
  let gpuCapabilities = null;
7
- /**
8
- * Sets the maximum supported viewport dimensions. Called by browser initialization after detecting the display size and accounting for browser chrome.
9
- * @param width - Maximum viewport width in pixels.
10
- * @param height - Maximum viewport height in pixels.
11
- */
12
- export function setMaxSupportedViewport(width, height) {
13
- maxSupportedViewport = { height, width };
14
- }
15
- /**
16
- * Returns the maximum supported viewport dimensions, or null if display detection has not yet completed. Callers should fall back to the configured preset when null
17
- * is returned.
18
- * @returns The maximum supported viewport dimensions, or null before detection.
19
- */
20
- export function getMaxSupportedViewport() {
21
- return maxSupportedViewport;
22
- }
23
- /**
24
- * Sets the browser chrome dimensions. Called by browser initialization after measuring the difference between outer and inner window dimensions.
25
- * @param width - Chrome width in pixels (typically 0 or small for window borders).
26
- * @param height - Chrome height in pixels (title bar + toolbar).
27
- */
28
- export function setBrowserChrome(width, height) {
29
- browserChrome = { height, width };
30
- }
31
- /**
32
- * Returns the cached browser chrome dimensions, or null if display detection has not yet completed.
33
- * @returns The browser chrome dimensions, or null before detection.
34
- */
35
- export function getBrowserChrome() {
36
- return browserChrome;
37
- }
38
3
  /**
39
4
  * Sets the GPU capabilities detected from the browser. Called by browser initialization after probing CDP SystemInfo, WebGL, and MediaRecorder.
40
5
  * @param capabilities - The detected GPU capabilities.
@@ -1 +1 @@
1
- {"version":3,"file":"display.js","sourceRoot":"","sources":["../../src/browser/display.ts"],"names":[],"mappings":"AAuCA,gHAAgH;AAChH,IAAI,oBAAoB,GAAgD,IAAI,CAAC;AAE7E,kIAAkI;AAClI,IAAI,aAAa,GAAgD,IAAI,CAAC;AAEtE,uFAAuF;AACvF,IAAI,eAAe,GAA8B,IAAI,CAAC;AAEtD;;;;GAIG;AACH,MAAM,UAAU,uBAAuB,CAAC,KAAa,EAAE,MAAc;IAEnE,oBAAoB,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;AAC3C,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,uBAAuB;IAErC,OAAO,oBAAoB,CAAC;AAC9B,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAa,EAAE,MAAc;IAE5D,aAAa,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;AACpC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB;IAE9B,OAAO,aAAa,CAAC;AACvB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAC,YAA6B;IAE9D,eAAe,GAAG,YAAY,CAAC;AACjC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB;IAEhC,OAAO,eAAe,CAAC;AACzB,CAAC"}
1
+ {"version":3,"file":"display.js","sourceRoot":"","sources":["../../src/browser/display.ts"],"names":[],"mappings":"AAmCA,uFAAuF;AACvF,IAAI,eAAe,GAA8B,IAAI,CAAC;AAEtD;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAC,YAA6B;IAE9D,eAAe,GAAG,YAAY,CAAC;AACjC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB;IAEhC,OAAO,eAAe,CAAC;AACzB,CAAC"}
@@ -88,6 +88,19 @@ export declare function findChromeProcessesUsingProfile(processes: readonly Proc
88
88
  * exist - the discovery and lock-file cleanup are both no-ops in the empty case.
89
89
  */
90
90
  export declare function killStaleChrome(): void;
91
+ /**
92
+ * Seeds the extension developer-mode preference into the Chrome profile so the capture extension loads. Chrome loads an unpacked extension only when the profile
93
+ * has extension developer mode enabled, and PrismCast's capture extension is loaded unpacked...without the flag the extension never registers and the capture
94
+ * probe fails the launch gate. We write the preference into the profile ourselves rather than asking the user to find the toggle on Chrome's extensions page, and
95
+ * we merge it into whatever the file already holds so every other profile setting survives. Chrome merges a Preferences file it finds on startup, so a file
96
+ * carrying only this flag is a valid starting point for a profile that has never been launched.
97
+ *
98
+ * Nothing here is allowed to break a launch. A profile we cannot read or cannot write earns one warning and the launch proceeds without the seed: Chrome rewrites
99
+ * a Preferences file it cannot parse, so the next launch seeds the replacement.
100
+ *
101
+ * @param profileDir - The Chrome user data directory holding the profile.
102
+ */
103
+ export declare function seedProfilePreferences(profileDir: string): void;
91
104
  /**
92
105
  * Locates the Google Chrome executable on the system. The CHROME_BIN environment variable takes precedence, allowing operators to specify a non-standard
93
106
  * installation. Otherwise, we search common installation paths across macOS, Linux, and Windows.
@@ -106,6 +119,26 @@ export declare function getExecutablePath(): string;
106
119
  * @returns Puppeteer launch options.
107
120
  */
108
121
  export declare function buildLaunchOptions(): LaunchOptions;
122
+ /**
123
+ * Decides whether the window bounds the browser granted prove the display cannot show a whole captured frame, returning those bounds when they do and null
124
+ * otherwise. Bounds the browser could not report, and bounds read while the window carried a state other than normal, describe a transient condition rather than
125
+ * the display...treating either as evidence would let a CDP hiccup or an unfinished window transition pose as a small display, so both yield null. Beyond that,
126
+ * either dimension falling below the capture surface is enough: a frame that does not fit the window in one axis is already a frame the screen cannot show whole.
127
+ * @param bounds - The window bounds the browser reported, or undefined when the read did not complete.
128
+ * @param captureSurface - The dimensions every page renders at, derived from the configured quality preset.
129
+ * @returns The granted window dimensions when the display falls short of the capture surface, null otherwise.
130
+ */
131
+ export declare function getUndersizedDisplayBounds(bounds: {
132
+ height?: number;
133
+ width?: number;
134
+ windowState?: string;
135
+ } | undefined, captureSurface: {
136
+ height: number;
137
+ width: number;
138
+ }): Nullable<{
139
+ height: number;
140
+ width: number;
141
+ }>;
109
142
  /**
110
143
  * Invalidates a specific browser that is still connected but can no longer capture - a mid-life capture death that no "disconnected" event would surface. This is the
111
144
  * single recovery action generalized to the alive-but-incapable case: relinquish readiness and terminate the browser's streams (exactly as a disconnect does),
@@ -147,9 +180,8 @@ export declare function getBrowserInstance(): Nullable<Browser>;
147
180
  */
148
181
  export declare function isBrowserConnected(): boolean;
149
182
  /**
150
- * Resizes the browser window to the effective viewport and minimizes it. This function combines viewport sizing with minimization to ensure the window is
151
- * properly sized before being minimized. The resize uses the effective viewport from getEffectiveViewport(), which accounts for display size constraints and
152
- * preset degradation.
183
+ * Minimizes the browser window. The window's presentation state is all this touches - the surface pages render at is emulated from the configured preset and is
184
+ * unaffected by whether the window is on screen.
153
185
  *
154
186
  * To avoid issues with creating temporary pages (which can cause the window to restore on macOS), we prefer using an existing page if one is available. Only if
155
187
  * no pages exist do we create a temporary page.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/browser/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/browser/index.ts"],"names":[],"mappings":"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"}