prismcast 1.2.1 → 1.3.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/README.md +26 -1
- package/dist/app.js +29 -2
- package/dist/app.js.map +1 -1
- package/dist/browser/cdp.js +1 -1
- package/dist/browser/cdp.js.map +1 -1
- package/dist/browser/channelSelection.d.ts +11 -1
- package/dist/browser/channelSelection.js +45 -980
- package/dist/browser/channelSelection.js.map +1 -1
- package/dist/browser/index.d.ts +18 -4
- package/dist/browser/index.js +202 -36
- package/dist/browser/index.js.map +1 -1
- package/dist/browser/tuning/fox.d.ts +19 -0
- package/dist/browser/tuning/fox.js +61 -0
- package/dist/browser/tuning/fox.js.map +1 -0
- package/dist/browser/tuning/hbo.d.ts +22 -0
- package/dist/browser/tuning/hbo.js +182 -0
- package/dist/browser/tuning/hbo.js.map +1 -0
- package/dist/browser/tuning/hulu.d.ts +30 -0
- package/dist/browser/tuning/hulu.js +514 -0
- package/dist/browser/tuning/hulu.js.map +1 -0
- package/dist/browser/tuning/sling.d.ts +22 -0
- package/dist/browser/tuning/sling.js +287 -0
- package/dist/browser/tuning/sling.js.map +1 -0
- package/dist/browser/tuning/thumbnailRow.d.ts +18 -0
- package/dist/browser/tuning/thumbnailRow.js +107 -0
- package/dist/browser/tuning/thumbnailRow.js.map +1 -0
- package/dist/browser/tuning/tileClick.d.ts +18 -0
- package/dist/browser/tuning/tileClick.js +102 -0
- package/dist/browser/tuning/tileClick.js.map +1 -0
- package/dist/browser/tuning/youtubeTv.d.ts +17 -0
- package/dist/browser/tuning/youtubeTv.js +99 -0
- package/dist/browser/tuning/youtubeTv.js.map +1 -0
- package/dist/browser/video.d.ts +2 -2
- package/dist/browser/video.js +18 -8
- package/dist/browser/video.js.map +1 -1
- package/dist/channels/index.js +53 -7
- package/dist/channels/index.js.map +1 -1
- package/dist/config/profiles.js +11 -0
- package/dist/config/profiles.js.map +1 -1
- package/dist/config/providers.d.ts +46 -1
- package/dist/config/providers.js +178 -13
- package/dist/config/providers.js.map +1 -1
- package/dist/config/sites.d.ts +2 -0
- package/dist/config/sites.js +43 -14
- package/dist/config/sites.js.map +1 -1
- package/dist/config/userChannels.js +21 -3
- package/dist/config/userChannels.js.map +1 -1
- package/dist/config/userConfig.d.ts +2 -1
- package/dist/config/userConfig.js +12 -4
- package/dist/config/userConfig.js.map +1 -1
- package/dist/index.js +10 -4
- package/dist/index.js.map +1 -1
- package/dist/routes/auth.js +6 -0
- package/dist/routes/auth.js.map +1 -1
- package/dist/routes/config.d.ts +5 -0
- package/dist/routes/config.js +273 -35
- package/dist/routes/config.js.map +1 -1
- package/dist/routes/debug.d.ts +6 -0
- package/dist/routes/debug.js +274 -0
- package/dist/routes/debug.js.map +1 -0
- package/dist/routes/index.d.ts +1 -0
- package/dist/routes/index.js +3 -0
- package/dist/routes/index.js.map +1 -1
- package/dist/routes/logs.js +17 -5
- package/dist/routes/logs.js.map +1 -1
- package/dist/routes/root.js +506 -127
- package/dist/routes/root.js.map +1 -1
- package/dist/routes/theme.js +7 -0
- package/dist/routes/theme.js.map +1 -1
- package/dist/service/commands.js +8 -8
- package/dist/service/commands.js.map +1 -1
- package/dist/service/generators.js +22 -16
- package/dist/service/generators.js.map +1 -1
- package/dist/streaming/fmp4Segmenter.d.ts +7 -0
- package/dist/streaming/fmp4Segmenter.js +124 -15
- package/dist/streaming/fmp4Segmenter.js.map +1 -1
- package/dist/streaming/hls.d.ts +74 -6
- package/dist/streaming/hls.js +210 -129
- package/dist/streaming/hls.js.map +1 -1
- package/dist/streaming/hlsSegments.js +11 -4
- package/dist/streaming/hlsSegments.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 -1
- package/dist/streaming/monitor.js +120 -49
- package/dist/streaming/monitor.js.map +1 -1
- package/dist/streaming/mp4Parser.d.ts +29 -1
- package/dist/streaming/mp4Parser.js +243 -18
- package/dist/streaming/mp4Parser.js.map +1 -1
- package/dist/streaming/mpegts.d.ts +5 -2
- package/dist/streaming/mpegts.js +122 -29
- package/dist/streaming/mpegts.js.map +1 -1
- package/dist/streaming/registry.d.ts +1 -1
- package/dist/streaming/registry.js.map +1 -1
- package/dist/streaming/setup.d.ts +13 -1
- package/dist/streaming/setup.js +136 -36
- package/dist/streaming/setup.js.map +1 -1
- package/dist/streaming/showInfo.js +9 -9
- package/dist/streaming/showInfo.js.map +1 -1
- package/dist/streaming/statusEmitter.js +5 -6
- package/dist/streaming/statusEmitter.js.map +1 -1
- package/dist/types/index.d.ts +12 -3
- package/dist/types/index.js +5 -1
- package/dist/types/index.js.map +1 -1
- package/dist/utils/debugFilter.d.ts +38 -0
- package/dist/utils/debugFilter.js +157 -0
- package/dist/utils/debugFilter.js.map +1 -0
- package/dist/utils/evaluate.js.map +1 -1
- package/dist/utils/ffmpeg.d.ts +5 -0
- package/dist/utils/ffmpeg.js +13 -2
- package/dist/utils/ffmpeg.js.map +1 -1
- package/dist/utils/fileLogger.d.ts +2 -1
- package/dist/utils/fileLogger.js +4 -2
- package/dist/utils/fileLogger.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/logEmitter.d.ts +1 -0
- package/dist/utils/logEmitter.js.map +1 -1
- package/dist/utils/logger.d.ts +9 -8
- package/dist/utils/logger.js +52 -28
- package/dist/utils/logger.js.map +1 -1
- package/dist/utils/retry.d.ts +1 -1
- package/dist/utils/retry.js +3 -3
- package/dist/utils/retry.js.map +1 -1
- package/dist/utils/version.js +4 -9
- package/dist/utils/version.js.map +1 -1
- package/package.json +6 -6
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hls.js","sourceRoot":"","sources":["../../src/streaming/hls.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"hls.js","sourceRoot":"","sources":["../../src/streaming/hls.ts"],"names":[],"mappings":"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"}
|
|
@@ -30,7 +30,7 @@ import { getStream } from "./registry.js";
|
|
|
30
30
|
export function storeSegment(streamId, filename, data) {
|
|
31
31
|
const stream = getStream(streamId);
|
|
32
32
|
if (!stream) {
|
|
33
|
-
LOG.
|
|
33
|
+
LOG.debug("streaming:hls", "Attempted to store segment for unknown stream %s.", streamId);
|
|
34
34
|
return;
|
|
35
35
|
}
|
|
36
36
|
stream.hls.segments.set(filename, data);
|
|
@@ -39,6 +39,9 @@ export function storeSegment(streamId, filename, data) {
|
|
|
39
39
|
// Enforce segment limit by removing oldest segments. JavaScript Maps maintain insertion order, so the first key is always the oldest segment.
|
|
40
40
|
while (stream.hls.segments.size > CONFIG.hls.maxSegments) {
|
|
41
41
|
const oldestKey = stream.hls.segments.keys().next().value;
|
|
42
|
+
if (oldestKey === undefined) {
|
|
43
|
+
break;
|
|
44
|
+
}
|
|
42
45
|
stream.hls.segments.delete(oldestKey);
|
|
43
46
|
}
|
|
44
47
|
}
|
|
@@ -65,7 +68,7 @@ export function getSegment(streamId, filename) {
|
|
|
65
68
|
export function storeInitSegment(streamId, data) {
|
|
66
69
|
const stream = getStream(streamId);
|
|
67
70
|
if (!stream) {
|
|
68
|
-
LOG.
|
|
71
|
+
LOG.debug("streaming:hls", "Attempted to store init segment for unknown stream %s.", streamId);
|
|
69
72
|
return;
|
|
70
73
|
}
|
|
71
74
|
const isFirstInit = stream.hls.initSegment === null;
|
|
@@ -74,6 +77,8 @@ export function storeInitSegment(streamId, data) {
|
|
|
74
77
|
stream.hls.segmentEmitter.emit("initSegment", data);
|
|
75
78
|
if (isFirstInit) {
|
|
76
79
|
stream.hls.signalInitSegmentReady();
|
|
80
|
+
const elapsed = ((Date.now() - stream.startTime.getTime()) / 1000).toFixed(3);
|
|
81
|
+
LOG.debug("timing:startup", "Init segment ready in %ss.", elapsed);
|
|
77
82
|
}
|
|
78
83
|
}
|
|
79
84
|
/**
|
|
@@ -97,13 +102,15 @@ export function getInitSegment(streamId) {
|
|
|
97
102
|
export function updatePlaylist(streamId, content) {
|
|
98
103
|
const stream = getStream(streamId);
|
|
99
104
|
if (!stream) {
|
|
100
|
-
LOG.
|
|
105
|
+
LOG.debug("streaming:hls", "Attempted to update playlist for unknown stream %s.", streamId);
|
|
101
106
|
return;
|
|
102
107
|
}
|
|
103
108
|
const isFirstPlaylist = stream.hls.playlist === "";
|
|
104
109
|
stream.hls.playlist = content;
|
|
105
110
|
if (isFirstPlaylist) {
|
|
106
111
|
stream.hls.signalPlaylistReady();
|
|
112
|
+
const elapsed = ((Date.now() - stream.startTime.getTime()) / 1000).toFixed(3);
|
|
113
|
+
LOG.debug("timing:startup", "First playlist ready in %ss.", elapsed);
|
|
107
114
|
}
|
|
108
115
|
}
|
|
109
116
|
/**
|
|
@@ -147,7 +154,7 @@ async function waitForReady(streamId, getPromise, timeout) {
|
|
|
147
154
|
return false;
|
|
148
155
|
}
|
|
149
156
|
const timeoutPromise = new Promise((resolve) => {
|
|
150
|
-
setTimeout(() => resolve(false), timeout);
|
|
157
|
+
setTimeout(() => { resolve(false); }, timeout);
|
|
151
158
|
});
|
|
152
159
|
const readyPromise = getPromise(stream).then(() => true);
|
|
153
160
|
return Promise.race([readyPromise, timeoutPromise]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hlsSegments.js","sourceRoot":"","sources":["../../src/streaming/hlsSegments.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAExC,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE1C;;;;;;;;;;;;;GAaG;AAEH,sBAAsB;AAEtB;;;;;;GAMG;AACH,MAAM,UAAU,YAAY,CAAC,QAAgB,EAAE,QAAgB,EAAE,IAAY;IAE3E,MAAM,MAAM,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;IAEnC,IAAG,CAAC,MAAM,EAAE,CAAC;QAEX,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"hlsSegments.js","sourceRoot":"","sources":["../../src/streaming/hlsSegments.ts"],"names":[],"mappings":"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"}
|
|
@@ -143,7 +143,7 @@ export function terminateStream(streamId, channelName, reason) {
|
|
|
143
143
|
// Close the browser page. Skip during graceful shutdown since closeBrowser() will close all pages and we'd get spurious "Target closed" errors.
|
|
144
144
|
if (!isGracefulShutdown() && !streamInfo.page.isClosed()) {
|
|
145
145
|
streamInfo.page.close().catch((error) => {
|
|
146
|
-
LOG.
|
|
146
|
+
LOG.debug("streaming:hls", "Error closing page for stream %s: %s.", streamId, formatError(error));
|
|
147
147
|
});
|
|
148
148
|
}
|
|
149
149
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lifecycle.js","sourceRoot":"","sources":["../../src/streaming/lifecycle.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"lifecycle.js","sourceRoot":"","sources":["../../src/streaming/lifecycle.ts"],"names":[],"mappings":"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"}
|
|
@@ -71,4 +71,4 @@ export interface MonitorStreamInfo {
|
|
|
71
71
|
providerName: string;
|
|
72
72
|
startTime: Date;
|
|
73
73
|
}
|
|
74
|
-
export declare function monitorPlaybackHealth(page: Page, context: Frame | Page, profile: ResolvedSiteProfile, url: string, streamId: string, streamInfo: MonitorStreamInfo, onCircuitBreak: () => void, onTabReplacement?: () => Promise<TabReplacementResult
|
|
74
|
+
export declare function monitorPlaybackHealth(page: Page, context: Frame | Page, profile: ResolvedSiteProfile, url: string, streamId: string, streamInfo: MonitorStreamInfo, onCircuitBreak: () => void, onTabReplacement?: () => Promise<Nullable<TabReplacementResult>>): () => RecoveryMetrics;
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
*
|
|
3
3
|
* monitor.ts: Playback health monitoring for PrismCast.
|
|
4
4
|
*/
|
|
5
|
-
import { EvaluateTimeoutError, LOG, formatError, getAbortSignal, isSessionClosedError, runWithStreamContext } from "../utils/index.js";
|
|
5
|
+
import { EvaluateTimeoutError, LOG, formatError, getAbortSignal, isSessionClosedError, runWithStreamContext, startTimer } from "../utils/index.js";
|
|
6
6
|
import { buildVideoSelectorType, checkVideoPresence, enforceVideoVolume, ensurePlayback, findVideoContext, getVideoState, tuneToChannel, validateVideoElement } from "../browser/video.js";
|
|
7
7
|
import { getChannelLogo, getShowName } from "./showInfo.js";
|
|
8
8
|
import { getLastSegmentSize, getStream, getStreamMemoryUsage } from "./registry.js";
|
|
@@ -95,13 +95,17 @@ function formatRecoveryDuration(startTime) {
|
|
|
95
95
|
* @returns User-friendly description.
|
|
96
96
|
*/
|
|
97
97
|
function getIssueDescription(category) {
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
98
|
+
switch (category) {
|
|
99
|
+
case "paused": {
|
|
100
|
+
return "paused";
|
|
101
|
+
}
|
|
102
|
+
case "buffering": {
|
|
103
|
+
return "buffering";
|
|
104
|
+
}
|
|
105
|
+
default: {
|
|
106
|
+
return "stalled";
|
|
107
|
+
}
|
|
103
108
|
}
|
|
104
|
-
return "stalled";
|
|
105
109
|
}
|
|
106
110
|
/**
|
|
107
111
|
* Maps recovery level to method name.
|
|
@@ -109,17 +113,25 @@ function getIssueDescription(category) {
|
|
|
109
113
|
* @returns The recovery method name.
|
|
110
114
|
*/
|
|
111
115
|
function getRecoveryMethod(level) {
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
116
|
+
switch (level) {
|
|
117
|
+
case 1: {
|
|
118
|
+
return RECOVERY_METHODS.playUnmute;
|
|
119
|
+
}
|
|
120
|
+
case 2: {
|
|
121
|
+
return RECOVERY_METHODS.sourceReload;
|
|
122
|
+
}
|
|
123
|
+
default: {
|
|
124
|
+
return RECOVERY_METHODS.pageNavigation;
|
|
125
|
+
}
|
|
117
126
|
}
|
|
118
|
-
return RECOVERY_METHODS.pageNavigation;
|
|
119
127
|
}
|
|
120
128
|
/**
|
|
121
129
|
* Records a recovery attempt in the metrics. Uses the ATTEMPT_FIELDS mapping to find the correct counter field, eliminating the need for if/else chains. This
|
|
122
130
|
* makes adding new recovery methods trivial - just add an entry to ATTEMPT_FIELDS.
|
|
131
|
+
*
|
|
132
|
+
* Note: Tab replacement calls this once per logical attempt even though it may internally retry the onTabReplacement callback. The retry is an implementation
|
|
133
|
+
* detail of executeTabReplacement, not a separate recovery attempt from the monitor's perspective. The circuit breaker likewise records one failure per logical
|
|
134
|
+
* attempt, not per callback invocation.
|
|
123
135
|
* @param metrics - The metrics object to update.
|
|
124
136
|
* @param method - The recovery method being attempted.
|
|
125
137
|
*/
|
|
@@ -504,9 +516,56 @@ export function monitorPlaybackHealth(page, context, profile, url, streamId, str
|
|
|
504
516
|
}
|
|
505
517
|
return { outcome: "failed" };
|
|
506
518
|
}
|
|
519
|
+
/**
|
|
520
|
+
* Applies successful tab replacement state. Updates page and context references, logs recovery duration, records metrics, and resets all failure/escalation state
|
|
521
|
+
* for the fresh tab. Consolidated here so the try and catch paths in executeTabReplacement share a single implementation.
|
|
522
|
+
* @param result - The successful tab replacement result containing the new page and context.
|
|
523
|
+
*/
|
|
524
|
+
function applyTabReplacementSuccess(result) {
|
|
525
|
+
currentPage = result.page;
|
|
526
|
+
currentContext = result.context;
|
|
527
|
+
const duration = formatRecoveryDuration(metrics.currentRecoveryStartTime ?? Date.now());
|
|
528
|
+
LOG.info("Recovered in %s via %s.", duration, RECOVERY_METHODS.tabReplacement);
|
|
529
|
+
recordRecoverySuccess(metrics, RECOVERY_METHODS.tabReplacement);
|
|
530
|
+
// Full state reset for fresh tab.
|
|
531
|
+
lastPageNavigationTime = Date.now();
|
|
532
|
+
resetRecoveryCounters();
|
|
533
|
+
resetEscalationState();
|
|
534
|
+
resetSegmentMonitoringState();
|
|
535
|
+
setRecoveryGracePeriod(3);
|
|
536
|
+
resetCircuitBreaker(circuitBreaker);
|
|
537
|
+
}
|
|
538
|
+
/**
|
|
539
|
+
* Handles tab replacement failure after all retry attempts are exhausted. Clears stale recovery metrics (preventing ghost "Recovered" logs from the
|
|
540
|
+
* deferred-success check), runs the circuit breaker, and detects zombie streams where the old page was destroyed but no replacement was created.
|
|
541
|
+
* @param context - Description of the failure for circuit breaker logging.
|
|
542
|
+
* @returns The tab replacement outcome (failed or terminated).
|
|
543
|
+
*/
|
|
544
|
+
function handleExhaustedTabReplacement(context) {
|
|
545
|
+
// Clear stale recovery metrics so the deferred-success check does not falsely log "Recovered" from leftover state set by recordRecoveryAttempt.
|
|
546
|
+
metrics.currentRecoveryStartTime = null;
|
|
547
|
+
metrics.currentRecoveryMethod = null;
|
|
548
|
+
LOG.warn("Tab replacement unsuccessful after retry.");
|
|
549
|
+
const failureOutcome = handleTabReplacementFailure(context);
|
|
550
|
+
// If the circuit breaker did not trip but the old page is gone (handler destroyed it before createPageWithCapture failed), the stream is unrecoverable. The
|
|
551
|
+
// next monitor tick would silently clear the interval via currentPage.isClosed() with no termination log, no status emission, and no cleanup — creating a
|
|
552
|
+
// zombie entry in the registry. Terminate explicitly instead.
|
|
553
|
+
if ((failureOutcome.outcome === "failed") && currentPage.isClosed()) {
|
|
554
|
+
LOG.error("Tab replacement failed and old page is closed. Stream is unrecoverable. Terminating stream.");
|
|
555
|
+
clearInterval(interval);
|
|
556
|
+
onCircuitBreak();
|
|
557
|
+
return { outcome: "terminated" };
|
|
558
|
+
}
|
|
559
|
+
return failureOutcome;
|
|
560
|
+
}
|
|
507
561
|
/**
|
|
508
562
|
* Executes tab replacement recovery with full error handling. This unified helper handles all tab replacement triggers (tiny segments, stalled capture, unresponsive
|
|
509
563
|
* tab) consistently, including metrics recording, success/failure logging, circuit breaker checks, and state resets.
|
|
564
|
+
*
|
|
565
|
+
* On failure, retries onTabReplacement once before giving up. The handler destroys old resources (capture, segmenter, FFmpeg, page) before calling
|
|
566
|
+
* createPageWithCapture, so a retry is the only chance to save the stream when the first attempt fails. All handler cleanup steps are idempotent on retry:
|
|
567
|
+
* rawCaptureStream.destroyed guard, segmenter stop() checks state.stopped, FFmpeg kill() checks ffmpeg.killed, page close checks !oldPage.isClosed(), and
|
|
568
|
+
* unregisterManagedPage is idempotent.
|
|
510
569
|
* @param issueType - Description of what triggered the replacement (for logging and UI display).
|
|
511
570
|
* @returns The tab replacement outcome.
|
|
512
571
|
*/
|
|
@@ -520,35 +579,44 @@ export function monitorPlaybackHealth(page, context, profile, url, streamId, str
|
|
|
520
579
|
lastRecoveryTime = Date.now();
|
|
521
580
|
lastIssueType = issueType;
|
|
522
581
|
lastIssueTime = Date.now();
|
|
582
|
+
const tabRecoveryElapsed = startTimer();
|
|
523
583
|
recordRecoveryAttempt(metrics, RECOVERY_METHODS.tabReplacement);
|
|
524
584
|
try {
|
|
525
|
-
|
|
585
|
+
let result = await onTabReplacement();
|
|
586
|
+
// First attempt failed — retry once. See idempotency notes in the JSDoc above.
|
|
587
|
+
if (!result) {
|
|
588
|
+
LOG.debug("recovery:tab", "Tab replacement attempt 1/2 failed. Retrying...");
|
|
589
|
+
try {
|
|
590
|
+
result = await onTabReplacement();
|
|
591
|
+
}
|
|
592
|
+
catch (retryError) {
|
|
593
|
+
LOG.debug("recovery:tab", "Tab replacement attempt 2/2 failed: %s.", formatError(retryError));
|
|
594
|
+
}
|
|
595
|
+
}
|
|
526
596
|
if (result) {
|
|
527
|
-
|
|
528
|
-
currentPage = result.page;
|
|
529
|
-
currentContext = result.context;
|
|
530
|
-
const duration = formatRecoveryDuration(metrics.currentRecoveryStartTime ?? Date.now());
|
|
531
|
-
LOG.info("Recovered in %s via %s.", duration, RECOVERY_METHODS.tabReplacement);
|
|
532
|
-
recordRecoverySuccess(metrics, RECOVERY_METHODS.tabReplacement);
|
|
533
|
-
// Full state reset for fresh tab.
|
|
534
|
-
lastPageNavigationTime = Date.now();
|
|
535
|
-
resetRecoveryCounters();
|
|
536
|
-
resetEscalationState();
|
|
537
|
-
resetSegmentMonitoringState();
|
|
538
|
-
setRecoveryGracePeriod(3);
|
|
539
|
-
resetCircuitBreaker(circuitBreaker);
|
|
597
|
+
applyTabReplacementSuccess(result);
|
|
540
598
|
return { outcome: "success" };
|
|
541
599
|
}
|
|
542
|
-
|
|
543
|
-
LOG.warn("Tab replacement unsuccessful.");
|
|
544
|
-
return handleTabReplacementFailure("tab replacement unsuccessful");
|
|
600
|
+
return handleExhaustedTabReplacement("tab replacement unsuccessful");
|
|
545
601
|
}
|
|
546
602
|
catch (error) {
|
|
547
|
-
//
|
|
548
|
-
|
|
549
|
-
|
|
603
|
+
// Unexpected error (not from onTabReplacement — those are caught internally by the handler in hls.ts and return null). Guard against registry corruption,
|
|
604
|
+
// getStream failures, or other unexpected errors.
|
|
605
|
+
LOG.debug("recovery:tab", "Tab replacement attempt 1/2 failed: %s. Retrying...", formatError(error));
|
|
606
|
+
try {
|
|
607
|
+
const retryResult = await onTabReplacement();
|
|
608
|
+
if (retryResult) {
|
|
609
|
+
applyTabReplacementSuccess(retryResult);
|
|
610
|
+
return { outcome: "success" };
|
|
611
|
+
}
|
|
612
|
+
}
|
|
613
|
+
catch (retryError) {
|
|
614
|
+
LOG.debug("recovery:tab", "Tab replacement attempt 2/2 failed: %s.", formatError(retryError));
|
|
615
|
+
}
|
|
616
|
+
return handleExhaustedTabReplacement("tab replacement error");
|
|
550
617
|
}
|
|
551
618
|
finally {
|
|
619
|
+
LOG.debug("timing:recovery", "Tab replacement completed. Total: %sms.", tabRecoveryElapsed());
|
|
552
620
|
finalizeTabReplacement();
|
|
553
621
|
}
|
|
554
622
|
}
|
|
@@ -563,6 +631,7 @@ export function monitorPlaybackHealth(page, context, profile, url, streamId, str
|
|
|
563
631
|
* @returns Recovery result with the new context if successful.
|
|
564
632
|
*/
|
|
565
633
|
async function performPageNavigationRecovery() {
|
|
634
|
+
const navRecoveryElapsed = startTimer();
|
|
566
635
|
// Track page count before navigation to detect unexpected new tabs (popups, ads).
|
|
567
636
|
const browser = currentPage.browser();
|
|
568
637
|
const pageCountBefore = (await browser.pages()).length;
|
|
@@ -573,24 +642,27 @@ export function monitorPlaybackHealth(page, context, profile, url, streamId, str
|
|
|
573
642
|
// Check for unexpected new tabs created during tuning.
|
|
574
643
|
const pageCountAfter = (await browser.pages()).length;
|
|
575
644
|
if (pageCountAfter > pageCountBefore) {
|
|
576
|
-
LOG.
|
|
645
|
+
LOG.debug("recovery:nav", "Detected %s new tab(s) created during navigation.", pageCountAfter - pageCountBefore);
|
|
577
646
|
}
|
|
578
647
|
// Validate that we're on the expected page.
|
|
579
648
|
const currentUrl = currentPage.url();
|
|
580
649
|
const expectedHostname = new URL(url).hostname;
|
|
581
|
-
if (currentUrl.
|
|
582
|
-
LOG.
|
|
650
|
+
if (!currentUrl.includes(expectedHostname)) {
|
|
651
|
+
LOG.debug("recovery:nav", "Page URL after navigation (%s) does not match expected hostname.", currentUrl);
|
|
583
652
|
}
|
|
584
653
|
// Validate that the video element is accessible and has reasonable state.
|
|
585
654
|
const validationState = await validateVideoElement(newContext, selectorType);
|
|
586
655
|
if (validationState.found) {
|
|
656
|
+
LOG.debug("timing:recovery", "Page navigation recovery succeeded. Total: %sms.", navRecoveryElapsed());
|
|
587
657
|
return { newContext, success: true };
|
|
588
658
|
}
|
|
589
659
|
LOG.warn("Page navigation completed but video element not found in new context.");
|
|
660
|
+
LOG.debug("timing:recovery", "Page navigation recovery failed (no video). Total: %sms.", navRecoveryElapsed());
|
|
590
661
|
return { success: false };
|
|
591
662
|
}
|
|
592
663
|
catch (error) {
|
|
593
664
|
LOG.warn("Failed to reinitialize video after page navigation: %s.", formatError(error));
|
|
665
|
+
LOG.debug("timing:recovery", "Page navigation recovery failed (error). Total: %sms.", navRecoveryElapsed());
|
|
594
666
|
return { success: false };
|
|
595
667
|
}
|
|
596
668
|
}
|
|
@@ -646,7 +718,7 @@ export function monitorPlaybackHealth(page, context, profile, url, streamId, str
|
|
|
646
718
|
const errorMessage = formatError(stateError);
|
|
647
719
|
const isContextDestroyed = ["context", "destroyed", "detached", "target closed"].some((term) => errorMessage.toLowerCase().includes(term));
|
|
648
720
|
if (isContextDestroyed) {
|
|
649
|
-
LOG.
|
|
721
|
+
LOG.debug("recovery:context", "Video context was invalidated (frame detached). Will re-search for video.");
|
|
650
722
|
contextInvalidated = true;
|
|
651
723
|
}
|
|
652
724
|
else {
|
|
@@ -658,7 +730,7 @@ export function monitorPlaybackHealth(page, context, profile, url, streamId, str
|
|
|
658
730
|
const state = stateInfo ? { ...stateInfo, time: stateInfo.currentTime } : null;
|
|
659
731
|
// If context was invalidated (frame detached), immediately try to find the video in a new context.
|
|
660
732
|
if (contextInvalidated) {
|
|
661
|
-
LOG.
|
|
733
|
+
LOG.debug("recovery:context", "Re-searching for video after context invalidation.");
|
|
662
734
|
try {
|
|
663
735
|
const newContext = await findVideoContext(currentPage, profile);
|
|
664
736
|
const validationState = await validateVideoElement(newContext, selectorType);
|
|
@@ -717,7 +789,7 @@ export function monitorPlaybackHealth(page, context, profile, url, streamId, str
|
|
|
717
789
|
}
|
|
718
790
|
// After 2+ failures, try re-searching frames to see if video moved to a different context.
|
|
719
791
|
if (videoNotFoundCount === 2) {
|
|
720
|
-
LOG.
|
|
792
|
+
LOG.debug("recovery:context", "Re-searching frames for video element.");
|
|
721
793
|
try {
|
|
722
794
|
const newContext = await findVideoContext(currentPage, profile);
|
|
723
795
|
const validationState = await validateVideoElement(newContext, selectorType);
|
|
@@ -869,12 +941,11 @@ export function monitorPlaybackHealth(page, context, profile, url, streamId, str
|
|
|
869
941
|
wasInTinySegmentState = true;
|
|
870
942
|
if (consecutiveTinySegments >= TINY_SEGMENT_COUNT_TRIGGER) {
|
|
871
943
|
LOG.warn("Detected %d consecutive tiny segments (%d bytes). Capture pipeline appears dead.", consecutiveTinySegments, segmentSize);
|
|
872
|
-
// Trigger tab replacement if available, otherwise let circuit breaker handle it via segmentProductionStalled.
|
|
944
|
+
// Trigger tab replacement if available, otherwise let circuit breaker handle it via segmentProductionStalled. Return unconditionally after tab
|
|
945
|
+
// replacement (matching stalled-capture and unresponsive-tab triggers) to avoid falling through the rest of the tick with stale pre-replacement state.
|
|
873
946
|
if (onTabReplacement && !recoveryInProgress) {
|
|
874
|
-
|
|
875
|
-
|
|
876
|
-
return;
|
|
877
|
-
}
|
|
947
|
+
await executeTabReplacement("tiny segments");
|
|
948
|
+
return;
|
|
878
949
|
}
|
|
879
950
|
else if (!onTabReplacement) {
|
|
880
951
|
// No tab replacement callback - set stalled flag for circuit breaker.
|
|
@@ -886,7 +957,7 @@ export function monitorPlaybackHealth(page, context, profile, url, streamId, str
|
|
|
886
957
|
// Valid segment size. Check for spontaneous recovery from tiny segment state. We don't mark discontinuity here - only tab replacement marks discontinuity.
|
|
887
958
|
// Self-healing may be transient and not require decoder reset.
|
|
888
959
|
if (wasInTinySegmentState) {
|
|
889
|
-
LOG.debug("Segment production self-healed (%d bytes).", segmentSize);
|
|
960
|
+
LOG.debug("recovery:segments", "Segment production self-healed (%d bytes).", segmentSize);
|
|
890
961
|
}
|
|
891
962
|
// Reset tiny segment tracking.
|
|
892
963
|
consecutiveTinySegments = 0;
|
|
@@ -899,7 +970,7 @@ export function monitorPlaybackHealth(page, context, profile, url, streamId, str
|
|
|
899
970
|
* issues), we re-minimize to reduce GPU usage.
|
|
900
971
|
*/
|
|
901
972
|
if (pendingReMinimize && isProgressing && !state.paused && !state.error && !state.ended) {
|
|
902
|
-
LOG.debug("Re-minimizing browser window after successful recovery.");
|
|
973
|
+
LOG.debug("recovery", "Re-minimizing browser window after successful recovery.");
|
|
903
974
|
pendingReMinimize = false;
|
|
904
975
|
await resizeAndMinimizeWindow(currentPage, true);
|
|
905
976
|
}
|
|
@@ -1113,7 +1184,7 @@ export function monitorPlaybackHealth(page, context, profile, url, streamId, str
|
|
|
1113
1184
|
// Safety check: If page navigation has failed twice consecutively, fall back to source reload. This prevents getting stuck in a loop when navigation
|
|
1114
1185
|
// itself is broken (e.g., network issues, site blocking).
|
|
1115
1186
|
if (consecutiveNavigationFailures >= 2) {
|
|
1116
|
-
LOG.
|
|
1187
|
+
LOG.warn("Page navigation has failed %s consecutive times. Falling back to source reload recovery.", consecutiveNavigationFailures);
|
|
1117
1188
|
escalationLevel = 2;
|
|
1118
1189
|
consecutiveNavigationFailures = 0;
|
|
1119
1190
|
// Reset source reload tracking so the fallback L2 gets a fair chance. Without this, the next recovery cycle would skip L2 and try L3 again.
|
|
@@ -1127,7 +1198,7 @@ export function monitorPlaybackHealth(page, context, profile, url, streamId, str
|
|
|
1127
1198
|
return ts > reloadWindow;
|
|
1128
1199
|
});
|
|
1129
1200
|
if (pageReloadTimestamps.length >= CONFIG.playback.maxPageReloads) {
|
|
1130
|
-
LOG.
|
|
1201
|
+
LOG.warn("Exceeded maximum page navigations (%s in %s minutes). Falling back to source reload.", CONFIG.playback.maxPageReloads, Math.round(CONFIG.playback.pageReloadWindow / 60000));
|
|
1131
1202
|
escalationLevel = 2;
|
|
1132
1203
|
// Reset source reload tracking so the fallback L2 gets a fair chance.
|
|
1133
1204
|
sourceReloadAttempted = false;
|
|
@@ -1198,7 +1269,7 @@ export function monitorPlaybackHealth(page, context, profile, url, streamId, str
|
|
|
1198
1269
|
// Log abort errors at debug level since they're expected during stream termination. Log other errors at error level.
|
|
1199
1270
|
const errorMessage = formatError(error);
|
|
1200
1271
|
if (errorMessage.includes("aborted")) {
|
|
1201
|
-
LOG.debug("Monitor check aborted: %s.", errorMessage);
|
|
1272
|
+
LOG.debug("recovery", "Monitor check aborted: %s.", errorMessage);
|
|
1202
1273
|
}
|
|
1203
1274
|
else {
|
|
1204
1275
|
LOG.error("Monitor check failed: %s.", errorMessage);
|