prismcast 1.3.3 → 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.
- package/dist/app.d.ts +3 -2
- package/dist/app.js +32 -17
- package/dist/app.js.map +1 -1
- package/dist/browser/channelSelection.d.ts +3 -2
- package/dist/browser/channelSelection.js +43 -19
- package/dist/browser/channelSelection.js.map +1 -1
- package/dist/browser/index.d.ts +9 -13
- package/dist/browser/index.js +65 -75
- package/dist/browser/index.js.map +1 -1
- package/dist/browser/tuning/hulu.js +613 -13
- package/dist/browser/tuning/hulu.js.map +1 -1
- package/dist/browser/tuning/sling.js +1 -1
- package/dist/browser/tuning/thumbnailRow.js +69 -71
- package/dist/browser/tuning/thumbnailRow.js.map +1 -1
- package/dist/browser/tuning/tileClick.js +111 -77
- package/dist/browser/tuning/tileClick.js.map +1 -1
- package/dist/browser/tuning/youtubeTv.js +5 -5
- package/dist/browser/tuning/youtubeTv.js.map +1 -1
- package/dist/browser/video.d.ts +3 -10
- package/dist/browser/video.js +91 -10
- package/dist/browser/video.js.map +1 -1
- package/dist/config/index.d.ts +9 -3
- package/dist/config/index.js +28 -28
- package/dist/config/index.js.map +1 -1
- package/dist/config/paths.d.ts +41 -0
- package/dist/config/paths.js +88 -0
- package/dist/config/paths.js.map +1 -0
- package/dist/config/providers.js +1 -1
- package/dist/config/sites.js +30 -13
- package/dist/config/sites.js.map +1 -1
- package/dist/config/userChannels.d.ts +1 -1
- package/dist/config/userChannels.js +10 -13
- package/dist/config/userChannels.js.map +1 -1
- package/dist/config/userConfig.d.ts +14 -7
- package/dist/config/userConfig.js +59 -34
- package/dist/config/userConfig.js.map +1 -1
- package/dist/index.d.ts +11 -1
- package/dist/index.js +187 -25
- package/dist/index.js.map +1 -1
- package/dist/routes/config.js +15 -7
- package/dist/routes/config.js.map +1 -1
- package/dist/routes/debug.js +41 -6
- package/dist/routes/debug.js.map +1 -1
- 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 +3 -3
- package/dist/routes/logs.js.map +1 -1
- package/dist/routes/playlist.d.ts +2 -2
- package/dist/routes/playlist.js +11 -9
- package/dist/routes/playlist.js.map +1 -1
- package/dist/routes/root.js +149 -6
- package/dist/routes/root.js.map +1 -1
- package/dist/routes/theme.js +4 -0
- package/dist/routes/theme.js.map +1 -1
- package/dist/routes/ui.js +2 -0
- package/dist/routes/ui.js.map +1 -1
- package/dist/routes/upgrade.d.ts +6 -0
- package/dist/routes/upgrade.js +68 -0
- package/dist/routes/upgrade.js.map +1 -0
- package/dist/service/commands.js +9 -7
- package/dist/service/commands.js.map +1 -1
- package/dist/service/generators.js +10 -15
- package/dist/service/generators.js.map +1 -1
- package/dist/streaming/fmp4Segmenter.d.ts +28 -0
- package/dist/streaming/fmp4Segmenter.js +140 -47
- package/dist/streaming/fmp4Segmenter.js.map +1 -1
- package/dist/streaming/hls.js +3 -1
- package/dist/streaming/hls.js.map +1 -1
- package/dist/streaming/lifecycle.js +13 -6
- package/dist/streaming/lifecycle.js.map +1 -1
- package/dist/streaming/mp4Parser.d.ts +19 -10
- package/dist/streaming/mp4Parser.js +39 -29
- package/dist/streaming/mp4Parser.js.map +1 -1
- package/dist/streaming/setup.d.ts +2 -0
- package/dist/streaming/setup.js +4 -1
- package/dist/streaming/setup.js.map +1 -1
- package/dist/types/index.d.ts +10 -7
- package/dist/types/index.js.map +1 -1
- package/dist/upgrade/commands.d.ts +6 -0
- package/dist/upgrade/commands.js +210 -0
- package/dist/upgrade/commands.js.map +1 -0
- package/dist/upgrade/detection.d.ts +15 -0
- package/dist/upgrade/detection.js +75 -0
- package/dist/upgrade/detection.js.map +1 -0
- package/dist/upgrade/index.d.ts +2 -0
- package/dist/upgrade/index.js +7 -0
- package/dist/upgrade/index.js.map +1 -0
- package/dist/utils/fileLogger.d.ts +2 -1
- package/dist/utils/fileLogger.js +10 -8
- package/dist/utils/fileLogger.js.map +1 -1
- package/dist/utils/logger.js +1 -1
- package/dist/utils/m3u.js +1 -7
- package/dist/utils/m3u.js.map +1 -1
- package/dist/utils/platform.d.ts +8 -2
- package/dist/utils/platform.js +26 -6
- package/dist/utils/platform.js.map +1 -1
- package/dist/utils/version.d.ts +18 -0
- package/dist/utils/version.js +3 -3
- package/dist/utils/version.js.map +1 -1
- package/package.json +6 -6
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hulu.js","sourceRoot":"","sources":["../../../src/browser/tuning/hulu.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"hulu.js","sourceRoot":"","sources":["../../../src/browser/tuning/hulu.ts"],"names":[],"mappings":"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"}
|
|
@@ -180,7 +180,7 @@ async function clickWithRetry(page, initialTarget, normalizedName, channelName)
|
|
|
180
180
|
}
|
|
181
181
|
/**
|
|
182
182
|
* Looks up a channel GUID from the cache by normalized name. Falls back to local affiliate prefix matching where the cache key starts with the target name
|
|
183
|
-
* followed by " (" (e.g., "abc" matches "abc (
|
|
183
|
+
* followed by " (" (e.g., "abc" matches "abc (wabc)"). On a prefix match, caches the GUID under the primary name for O(1) on subsequent lookups.
|
|
184
184
|
* @param normalizedName - The normalized (lowercased, trimmed) channel name.
|
|
185
185
|
* @returns The channel GUID or null if not cached.
|
|
186
186
|
*/
|
|
@@ -1,91 +1,89 @@
|
|
|
1
|
+
import { resolveMatchSelector, scrollAndClick } from "../channelSelection.js";
|
|
1
2
|
import { CONFIG } from "../../config/index.js";
|
|
2
3
|
import { evaluateWithAbort } from "../../utils/index.js";
|
|
3
|
-
import { scrollAndClick } from "../channelSelection.js";
|
|
4
4
|
/**
|
|
5
|
-
* Thumbnail row strategy: finds a channel
|
|
6
|
-
* works for sites like USA Network where channels are displayed as rows with a thumbnail on the left and program entries to the right.
|
|
5
|
+
* Thumbnail row strategy: finds a channel element using the profile's matchSelector (defaults to image URL matching), then clicks an adjacent clickable element on
|
|
6
|
+
* the same row. This strategy works for sites like USA Network where channels are displayed as rows with a thumbnail on the left and program entries to the right.
|
|
7
7
|
*
|
|
8
8
|
* The selection process:
|
|
9
|
-
* 1.
|
|
10
|
-
* 2. Verify the
|
|
11
|
-
* 3. Walk up the DOM to find a container wide enough to hold both
|
|
12
|
-
* 4. Search for clickable elements (links, buttons, cards) to the right of the
|
|
9
|
+
* 1. Find channel elements matching the resolved matchSelector CSS selector
|
|
10
|
+
* 2. Verify the first visible match has dimensions (is rendered and visible)
|
|
11
|
+
* 3. Walk up the DOM to find a container wide enough to hold both the channel element and guide entries
|
|
12
|
+
* 4. Search for clickable elements (links, buttons, cards) to the right of the channel element on the same row
|
|
13
13
|
* 5. Fall back to divs with cursor:pointer if no semantic clickables found
|
|
14
14
|
* 6. Click the found element to switch to the channel
|
|
15
15
|
* @param page - The Puppeteer page object.
|
|
16
|
-
* @param profile - The resolved site profile with a non-null channelSelector
|
|
16
|
+
* @param profile - The resolved site profile with a non-null channelSelector.
|
|
17
17
|
* @returns Result object with success status and optional failure reason.
|
|
18
18
|
*/
|
|
19
19
|
async function thumbnailRowStrategyFn(page, profile) {
|
|
20
|
-
const
|
|
21
|
-
// Find clickable element by evaluating DOM. The logic
|
|
22
|
-
//
|
|
23
|
-
const clickTarget = await evaluateWithAbort(page, (
|
|
24
|
-
const
|
|
25
|
-
for (const
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
return { x: newRect.x + (newRect.width / 2), y: newRect.y + (newRect.height / 2) };
|
|
56
|
-
}
|
|
20
|
+
const selector = resolveMatchSelector(profile);
|
|
21
|
+
// Find clickable element by evaluating DOM. The logic queries for elements matching the resolved matchSelector, then finds clickable show entries on the same
|
|
22
|
+
// row.
|
|
23
|
+
const clickTarget = await evaluateWithAbort(page, (sel) => {
|
|
24
|
+
const elements = document.querySelectorAll(sel);
|
|
25
|
+
for (const el of Array.from(elements)) {
|
|
26
|
+
const htmlEl = el;
|
|
27
|
+
const elRect = htmlEl.getBoundingClientRect();
|
|
28
|
+
// Verify the element has dimensions (is actually rendered and visible).
|
|
29
|
+
if ((elRect.width > 0) && (elRect.height > 0)) {
|
|
30
|
+
// Found the channel element. Now walk up the DOM tree to find a container that holds both the element and the guide entries for this row.
|
|
31
|
+
let rowContainer = htmlEl.parentElement;
|
|
32
|
+
while (rowContainer && (rowContainer !== document.body)) {
|
|
33
|
+
const containerRect = rowContainer.getBoundingClientRect();
|
|
34
|
+
// Look for a container significantly wider than the channel element (indicating it contains more than just the element). The factor of 2 is a
|
|
35
|
+
// heuristic that works for typical channel guide layouts.
|
|
36
|
+
if (containerRect.width > (elRect.width * 2)) {
|
|
37
|
+
// This container is wide enough to contain guide entries. Search for clickable elements (show cards) to the right of the channel element.
|
|
38
|
+
const clickables = rowContainer.querySelectorAll("a, button, [role=\"button\"], [onclick], [class*=\"card\"], [class*=\"program\"], [class*=\"show\"], [class*=\"episode\"]");
|
|
39
|
+
const elCenterY = elRect.y + (elRect.height / 2);
|
|
40
|
+
for (const clickable of Array.from(clickables)) {
|
|
41
|
+
const clickRect = clickable.getBoundingClientRect();
|
|
42
|
+
const clickCenterY = clickRect.y + (clickRect.height / 2);
|
|
43
|
+
// The guide entry must meet these criteria:
|
|
44
|
+
// - To the right of the channel element (with small tolerance for overlapping borders)
|
|
45
|
+
// - Has dimensions (is visible)
|
|
46
|
+
// - On the same row (vertical center within channel element height)
|
|
47
|
+
const isRightOfElement = clickRect.x > (elRect.x + elRect.width - 10);
|
|
48
|
+
const hasDimensions = (clickRect.width > 0) && (clickRect.height > 0);
|
|
49
|
+
const isSameRow = Math.abs(clickCenterY - elCenterY) < elRect.height;
|
|
50
|
+
if (isRightOfElement && hasDimensions && isSameRow) {
|
|
51
|
+
// Found a suitable click target. Scroll it into view and return its center coordinates.
|
|
52
|
+
clickable.scrollIntoView({ behavior: "instant", block: "center", inline: "center" });
|
|
53
|
+
const newRect = clickable.getBoundingClientRect();
|
|
54
|
+
return { x: newRect.x + (newRect.width / 2), y: newRect.y + (newRect.height / 2) };
|
|
57
55
|
}
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
}
|
|
56
|
+
}
|
|
57
|
+
// Fallback: if no semantically clickable elements found, look for divs with cursor: pointer styling. These are often custom-styled click
|
|
58
|
+
// handlers.
|
|
59
|
+
const allDivs = rowContainer.querySelectorAll("div");
|
|
60
|
+
for (const div of Array.from(allDivs)) {
|
|
61
|
+
const divRect = div.getBoundingClientRect();
|
|
62
|
+
const divCenterY = divRect.y + (divRect.height / 2);
|
|
63
|
+
const style = window.getComputedStyle(div);
|
|
64
|
+
const isRightOfElement = divRect.x > (elRect.x + elRect.width - 10);
|
|
65
|
+
const hasDimensions = (divRect.width > 20) && (divRect.height > 20);
|
|
66
|
+
const isClickable = style.cursor === "pointer";
|
|
67
|
+
const isSameRow = Math.abs(divCenterY - elCenterY) < elRect.height;
|
|
68
|
+
if (isRightOfElement && hasDimensions && isClickable && isSameRow) {
|
|
69
|
+
div.scrollIntoView({ behavior: "instant", block: "center", inline: "center" });
|
|
70
|
+
const newRect = div.getBoundingClientRect();
|
|
71
|
+
return { x: newRect.x + (newRect.width / 2), y: newRect.y + (newRect.height / 2) };
|
|
74
72
|
}
|
|
75
73
|
}
|
|
76
|
-
rowContainer = rowContainer.parentElement;
|
|
77
74
|
}
|
|
78
|
-
|
|
79
|
-
// expectations.
|
|
80
|
-
img.scrollIntoView({ behavior: "instant", block: "center", inline: "center" });
|
|
81
|
-
const newImgRect = img.getBoundingClientRect();
|
|
82
|
-
return { x: newImgRect.x + newImgRect.width + 50, y: newImgRect.y + (newImgRect.height / 2) };
|
|
75
|
+
rowContainer = rowContainer.parentElement;
|
|
83
76
|
}
|
|
77
|
+
// Ultimate fallback: click a fixed offset to the right of the channel element. This is a last resort if the guide structure doesn't match our
|
|
78
|
+
// expectations.
|
|
79
|
+
htmlEl.scrollIntoView({ behavior: "instant", block: "center", inline: "center" });
|
|
80
|
+
const newElRect = htmlEl.getBoundingClientRect();
|
|
81
|
+
return { x: newElRect.x + newElRect.width + 50, y: newElRect.y + (newElRect.height / 2) };
|
|
84
82
|
}
|
|
85
83
|
}
|
|
86
|
-
// Channel
|
|
84
|
+
// Channel element not found.
|
|
87
85
|
return null;
|
|
88
|
-
}, [
|
|
86
|
+
}, [selector]);
|
|
89
87
|
if (clickTarget) {
|
|
90
88
|
await scrollAndClick(page, clickTarget);
|
|
91
89
|
// Poll for the video readyState to drop below 3, indicating the channel switch has started loading new content. This replaces a fixed post-click delay with
|
|
@@ -102,7 +100,7 @@ async function thumbnailRowStrategyFn(page, profile) {
|
|
|
102
100
|
}
|
|
103
101
|
return { success: true };
|
|
104
102
|
}
|
|
105
|
-
return { reason: "Channel
|
|
103
|
+
return { reason: "Channel element not found for selector.", success: false };
|
|
106
104
|
}
|
|
107
|
-
export const thumbnailRowStrategy = { execute: thumbnailRowStrategyFn
|
|
105
|
+
export const thumbnailRowStrategy = { execute: thumbnailRowStrategyFn };
|
|
108
106
|
//# sourceMappingURL=thumbnailRow.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"thumbnailRow.js","sourceRoot":"","sources":["../../../src/browser/tuning/thumbnailRow.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"thumbnailRow.js","sourceRoot":"","sources":["../../../src/browser/tuning/thumbnailRow.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,103 +1,137 @@
|
|
|
1
|
+
import { LOG, evaluateWithAbort } from "../../utils/index.js";
|
|
2
|
+
import { resolveMatchSelector, scrollAndClick } from "../channelSelection.js";
|
|
1
3
|
import { CONFIG } from "../../config/index.js";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
+
// Maximum number of play button click attempts before giving up. The first click sometimes misses due to coordinate shifts from SPA animations or overlay
|
|
5
|
+
// interference — retrying with fresh coordinates resolves most transient failures.
|
|
6
|
+
const MAX_PLAY_CLICK_ATTEMPTS = 3;
|
|
7
|
+
// Timeout in milliseconds to wait for the play button to disappear after clicking it. This is the verification signal that the SPA transitioned to the player view.
|
|
8
|
+
// Kept short so retries happen quickly rather than burning the full videoTimeout on a silent miss.
|
|
9
|
+
const PLAY_CLICK_VERIFY_TIMEOUT = 3000;
|
|
4
10
|
/**
|
|
5
|
-
* Tile click strategy: finds a channel
|
|
6
|
-
* the
|
|
7
|
-
* play button to start the
|
|
11
|
+
* Tile click strategy: finds a channel element using the profile's matchSelector (defaults to image URL matching), clicks the tile, and optionally clicks a play
|
|
12
|
+
* button if the profile specifies one. This strategy works for multi-channel live TV sites that display channels as tiles in a horizontal shelf. When
|
|
13
|
+
* `channelSelection.playSelector` is set (e.g., Disney+), clicking the tile opens a modal and the play button is clicked to start the stream. When `playSelector`
|
|
14
|
+
* is absent, clicking the tile is the final action and the site auto-plays the selected channel.
|
|
8
15
|
*
|
|
9
16
|
* The selection process:
|
|
10
|
-
* 1.
|
|
11
|
-
* 2. Walk up the DOM to find the nearest clickable ancestor (the tile container)
|
|
17
|
+
* 1. Find channel elements matching the resolved matchSelector CSS selector
|
|
18
|
+
* 2. Walk up the DOM from the first visible match to find the nearest clickable ancestor (the tile container)
|
|
12
19
|
* 3. Scroll the tile into view and click it
|
|
13
|
-
* 4.
|
|
14
|
-
* 5. Click the play button to start live playback
|
|
20
|
+
* 4. If `playSelector` is configured: wait for the play button, click it, and verify the modal dismissed — retrying up to 3 times on silent failures
|
|
15
21
|
* @param page - The Puppeteer page object.
|
|
16
|
-
* @param profile - The resolved site profile with a non-null channelSelector
|
|
22
|
+
* @param profile - The resolved site profile with a non-null channelSelector.
|
|
17
23
|
* @returns Result object with success status and optional failure reason.
|
|
18
24
|
*/
|
|
19
25
|
async function tileClickStrategyFn(page, profile) {
|
|
20
|
-
const
|
|
21
|
-
// Step 1: Find the channel tile by
|
|
22
|
-
//
|
|
23
|
-
//
|
|
24
|
-
const tileTarget = await evaluateWithAbort(page, (
|
|
25
|
-
const
|
|
26
|
-
for (const
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
if ((rect.width > 0) && (rect.height > 0)) {
|
|
43
|
-
return { x: rect.x + (rect.width / 2), y: rect.y + (rect.height / 2) };
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
// Track the nearest cursor:pointer ancestor with reasonable dimensions as a fallback.
|
|
47
|
-
if (!pointerFallback) {
|
|
48
|
-
const rect = ancestor.getBoundingClientRect();
|
|
49
|
-
if ((rect.width > 20) && (rect.height > 20) && (window.getComputedStyle(ancestor).cursor === "pointer")) {
|
|
50
|
-
pointerFallback = ancestor;
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
ancestor = ancestor.parentElement;
|
|
54
|
-
}
|
|
55
|
-
// Fallback: use cursor:pointer ancestor if no semantic clickable was found above.
|
|
56
|
-
if (pointerFallback) {
|
|
57
|
-
pointerFallback.scrollIntoView({ behavior: "instant", block: "center", inline: "center" });
|
|
58
|
-
const rect = pointerFallback.getBoundingClientRect();
|
|
26
|
+
const selector = resolveMatchSelector(profile);
|
|
27
|
+
// Step 1: Find the channel tile by querying for elements matching the resolved matchSelector. The selector is interpolated from the profile's matchSelector
|
|
28
|
+
// template (or defaults to img[src*="channelSelector"]). We find the first visible match, then walk up the DOM to find the nearest clickable ancestor that
|
|
29
|
+
// represents the entire tile.
|
|
30
|
+
const tileTarget = await evaluateWithAbort(page, (sel) => {
|
|
31
|
+
const elements = document.querySelectorAll(sel);
|
|
32
|
+
for (const el of Array.from(elements)) {
|
|
33
|
+
const htmlEl = el;
|
|
34
|
+
const elRect = htmlEl.getBoundingClientRect();
|
|
35
|
+
// Verify the element has dimensions (is actually rendered and visible). This provides defense-in-depth if the coordinator's wait phase timed out before the
|
|
36
|
+
// element fully loaded.
|
|
37
|
+
if ((elRect.width > 0) && (elRect.height > 0)) {
|
|
38
|
+
// Walk up the DOM to find the nearest clickable ancestor wrapping the tile. Check for semantic clickable elements (<a>, <button>, role="button") and
|
|
39
|
+
// elements with explicit click handlers first. Track cursor:pointer elements as a fallback for sites using custom click handlers without semantic markup.
|
|
40
|
+
let ancestor = htmlEl.parentElement;
|
|
41
|
+
let pointerFallback = null;
|
|
42
|
+
while (ancestor && (ancestor !== document.body)) {
|
|
43
|
+
const tag = ancestor.tagName;
|
|
44
|
+
// Semantic clickable elements are the most reliable indicators of an interactive tile container.
|
|
45
|
+
if ((tag === "A") || (tag === "BUTTON") || (ancestor.getAttribute("role") === "button") || ancestor.hasAttribute("onclick")) {
|
|
46
|
+
ancestor.scrollIntoView({ behavior: "instant", block: "center", inline: "center" });
|
|
47
|
+
const rect = ancestor.getBoundingClientRect();
|
|
59
48
|
if ((rect.width > 0) && (rect.height > 0)) {
|
|
60
49
|
return { x: rect.x + (rect.width / 2), y: rect.y + (rect.height / 2) };
|
|
61
50
|
}
|
|
62
51
|
}
|
|
52
|
+
// Track the nearest cursor:pointer ancestor with reasonable dimensions as a fallback.
|
|
53
|
+
if (!pointerFallback) {
|
|
54
|
+
const rect = ancestor.getBoundingClientRect();
|
|
55
|
+
if ((rect.width > 20) && (rect.height > 20) && (window.getComputedStyle(ancestor).cursor === "pointer")) {
|
|
56
|
+
pointerFallback = ancestor;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
ancestor = ancestor.parentElement;
|
|
60
|
+
}
|
|
61
|
+
// Fallback: use cursor:pointer ancestor if no semantic clickable was found above.
|
|
62
|
+
if (pointerFallback) {
|
|
63
|
+
pointerFallback.scrollIntoView({ behavior: "instant", block: "center", inline: "center" });
|
|
64
|
+
const rect = pointerFallback.getBoundingClientRect();
|
|
65
|
+
if ((rect.width > 0) && (rect.height > 0)) {
|
|
66
|
+
return { x: rect.x + (rect.width / 2), y: rect.y + (rect.height / 2) };
|
|
67
|
+
}
|
|
63
68
|
}
|
|
64
69
|
}
|
|
65
70
|
}
|
|
66
71
|
return null;
|
|
67
|
-
}, [
|
|
72
|
+
}, [selector]);
|
|
68
73
|
if (!tileTarget) {
|
|
69
|
-
return { reason: "Channel
|
|
74
|
+
return { reason: "Channel element not found for selector.", success: false };
|
|
70
75
|
}
|
|
71
|
-
// Click the channel tile
|
|
76
|
+
// Click the channel tile. For sites with a play button (playSelector configured), this opens a modal. For auto-play sites, this is the final action.
|
|
72
77
|
await scrollAndClick(page, tileTarget);
|
|
73
|
-
// Step 2:
|
|
74
|
-
//
|
|
75
|
-
const playButtonSelector =
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
catch {
|
|
80
|
-
return { reason: "Play button did not appear after clicking channel tile.", success: false };
|
|
81
|
-
}
|
|
82
|
-
// Get the play button coordinates for clicking.
|
|
83
|
-
const playTarget = await evaluateWithAbort(page, (selector) => {
|
|
84
|
-
const button = document.querySelector(selector);
|
|
85
|
-
if (!button) {
|
|
86
|
-
return null;
|
|
78
|
+
// Step 2 (conditional): If the profile specifies a play button selector, wait for it and click it. Sites like Disney+ show a modal with a "WATCH LIVE" button
|
|
79
|
+
// after clicking the tile. Sites without playSelector auto-play on tile click and skip this phase entirely.
|
|
80
|
+
const playButtonSelector = profile.channelSelection.playSelector;
|
|
81
|
+
if (playButtonSelector) {
|
|
82
|
+
try {
|
|
83
|
+
await page.waitForSelector(playButtonSelector, { timeout: CONFIG.streaming.videoTimeout });
|
|
87
84
|
}
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
if ((rect.width > 0) && (rect.height > 0)) {
|
|
91
|
-
return { x: rect.x + (rect.width / 2), y: rect.y + (rect.height / 2) };
|
|
85
|
+
catch {
|
|
86
|
+
return { reason: "Play button did not appear after clicking channel tile.", success: false };
|
|
92
87
|
}
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
88
|
+
// Click the play button with retry. Coordinate-based clicks can silently miss due to SPA animations, overlay interference, or stale coordinates. We verify each
|
|
89
|
+
// click by checking whether the play button disappears (indicating the modal dismissed and the SPA transitioned to the player). On failure, we re-read
|
|
90
|
+
// coordinates and retry — the same pattern used by Sling's clickWithRetry.
|
|
91
|
+
for (let attempt = 0; attempt < MAX_PLAY_CLICK_ATTEMPTS; attempt++) {
|
|
92
|
+
// Get the play button coordinates. Re-read on every attempt because SPA animations or layout shifts may have moved the button since the last read.
|
|
93
|
+
// eslint-disable-next-line no-await-in-loop
|
|
94
|
+
const playTarget = await evaluateWithAbort(page, (selector) => {
|
|
95
|
+
const button = document.querySelector(selector);
|
|
96
|
+
if (!button) {
|
|
97
|
+
return null;
|
|
98
|
+
}
|
|
99
|
+
button.scrollIntoView({ behavior: "instant", block: "center", inline: "center" });
|
|
100
|
+
const rect = button.getBoundingClientRect();
|
|
101
|
+
if ((rect.width > 0) && (rect.height > 0)) {
|
|
102
|
+
return { x: rect.x + (rect.width / 2), y: rect.y + (rect.height / 2) };
|
|
103
|
+
}
|
|
104
|
+
return null;
|
|
105
|
+
}, [playButtonSelector]);
|
|
106
|
+
if (!playTarget) {
|
|
107
|
+
// Play button disappeared between attempts — the previous click likely worked and the SPA transitioned. This can happen when the verification timeout races
|
|
108
|
+
// against a slow modal dismissal animation.
|
|
109
|
+
if (attempt > 0) {
|
|
110
|
+
LOG.debug("tuning:tileClick", "Play button disappeared before attempt %s. Previous click likely succeeded.", attempt + 1);
|
|
111
|
+
return { success: true };
|
|
112
|
+
}
|
|
113
|
+
return { reason: "Play button found but has no dimensions.", success: false };
|
|
114
|
+
}
|
|
115
|
+
// Click the play button to start live playback.
|
|
116
|
+
// eslint-disable-next-line no-await-in-loop
|
|
117
|
+
await scrollAndClick(page, playTarget);
|
|
118
|
+
// Verify the click worked by waiting for the play button to disappear. When the SPA transitions to the player view, the modal (and its play button) is removed
|
|
119
|
+
// from the DOM. If the button is still present after the timeout, the click missed and we retry with fresh coordinates.
|
|
120
|
+
try {
|
|
121
|
+
// eslint-disable-next-line no-await-in-loop
|
|
122
|
+
await page.waitForSelector(playButtonSelector, { hidden: true, timeout: PLAY_CLICK_VERIFY_TIMEOUT });
|
|
123
|
+
return { success: true };
|
|
124
|
+
}
|
|
125
|
+
catch {
|
|
126
|
+
// Play button still visible — the click had no effect. Log and retry.
|
|
127
|
+
if (attempt < (MAX_PLAY_CLICK_ATTEMPTS - 1)) {
|
|
128
|
+
LOG.info("Play button click attempt %s of %s did not dismiss the modal. Retrying with fresh coordinates.", attempt + 1, MAX_PLAY_CLICK_ATTEMPTS);
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
return { reason: "Play button click did not dismiss the modal after " + String(MAX_PLAY_CLICK_ATTEMPTS) + " attempts.", success: false };
|
|
97
133
|
}
|
|
98
|
-
// Click the play button to start live playback.
|
|
99
|
-
await scrollAndClick(page, playTarget);
|
|
100
134
|
return { success: true };
|
|
101
135
|
}
|
|
102
|
-
export const tileClickStrategy = { execute: tileClickStrategyFn
|
|
136
|
+
export const tileClickStrategy = { execute: tileClickStrategyFn };
|
|
103
137
|
//# sourceMappingURL=tileClick.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tileClick.js","sourceRoot":"","sources":["../../../src/browser/tuning/tileClick.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"tileClick.js","sourceRoot":"","sources":["../../../src/browser/tuning/tileClick.ts"],"names":[],"mappings":"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"}
|