prismcast 1.12.1 → 1.13.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 +0 -1
- package/dist/app.js +8 -7
- package/dist/app.js.map +1 -1
- package/dist/browser/blockedPage.d.ts +0 -1
- package/dist/browser/browserSupervisor.d.ts +4 -4
- package/dist/browser/browserSupervisor.js.map +1 -1
- package/dist/browser/cdp.d.ts +2 -3
- package/dist/browser/cdp.js +5 -4
- package/dist/browser/cdp.js.map +1 -1
- package/dist/browser/channelSelection.d.ts +16 -4
- package/dist/browser/channelSelection.js +42 -31
- package/dist/browser/channelSelection.js.map +1 -1
- package/dist/browser/consent.d.ts +17 -4
- package/dist/browser/consent.js +25 -40
- package/dist/browser/consent.js.map +1 -1
- package/dist/browser/display.d.ts +0 -1
- package/dist/browser/hlsPlaylistObserver.d.ts +3 -2
- package/dist/browser/hlsPlaylistObserver.js +9 -4
- package/dist/browser/hlsPlaylistObserver.js.map +1 -1
- package/dist/browser/index.d.ts +76 -26
- package/dist/browser/index.js +201 -101
- package/dist/browser/index.js.map +1 -1
- package/dist/browser/launchGovernor.d.ts +0 -1
- package/dist/browser/login.d.ts +8 -7
- package/dist/browser/login.js +25 -16
- package/dist/browser/login.js.map +1 -1
- package/dist/browser/manifestInterceptor.d.ts +14 -5
- package/dist/browser/manifestInterceptor.js +25 -12
- package/dist/browser/manifestInterceptor.js.map +1 -1
- package/dist/browser/navigation.d.ts +28 -0
- package/dist/browser/navigation.js +57 -0
- package/dist/browser/navigation.js.map +1 -0
- package/dist/browser/pageStaleness.d.ts +0 -1
- package/dist/browser/precaching.d.ts +4 -2
- package/dist/browser/precaching.js +39 -32
- package/dist/browser/precaching.js.map +1 -1
- package/dist/browser/tabCapture.d.ts +7 -10
- package/dist/browser/tabCapture.js +35 -41
- package/dist/browser/tabCapture.js.map +1 -1
- package/dist/browser/tabNetworkObserver.d.ts +0 -1
- package/dist/browser/tabSelection.d.ts +5 -5
- package/dist/browser/tabSelection.js +11 -10
- package/dist/browser/tabSelection.js.map +1 -1
- package/dist/browser/tuning/cache.d.ts +0 -1
- package/dist/browser/tuning/comcastPolymer.d.ts +0 -1
- package/dist/browser/tuning/comcastPolymer.js +16 -17
- package/dist/browser/tuning/comcastPolymer.js.map +1 -1
- package/dist/browser/tuning/cox.d.ts +0 -1
- package/dist/browser/tuning/directv.d.ts +0 -1
- package/dist/browser/tuning/directv.js +11 -12
- package/dist/browser/tuning/directv.js.map +1 -1
- package/dist/browser/tuning/fox.d.ts +0 -1
- package/dist/browser/tuning/fox.js +2 -2
- package/dist/browser/tuning/fox.js.map +1 -1
- package/dist/browser/tuning/gridSearch.d.ts +0 -1
- package/dist/browser/tuning/hbo.d.ts +0 -1
- package/dist/browser/tuning/hulu.d.ts +14 -2
- package/dist/browser/tuning/hulu.js +144 -21
- package/dist/browser/tuning/hulu.js.map +1 -1
- package/dist/browser/tuning/shared.d.ts +0 -1
- package/dist/browser/tuning/sling.d.ts +0 -1
- package/dist/browser/tuning/sling.js +17 -22
- package/dist/browser/tuning/sling.js.map +1 -1
- package/dist/browser/tuning/spectrum.d.ts +0 -1
- package/dist/browser/tuning/thumbnailRow.d.ts +0 -1
- package/dist/browser/tuning/tileClick.d.ts +0 -1
- package/dist/browser/tuning/xfinity.d.ts +0 -1
- package/dist/browser/tuning/youtubeTv.d.ts +0 -1
- package/dist/browser/video.d.ts +22 -20
- package/dist/browser/video.js +102 -119
- package/dist/browser/video.js.map +1 -1
- package/dist/browser/windowSync.d.ts +0 -1
- package/dist/channels/index.d.ts +0 -1
- package/dist/config/channelForm.d.ts +0 -1
- package/dist/config/channelIdentity.d.ts +27 -0
- package/dist/config/channelIdentity.js +72 -0
- package/dist/config/channelIdentity.js.map +1 -0
- package/dist/config/channelSort.d.ts +25 -0
- package/dist/config/channelSort.js +101 -0
- package/dist/config/channelSort.js.map +1 -0
- package/dist/config/consistencyProbe.d.ts +0 -1
- package/dist/config/health.d.ts +3 -2
- package/dist/config/health.js +41 -28
- package/dist/config/health.js.map +1 -1
- package/dist/config/index.d.ts +0 -1
- package/dist/config/paths.d.ts +0 -1
- package/dist/config/persistence.context.d.ts +0 -1
- package/dist/config/persistence.d.ts +0 -1
- package/dist/config/presets.d.ts +0 -1
- package/dist/config/profiles.d.ts +9 -4
- package/dist/config/profiles.js +37 -3
- package/dist/config/profiles.js.map +1 -1
- package/dist/config/providerLineups.d.ts +0 -1
- package/dist/config/reactivity.d.ts +0 -1
- package/dist/config/servicePacks.d.ts +0 -1
- package/dist/config/services.d.ts +1 -47
- package/dist/config/services.js +3 -134
- package/dist/config/services.js.map +1 -1
- package/dist/config/sites.d.ts +0 -9
- package/dist/config/sites.js +5 -40
- package/dist/config/sites.js.map +1 -1
- package/dist/config/userChannels.d.ts +22 -28
- package/dist/config/userChannels.js +46 -60
- package/dist/config/userChannels.js.map +1 -1
- package/dist/config/userConfig.d.ts +4 -1
- package/dist/config/userConfig.js +4 -0
- package/dist/config/userConfig.js.map +1 -1
- package/dist/config/userProfiles.d.ts +2 -3
- package/dist/config/userProfiles.js +6 -2
- package/dist/config/userProfiles.js.map +1 -1
- package/dist/hdhr/channelMap.d.ts +0 -1
- package/dist/hdhr/deviceId.d.ts +0 -1
- package/dist/hdhr/discover.d.ts +0 -1
- package/dist/hdhr/getHandlers.d.ts +0 -1
- package/dist/hdhr/identity.d.ts +0 -1
- package/dist/hdhr/index.d.ts +0 -1
- package/dist/hdhr/protocol.d.ts +0 -1
- package/dist/hdhr/tunerState.d.ts +0 -1
- package/dist/hdhr/udp.d.ts +0 -1
- package/dist/identity.d.ts +0 -1
- package/dist/index.d.ts +0 -1
- package/dist/native/codecInference.d.ts +5 -4
- package/dist/native/codecInference.js +12 -7
- package/dist/native/codecInference.js.map +1 -1
- package/dist/native/decrypt.d.ts +10 -3
- package/dist/native/decrypt.js +9 -5
- package/dist/native/decrypt.js.map +1 -1
- package/dist/native/index.d.ts +25 -23
- package/dist/native/index.js +23 -17
- package/dist/native/index.js.map +1 -1
- package/dist/native/probe.d.ts +7 -10
- package/dist/native/probe.js +40 -36
- package/dist/native/probe.js.map +1 -1
- package/dist/native/proxy.d.ts +2 -3
- package/dist/native/proxy.js +86 -64
- package/dist/native/proxy.js.map +1 -1
- package/dist/native/tokenExpiry.d.ts +0 -1
- package/dist/routes/assets.d.ts +0 -1
- package/dist/routes/auth.d.ts +0 -1
- package/dist/routes/auth.js +1 -1
- package/dist/routes/auth.js.map +1 -1
- package/dist/routes/cdp.d.ts +11 -5
- package/dist/routes/cdp.js +90 -62
- package/dist/routes/cdp.js.map +1 -1
- package/dist/routes/channels.d.ts +0 -1
- package/dist/routes/clientActions.d.ts +0 -1
- package/dist/routes/components.d.ts +0 -1
- package/dist/routes/config/channels/endpoints/browse.d.ts +0 -1
- package/dist/routes/config/channels/endpoints/bulk.d.ts +0 -1
- package/dist/routes/config/channels/endpoints/bulk.js +1 -1
- package/dist/routes/config/channels/endpoints/bulk.js.map +1 -1
- package/dist/routes/config/channels/endpoints/crud.d.ts +0 -1
- package/dist/routes/config/channels/endpoints/crud.js +3 -2
- package/dist/routes/config/channels/endpoints/crud.js.map +1 -1
- package/dist/routes/config/channels/endpoints/importExport.d.ts +0 -1
- package/dist/routes/config/channels/endpoints/importExport.js +7 -3
- package/dist/routes/config/channels/endpoints/importExport.js.map +1 -1
- package/dist/routes/config/channels/endpoints/predefined.d.ts +0 -1
- package/dist/routes/config/channels/endpoints/prefs.d.ts +0 -1
- package/dist/routes/config/channels/endpoints/prefs.js +1 -1
- package/dist/routes/config/channels/endpoints/prefs.js.map +1 -1
- package/dist/routes/config/channels/endpoints/service.d.ts +0 -1
- package/dist/routes/config/channels/endpoints/service.js +8 -5
- package/dist/routes/config/channels/endpoints/service.js.map +1 -1
- package/dist/routes/config/channels/endpoints/tags.d.ts +0 -1
- package/dist/routes/config/channels/healthBridge.d.ts +0 -1
- package/dist/routes/config/channels/http/handler.d.ts +0 -1
- package/dist/routes/config/channels/http/playlistHint.d.ts +0 -1
- package/dist/routes/config/channels/http/serviceWarning.d.ts +0 -1
- package/dist/routes/config/channels/http/serviceWarning.js +1 -1
- package/dist/routes/config/channels/http/serviceWarning.js.map +1 -1
- package/dist/routes/config/channels/index.d.ts +0 -1
- package/dist/routes/config/channels/setup.d.ts +0 -1
- package/dist/routes/config/channels/table.d.ts +0 -1
- package/dist/routes/config/channels/table.js +2 -1
- package/dist/routes/config/channels/table.js.map +1 -1
- package/dist/routes/config/http/envelope.d.ts +0 -1
- package/dist/routes/config/index.d.ts +0 -1
- package/dist/routes/config/index.js +2 -1
- package/dist/routes/config/index.js.map +1 -1
- package/dist/routes/config/services.d.ts +0 -1
- package/dist/routes/config/services.js +4 -3
- package/dist/routes/config/services.js.map +1 -1
- package/dist/routes/config/settings.d.ts +0 -1
- package/dist/routes/config/settings.js +2 -1
- package/dist/routes/config/settings.js.map +1 -1
- package/dist/routes/debug.d.ts +0 -1
- package/dist/routes/health.d.ts +1 -2
- package/dist/routes/health.js +5 -2
- package/dist/routes/health.js.map +1 -1
- package/dist/routes/hls.d.ts +0 -1
- package/dist/routes/icons.d.ts +0 -1
- package/dist/routes/index.d.ts +0 -1
- package/dist/routes/logs.d.ts +3 -2
- package/dist/routes/logs.js +4 -2
- package/dist/routes/logs.js.map +1 -1
- package/dist/routes/mpegts.d.ts +0 -1
- package/dist/routes/play.d.ts +0 -1
- package/dist/routes/playlist.d.ts +0 -1
- package/dist/routes/playlist.js +2 -1
- package/dist/routes/playlist.js.map +1 -1
- package/dist/routes/root/content.d.ts +0 -1
- package/dist/routes/root/index.d.ts +0 -1
- package/dist/routes/root/scripts/channels.d.ts +0 -1
- package/dist/routes/root/scripts/channels.js +2 -2
- package/dist/routes/root/scripts/channels.js.map +1 -1
- package/dist/routes/root/scripts/clientEscape.d.ts +0 -1
- package/dist/routes/root/scripts/clientUrl.d.ts +0 -1
- package/dist/routes/root/scripts/config.d.ts +0 -1
- package/dist/routes/root/scripts/config.js +5 -26
- package/dist/routes/root/scripts/config.js.map +1 -1
- package/dist/routes/root/scripts/index.d.ts +0 -1
- package/dist/routes/root/scripts/shared.d.ts +0 -1
- package/dist/routes/root/scripts/status.d.ts +0 -1
- package/dist/routes/root/scripts/status.handlers.d.ts +0 -1
- package/dist/routes/root/scripts/status.handlers.js +3 -2
- package/dist/routes/root/scripts/status.handlers.js.map +1 -1
- package/dist/routes/root/styles.d.ts +0 -1
- package/dist/routes/services.d.ts +0 -1
- package/dist/routes/services.js +1 -1
- package/dist/routes/services.js.map +1 -1
- package/dist/routes/sse.d.ts +3 -2
- package/dist/routes/sse.js +7 -3
- package/dist/routes/sse.js.map +1 -1
- package/dist/routes/streams.d.ts +4 -2
- package/dist/routes/streams.js +8 -5
- package/dist/routes/streams.js.map +1 -1
- package/dist/routes/theme.d.ts +0 -1
- package/dist/routes/ui.d.ts +0 -1
- package/dist/routes/upgrade.d.ts +0 -1
- package/dist/routes/upgrade.js +2 -1
- package/dist/routes/upgrade.js.map +1 -1
- package/dist/service/commands.context.d.ts +0 -1
- package/dist/service/commands.context.js +7 -1
- package/dist/service/commands.context.js.map +1 -1
- package/dist/service/commands.d.ts +0 -1
- package/dist/service/generators.context.d.ts +0 -1
- package/dist/service/generators.d.ts +0 -1
- package/dist/service/index.d.ts +0 -1
- package/dist/streaming/captureLock.d.ts +1 -2
- package/dist/streaming/captureLock.js +6 -5
- package/dist/streaming/captureLock.js.map +1 -1
- package/dist/streaming/captureSession.d.ts +0 -1
- package/dist/streaming/clients.d.ts +4 -3
- package/dist/streaming/clients.js +5 -4
- package/dist/streaming/clients.js.map +1 -1
- package/dist/streaming/codec.d.ts +0 -1
- package/dist/streaming/fmp4Segmenter.d.ts +2 -1
- package/dist/streaming/fmp4Segmenter.js +12 -11
- package/dist/streaming/fmp4Segmenter.js.map +1 -1
- package/dist/streaming/hls.d.ts +34 -1
- package/dist/streaming/hls.js +121 -54
- package/dist/streaming/hls.js.map +1 -1
- package/dist/streaming/hlsResume.d.ts +8 -5
- package/dist/streaming/hlsResume.js +10 -8
- package/dist/streaming/hlsResume.js.map +1 -1
- package/dist/streaming/hlsSegments.d.ts +9 -7
- package/dist/streaming/hlsSegments.js +19 -14
- package/dist/streaming/hlsSegments.js.map +1 -1
- package/dist/streaming/lifecycle.d.ts +5 -4
- package/dist/streaming/lifecycle.js +25 -13
- package/dist/streaming/lifecycle.js.map +1 -1
- package/dist/streaming/monitor.d.ts +3 -2
- package/dist/streaming/monitor.js +63 -57
- package/dist/streaming/monitor.js.map +1 -1
- package/dist/streaming/mp4Parser.d.ts +0 -1
- package/dist/streaming/mpegts.d.ts +0 -1
- package/dist/streaming/mpegts.js +23 -7
- package/dist/streaming/mpegts.js.map +1 -1
- package/dist/streaming/playlistBuilder.d.ts +0 -1
- package/dist/streaming/preroll.d.ts +34 -15
- package/dist/streaming/preroll.js +30 -28
- package/dist/streaming/preroll.js.map +1 -1
- package/dist/streaming/pretune.d.ts +2 -3
- package/dist/streaming/pretune.js +45 -45
- package/dist/streaming/pretune.js.map +1 -1
- package/dist/streaming/pretuneTimers.d.ts +16 -12
- package/dist/streaming/pretuneTimers.js +27 -37
- package/dist/streaming/pretuneTimers.js.map +1 -1
- package/dist/streaming/recovery.d.ts +7 -5
- package/dist/streaming/recovery.js +10 -7
- package/dist/streaming/recovery.js.map +1 -1
- package/dist/streaming/registry.d.ts +23 -5
- package/dist/streaming/registry.js +17 -3
- package/dist/streaming/registry.js.map +1 -1
- package/dist/streaming/setup.d.ts +39 -7
- package/dist/streaming/setup.js +130 -65
- package/dist/streaming/setup.js.map +1 -1
- package/dist/streaming/showInfo.d.ts +8 -4
- package/dist/streaming/showInfo.js +54 -45
- package/dist/streaming/showInfo.js.map +1 -1
- package/dist/streaming/statusEmitter.d.ts +1 -2
- package/dist/streaming/statusEmitter.js +1 -1
- package/dist/streaming/statusEmitter.js.map +1 -1
- package/dist/types/channels.d.ts +0 -1
- package/dist/types/config.d.ts +0 -1
- package/dist/types/index.d.ts +1 -2
- package/dist/types/index.js.map +1 -1
- package/dist/types/profiles.d.ts +1 -1
- package/dist/types/selection.d.ts +10 -1
- package/dist/types/shared.d.ts +0 -1
- package/dist/types/streaming.d.ts +0 -1
- package/dist/upgrade/commands.context.d.ts +0 -1
- package/dist/upgrade/commands.d.ts +0 -1
- package/dist/upgrade/detection.context.d.ts +0 -1
- package/dist/upgrade/detection.d.ts +0 -1
- package/dist/upgrade/index.d.ts +0 -1
- package/dist/upgrade/lifecycle.context.d.ts +2 -1
- package/dist/upgrade/lifecycle.context.js +9 -4
- package/dist/upgrade/lifecycle.context.js.map +1 -1
- package/dist/upgrade/lifecycle.d.ts +0 -1
- package/dist/upgrade/pathHandle.d.ts +0 -1
- package/dist/utils/bootSession.context.d.ts +0 -1
- package/dist/utils/bootSession.context.js +2 -1
- package/dist/utils/bootSession.context.js.map +1 -1
- package/dist/utils/bootSession.d.ts +0 -1
- package/dist/utils/chromeFetch.d.ts +0 -1
- package/dist/utils/cliOutput.d.ts +0 -1
- package/dist/utils/debugFilter.d.ts +0 -1
- package/dist/utils/delay.d.ts +47 -25
- package/dist/utils/delay.js +74 -37
- package/dist/utils/delay.js.map +1 -1
- package/dist/utils/errors.d.ts +0 -1
- package/dist/utils/evaluate.d.ts +11 -3
- package/dist/utils/evaluate.js +4 -3
- package/dist/utils/evaluate.js.map +1 -1
- package/dist/utils/ffmpeg.context.d.ts +0 -1
- package/dist/utils/ffmpeg.d.ts +0 -1
- package/dist/utils/fileLogger.d.ts +3 -2
- package/dist/utils/fileLogger.js +16 -8
- package/dist/utils/fileLogger.js.map +1 -1
- package/dist/utils/format.d.ts +12 -3
- package/dist/utils/format.js +29 -11
- package/dist/utils/format.js.map +1 -1
- package/dist/utils/index.d.ts +0 -2
- package/dist/utils/index.js +0 -1
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/logEmitter.d.ts +0 -1
- package/dist/utils/logger.d.ts +0 -1
- package/dist/utils/m3u.d.ts +0 -1
- package/dist/utils/markup.d.ts +0 -1
- package/dist/utils/memo.d.ts +0 -1
- package/dist/utils/morganStream.d.ts +0 -1
- package/dist/utils/network.d.ts +0 -1
- package/dist/utils/never.d.ts +0 -1
- package/dist/utils/pid.d.ts +0 -1
- package/dist/utils/platform.d.ts +0 -1
- package/dist/utils/processInspector.context.d.ts +32 -2
- package/dist/utils/processInspector.context.js +117 -1
- package/dist/utils/processInspector.context.js.map +1 -1
- package/dist/utils/processInspector.d.ts +0 -32
- package/dist/utils/processInspector.js +10 -117
- package/dist/utils/processInspector.js.map +1 -1
- package/dist/utils/retry.d.ts +5 -4
- package/dist/utils/retry.js +43 -33
- package/dist/utils/retry.js.map +1 -1
- package/dist/utils/runtimeIdentity.context.d.ts +0 -1
- package/dist/utils/runtimeIdentity.context.js +3 -1
- package/dist/utils/runtimeIdentity.context.js.map +1 -1
- package/dist/utils/runtimeIdentity.d.ts +1 -1
- package/dist/utils/runtimeIdentity.js +1 -1
- package/dist/utils/runtimeIdentity.js.map +1 -1
- package/dist/utils/sanitize.d.ts +0 -1
- package/dist/utils/streamContext.d.ts +0 -1
- package/dist/utils/timing.d.ts +3 -4
- package/dist/utils/timing.js +4 -4
- package/dist/utils/timing.js.map +1 -1
- package/dist/utils/version.d.ts +5 -4
- package/dist/utils/version.js +35 -24
- package/dist/utils/version.js.map +1 -1
- package/package.json +7 -7
- package/dist/app.d.ts.map +0 -1
- package/dist/browser/blockedPage.d.ts.map +0 -1
- package/dist/browser/browserSupervisor.d.ts.map +0 -1
- package/dist/browser/cdp.d.ts.map +0 -1
- package/dist/browser/channelSelection.d.ts.map +0 -1
- package/dist/browser/consent.d.ts.map +0 -1
- package/dist/browser/display.d.ts.map +0 -1
- package/dist/browser/hlsPlaylistObserver.d.ts.map +0 -1
- package/dist/browser/index.d.ts.map +0 -1
- package/dist/browser/launchGovernor.d.ts.map +0 -1
- package/dist/browser/login.d.ts.map +0 -1
- package/dist/browser/manifestInterceptor.d.ts.map +0 -1
- package/dist/browser/pageStaleness.d.ts.map +0 -1
- package/dist/browser/precaching.d.ts.map +0 -1
- package/dist/browser/tabCapture.d.ts.map +0 -1
- package/dist/browser/tabNetworkObserver.d.ts.map +0 -1
- package/dist/browser/tabSelection.d.ts.map +0 -1
- package/dist/browser/tuning/cache.d.ts.map +0 -1
- package/dist/browser/tuning/comcastPolymer.d.ts.map +0 -1
- package/dist/browser/tuning/cox.d.ts.map +0 -1
- package/dist/browser/tuning/directv.d.ts.map +0 -1
- package/dist/browser/tuning/fox.d.ts.map +0 -1
- package/dist/browser/tuning/gridSearch.d.ts.map +0 -1
- package/dist/browser/tuning/hbo.d.ts.map +0 -1
- package/dist/browser/tuning/hulu.d.ts.map +0 -1
- package/dist/browser/tuning/shared.d.ts.map +0 -1
- package/dist/browser/tuning/sling.d.ts.map +0 -1
- package/dist/browser/tuning/spectrum.d.ts.map +0 -1
- package/dist/browser/tuning/thumbnailRow.d.ts.map +0 -1
- package/dist/browser/tuning/tileClick.d.ts.map +0 -1
- package/dist/browser/tuning/xfinity.d.ts.map +0 -1
- package/dist/browser/tuning/youtubeTv.d.ts.map +0 -1
- package/dist/browser/video.d.ts.map +0 -1
- package/dist/browser/windowSync.d.ts.map +0 -1
- package/dist/channels/index.d.ts.map +0 -1
- package/dist/config/channelForm.d.ts.map +0 -1
- package/dist/config/consistencyProbe.d.ts.map +0 -1
- package/dist/config/health.d.ts.map +0 -1
- package/dist/config/index.d.ts.map +0 -1
- package/dist/config/paths.d.ts.map +0 -1
- package/dist/config/persistence.context.d.ts.map +0 -1
- package/dist/config/persistence.d.ts.map +0 -1
- package/dist/config/presets.d.ts.map +0 -1
- package/dist/config/profiles.d.ts.map +0 -1
- package/dist/config/providerLineups.d.ts.map +0 -1
- package/dist/config/reactivity.d.ts.map +0 -1
- package/dist/config/servicePacks.d.ts.map +0 -1
- package/dist/config/services.d.ts.map +0 -1
- package/dist/config/sites.d.ts.map +0 -1
- package/dist/config/userChannels.d.ts.map +0 -1
- package/dist/config/userConfig.d.ts.map +0 -1
- package/dist/config/userProfiles.d.ts.map +0 -1
- package/dist/hdhr/channelMap.d.ts.map +0 -1
- package/dist/hdhr/deviceId.d.ts.map +0 -1
- package/dist/hdhr/discover.d.ts.map +0 -1
- package/dist/hdhr/getHandlers.d.ts.map +0 -1
- package/dist/hdhr/identity.d.ts.map +0 -1
- package/dist/hdhr/index.d.ts.map +0 -1
- package/dist/hdhr/protocol.d.ts.map +0 -1
- package/dist/hdhr/tunerState.d.ts.map +0 -1
- package/dist/hdhr/udp.d.ts.map +0 -1
- package/dist/identity.d.ts.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/native/codecInference.d.ts.map +0 -1
- package/dist/native/decrypt.d.ts.map +0 -1
- package/dist/native/index.d.ts.map +0 -1
- package/dist/native/probe.d.ts.map +0 -1
- package/dist/native/proxy.d.ts.map +0 -1
- package/dist/native/tokenExpiry.d.ts.map +0 -1
- package/dist/routes/assets.d.ts.map +0 -1
- package/dist/routes/auth.d.ts.map +0 -1
- package/dist/routes/cdp.d.ts.map +0 -1
- package/dist/routes/channels.d.ts.map +0 -1
- package/dist/routes/clientActions.d.ts.map +0 -1
- package/dist/routes/components.d.ts.map +0 -1
- package/dist/routes/config/channels/endpoints/browse.d.ts.map +0 -1
- package/dist/routes/config/channels/endpoints/bulk.d.ts.map +0 -1
- package/dist/routes/config/channels/endpoints/crud.d.ts.map +0 -1
- package/dist/routes/config/channels/endpoints/importExport.d.ts.map +0 -1
- package/dist/routes/config/channels/endpoints/predefined.d.ts.map +0 -1
- package/dist/routes/config/channels/endpoints/prefs.d.ts.map +0 -1
- package/dist/routes/config/channels/endpoints/service.d.ts.map +0 -1
- package/dist/routes/config/channels/endpoints/tags.d.ts.map +0 -1
- package/dist/routes/config/channels/healthBridge.d.ts.map +0 -1
- package/dist/routes/config/channels/http/handler.d.ts.map +0 -1
- package/dist/routes/config/channels/http/playlistHint.d.ts.map +0 -1
- package/dist/routes/config/channels/http/serviceWarning.d.ts.map +0 -1
- package/dist/routes/config/channels/index.d.ts.map +0 -1
- package/dist/routes/config/channels/setup.d.ts.map +0 -1
- package/dist/routes/config/channels/table.d.ts.map +0 -1
- package/dist/routes/config/http/envelope.d.ts.map +0 -1
- package/dist/routes/config/index.d.ts.map +0 -1
- package/dist/routes/config/services.d.ts.map +0 -1
- package/dist/routes/config/settings.d.ts.map +0 -1
- package/dist/routes/debug.d.ts.map +0 -1
- package/dist/routes/health.d.ts.map +0 -1
- package/dist/routes/hls.d.ts.map +0 -1
- package/dist/routes/icons.d.ts.map +0 -1
- package/dist/routes/index.d.ts.map +0 -1
- package/dist/routes/logs.d.ts.map +0 -1
- package/dist/routes/mpegts.d.ts.map +0 -1
- package/dist/routes/play.d.ts.map +0 -1
- package/dist/routes/playlist.d.ts.map +0 -1
- package/dist/routes/root/content.d.ts.map +0 -1
- package/dist/routes/root/index.d.ts.map +0 -1
- package/dist/routes/root/scripts/channels.d.ts.map +0 -1
- package/dist/routes/root/scripts/clientEscape.d.ts.map +0 -1
- package/dist/routes/root/scripts/clientUrl.d.ts.map +0 -1
- package/dist/routes/root/scripts/config.d.ts.map +0 -1
- package/dist/routes/root/scripts/index.d.ts.map +0 -1
- package/dist/routes/root/scripts/shared.d.ts.map +0 -1
- package/dist/routes/root/scripts/status.d.ts.map +0 -1
- package/dist/routes/root/scripts/status.handlers.d.ts.map +0 -1
- package/dist/routes/root/styles.d.ts.map +0 -1
- package/dist/routes/services.d.ts.map +0 -1
- package/dist/routes/sse.d.ts.map +0 -1
- package/dist/routes/streams.d.ts.map +0 -1
- package/dist/routes/theme.d.ts.map +0 -1
- package/dist/routes/ui.d.ts.map +0 -1
- package/dist/routes/upgrade.d.ts.map +0 -1
- package/dist/service/commands.context.d.ts.map +0 -1
- package/dist/service/commands.d.ts.map +0 -1
- package/dist/service/generators.context.d.ts.map +0 -1
- package/dist/service/generators.d.ts.map +0 -1
- package/dist/service/index.d.ts.map +0 -1
- package/dist/streaming/captureLock.d.ts.map +0 -1
- package/dist/streaming/captureSession.d.ts.map +0 -1
- package/dist/streaming/clients.d.ts.map +0 -1
- package/dist/streaming/codec.d.ts.map +0 -1
- package/dist/streaming/fmp4Segmenter.d.ts.map +0 -1
- package/dist/streaming/hls.d.ts.map +0 -1
- package/dist/streaming/hlsResume.d.ts.map +0 -1
- package/dist/streaming/hlsSegments.d.ts.map +0 -1
- package/dist/streaming/lifecycle.d.ts.map +0 -1
- package/dist/streaming/monitor.d.ts.map +0 -1
- package/dist/streaming/mp4Parser.d.ts.map +0 -1
- package/dist/streaming/mpegts.d.ts.map +0 -1
- package/dist/streaming/playlistBuilder.d.ts.map +0 -1
- package/dist/streaming/preroll.d.ts.map +0 -1
- package/dist/streaming/pretune.d.ts.map +0 -1
- package/dist/streaming/pretuneTimers.d.ts.map +0 -1
- package/dist/streaming/recovery.d.ts.map +0 -1
- package/dist/streaming/registry.d.ts.map +0 -1
- package/dist/streaming/setup.d.ts.map +0 -1
- package/dist/streaming/showInfo.d.ts.map +0 -1
- package/dist/streaming/statusEmitter.d.ts.map +0 -1
- package/dist/types/channels.d.ts.map +0 -1
- package/dist/types/config.d.ts.map +0 -1
- package/dist/types/index.d.ts.map +0 -1
- package/dist/types/profiles.d.ts.map +0 -1
- package/dist/types/selection.d.ts.map +0 -1
- package/dist/types/shared.d.ts.map +0 -1
- package/dist/types/streaming.d.ts.map +0 -1
- package/dist/upgrade/commands.context.d.ts.map +0 -1
- package/dist/upgrade/commands.d.ts.map +0 -1
- package/dist/upgrade/detection.context.d.ts.map +0 -1
- package/dist/upgrade/detection.d.ts.map +0 -1
- package/dist/upgrade/index.d.ts.map +0 -1
- package/dist/upgrade/lifecycle.context.d.ts.map +0 -1
- package/dist/upgrade/lifecycle.d.ts.map +0 -1
- package/dist/upgrade/pathHandle.d.ts.map +0 -1
- package/dist/utils/bootSession.context.d.ts.map +0 -1
- package/dist/utils/bootSession.d.ts.map +0 -1
- package/dist/utils/chromeFetch.d.ts.map +0 -1
- package/dist/utils/cliOutput.d.ts.map +0 -1
- package/dist/utils/clock.d.ts +0 -15
- package/dist/utils/clock.d.ts.map +0 -1
- package/dist/utils/clock.js +0 -31
- package/dist/utils/clock.js.map +0 -1
- package/dist/utils/debugFilter.d.ts.map +0 -1
- package/dist/utils/delay.d.ts.map +0 -1
- package/dist/utils/errors.d.ts.map +0 -1
- package/dist/utils/evaluate.d.ts.map +0 -1
- package/dist/utils/ffmpeg.context.d.ts.map +0 -1
- package/dist/utils/ffmpeg.d.ts.map +0 -1
- package/dist/utils/fileLogger.d.ts.map +0 -1
- package/dist/utils/format.d.ts.map +0 -1
- package/dist/utils/index.d.ts.map +0 -1
- package/dist/utils/logEmitter.d.ts.map +0 -1
- package/dist/utils/logger.d.ts.map +0 -1
- package/dist/utils/m3u.d.ts.map +0 -1
- package/dist/utils/markup.d.ts.map +0 -1
- package/dist/utils/memo.d.ts.map +0 -1
- package/dist/utils/morganStream.d.ts.map +0 -1
- package/dist/utils/network.d.ts.map +0 -1
- package/dist/utils/never.d.ts.map +0 -1
- package/dist/utils/pid.d.ts.map +0 -1
- package/dist/utils/platform.d.ts.map +0 -1
- package/dist/utils/processInspector.context.d.ts.map +0 -1
- package/dist/utils/processInspector.d.ts.map +0 -1
- package/dist/utils/retry.d.ts.map +0 -1
- package/dist/utils/runtimeIdentity.context.d.ts.map +0 -1
- package/dist/utils/runtimeIdentity.d.ts.map +0 -1
- package/dist/utils/sanitize.d.ts.map +0 -1
- package/dist/utils/streamContext.d.ts.map +0 -1
- package/dist/utils/timing.d.ts.map +0 -1
- package/dist/utils/version.d.ts.map +0 -1
|
@@ -1,3 +1,15 @@
|
|
|
1
|
-
import type { ProviderModule } from "../../types/index.ts";
|
|
1
|
+
import type { Nullable, ProviderModule } from "../../types/index.ts";
|
|
2
|
+
export interface HuluListingProgram {
|
|
3
|
+
airingEnd: string;
|
|
4
|
+
airingStart: string;
|
|
5
|
+
eab: string;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Finds the currently-airing EAB from a program schedule array. Searches the programs for one whose airing window brackets the current time. Returns null if the
|
|
9
|
+
* array is empty or no program is currently airing (stale data or program boundary gap).
|
|
10
|
+
* @param programs - Array of programs with EAB IDs and airing times.
|
|
11
|
+
* @param now - The instant the airing windows are compared against.
|
|
12
|
+
* @returns The currently-airing EAB string, or null if no match.
|
|
13
|
+
*/
|
|
14
|
+
export declare function findCurrentEabFromPrograms(programs: HuluListingProgram[], now: number): Nullable<string>;
|
|
2
15
|
export declare const huluProvider: ProviderModule;
|
|
3
|
-
//# sourceMappingURL=hulu.d.ts.map
|
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
import { LOG, delay, evaluateWithAbort, formatError } from "../../utils/index.js";
|
|
2
2
|
import { installOrReplaceOnNewDocument, logAvailableChannels, normalizeChannelName, scrollAndClick } from "./shared.js";
|
|
3
3
|
import { CONFIG } from "../../config/index.js";
|
|
4
|
+
import { clickSelectorByCoordinate } from "../consent.js";
|
|
4
5
|
import { createProviderChannelCache } from "./cache.js";
|
|
6
|
+
import { loadDocument } from "../navigation.js";
|
|
5
7
|
import { searchVirtualizedGrid } from "./gridSearch.js";
|
|
8
|
+
import { systemClock } from "homebridge-plugin-utils";
|
|
6
9
|
// Unified channel cache for Hulu. Maps normalized channel names to their combined entry. Aliases (e.g., "abc" -> same entry as "wls") share object references for
|
|
7
10
|
// automatic propagation of fresh programs and EAB data. Cleared on browser disconnect via clearHuluCache(). An affiliate projects into discovery output with its
|
|
8
11
|
// network name as the channelSelector; every other channel projects with its display name.
|
|
@@ -23,6 +26,24 @@ const huluPagesWithListeners = new WeakSet();
|
|
|
23
26
|
// target channel through its own pipeline without guide grid interaction. On warm cache, UUID and EAB are injected at install time. On cold cache, the guide
|
|
24
27
|
// grid's Channels tab click triggers full API expansion, and the interceptor captures UUID+EAB from those expanded responses.
|
|
25
28
|
const HULU_LIVE_URL = "https://www.hulu.com/live";
|
|
29
|
+
// The home hub the live guide is entered from when a direct load of the guide fails at Hulu's edge. Its header carries the Live link, which routes to the guide
|
|
30
|
+
// inside the page rather than requesting the guide's URL, and that in-page route is the one the site itself takes.
|
|
31
|
+
const HULU_HUB_URL = "https://www.hulu.com/hub/home";
|
|
32
|
+
// The header's Live link. It carries no test id, so its route is what identifies it; the first match in document order is the header's.
|
|
33
|
+
const HULU_LIVE_NAV_SELECTOR = "a[href=\"/live\"]";
|
|
34
|
+
// The guide's path the Live link routes to: what the hub entry waits for the main frame to reach before handing the page back.
|
|
35
|
+
const HULU_LIVE_PATH = "/live";
|
|
36
|
+
// How every Hulu document load waits. The guide is a heavy single-page application whose load event is unreliable, so the wait is for network idle; the
|
|
37
|
+
// provider profile below declares the same preference from this one statement.
|
|
38
|
+
const HULU_DOCUMENT_LOAD = { waitForNetworkIdle: true };
|
|
39
|
+
/* Whether the most recent direct load of the live guide failed at Hulu's edge. The failed status is the whole signal - it arrives in a second or two where the
|
|
40
|
+
* guide's missing Channels tab would cost the video timeout - and a tune reads this rather than repeating an attempt discovery has already seen fail. It
|
|
41
|
+
* describes Hulu's server, not this browser session, which is why it is not among the caches a relaunch or a precache clears: every discovery walk re-tests the
|
|
42
|
+
* direct load and rewrites it, and a tune that attempts the direct load rewrites it too, so it is never older than the last precache. A session whose precache
|
|
43
|
+
* filter excludes Hulu has no re-test and keeps the hub route until the next start, which is a working route at a cost of about two seconds per tune. The
|
|
44
|
+
* transitions are what get logged, once each way.
|
|
45
|
+
*/
|
|
46
|
+
let directGuideEntryBroken = false;
|
|
26
47
|
/**
|
|
27
48
|
* Clears all Hulu caches: the unified channel cache along with its completeness mark, and the listing staging map. Called by clearChannelSelectionCaches() in the
|
|
28
49
|
* coordinator when the browser restarts, since cached state may be stale in a new browser session.
|
|
@@ -96,10 +117,10 @@ function populateHuluChannelCache(items) {
|
|
|
96
117
|
* Finds the currently-airing EAB from a program schedule array. Searches the programs for one whose airing window brackets the current time. Returns null if the
|
|
97
118
|
* array is empty or no program is currently airing (stale data or program boundary gap).
|
|
98
119
|
* @param programs - Array of programs with EAB IDs and airing times.
|
|
120
|
+
* @param now - The instant the airing windows are compared against.
|
|
99
121
|
* @returns The currently-airing EAB string, or null if no match.
|
|
100
122
|
*/
|
|
101
|
-
function findCurrentEabFromPrograms(programs) {
|
|
102
|
-
const now = Date.now();
|
|
123
|
+
export function findCurrentEabFromPrograms(programs, now) {
|
|
103
124
|
for (const program of programs) {
|
|
104
125
|
if ((now >= new Date(program.airingStart).getTime()) && (now < new Date(program.airingEnd).getTime())) {
|
|
105
126
|
return program.eab;
|
|
@@ -478,7 +499,7 @@ async function tryFastPathTune(page, entry, channelName) {
|
|
|
478
499
|
// Phase 1: If UUID and programs are available from the unified cache, attempt to inject the UUID along with the current EAB into the in-page interceptor. This
|
|
479
500
|
// is the primary mechanism for local affiliates (where the interceptor can't self-resolve by name) and a secondary mechanism for exact-match channels.
|
|
480
501
|
if (entry?.uuid && entry.programs) {
|
|
481
|
-
const currentEab = findCurrentEabFromPrograms(entry.programs);
|
|
502
|
+
const currentEab = findCurrentEabFromPrograms(entry.programs, systemClock.now());
|
|
482
503
|
if (currentEab) {
|
|
483
504
|
const injected = await page.evaluate((u, e) => {
|
|
484
505
|
// The __prismcast* bridge functions are installed on window by the evaluateOnNewDocument fetch interceptor earlier in this module. The double cast reads
|
|
@@ -597,6 +618,104 @@ async function handleProfileSelectorIfPresent(page) {
|
|
|
597
618
|
LOG.warn("Hulu profile selection click did not complete cleanly: %s.", formatError(error));
|
|
598
619
|
}
|
|
599
620
|
}
|
|
621
|
+
/**
|
|
622
|
+
* Records what a direct load of the live guide answered, and announces the two transitions. A tune reads the memo rather than repeating an attempt discovery has
|
|
623
|
+
* already seen fail, so the value written here is what decides whether the next tune spends an attempt on the direct URL. Only a change of state is logged: a
|
|
624
|
+
* fallback that is already in force has nothing new to report, and a line per tune would bury the two moments that matter.
|
|
625
|
+
* @param failedStatus - The HTTP status the direct load answered with, or null when it answered successfully.
|
|
626
|
+
*/
|
|
627
|
+
function recordDirectGuideEntry(failedStatus) {
|
|
628
|
+
const broken = failedStatus !== null;
|
|
629
|
+
if (broken === directGuideEntryBroken) {
|
|
630
|
+
return;
|
|
631
|
+
}
|
|
632
|
+
directGuideEntryBroken = broken;
|
|
633
|
+
if (broken) {
|
|
634
|
+
LOG.info("Hulu's live guide is unavailable by direct navigation (HTTP %s). Entering it through hulu.com until it recovers.", failedStatus);
|
|
635
|
+
return;
|
|
636
|
+
}
|
|
637
|
+
LOG.info("Hulu's live guide is reachable by direct navigation again.");
|
|
638
|
+
}
|
|
639
|
+
/**
|
|
640
|
+
* Clicks the home hub's Live link at the link's own coordinates, and fails when the hub laid out no link to click. The visible wait has just passed, so a link
|
|
641
|
+
* that cannot be located is a layout race rather than a hub without a Live link. The failure is not a TimeoutError, so the route's catch carries it back as it
|
|
642
|
+
* stands instead of rewording it as a route that did not land.
|
|
643
|
+
* @param page - The Puppeteer page object.
|
|
644
|
+
*/
|
|
645
|
+
async function clickLiveLink(page) {
|
|
646
|
+
const clicked = await clickSelectorByCoordinate(page, HULU_LIVE_NAV_SELECTOR);
|
|
647
|
+
if (!clicked) {
|
|
648
|
+
throw new Error("Hulu's home hub laid out no Live link to click.");
|
|
649
|
+
}
|
|
650
|
+
}
|
|
651
|
+
/**
|
|
652
|
+
* Enters the live guide the way a viewer does: load the home hub, then click the Live link in its header and wait for the application to route to the guide. The link
|
|
653
|
+
* routes inside the single-page application rather than requesting the guide's URL, which is what makes this route work while a direct request for that URL does
|
|
654
|
+
* not. The document the route renders is the same one the direct load would have produced, so the Channels tab wait and everything after it run unchanged.
|
|
655
|
+
*
|
|
656
|
+
* Errors propagate. A hub that will not route is a failed navigation, and the callers' own retry and failure handling own what happens next.
|
|
657
|
+
* @param page - The Puppeteer page object.
|
|
658
|
+
*/
|
|
659
|
+
async function enterHuluGuideThroughHub(page) {
|
|
660
|
+
await loadDocument(page, HULU_HUB_URL, HULU_DOCUMENT_LOAD);
|
|
661
|
+
// The "Who's Watching?" picker can front the hub exactly as it fronts the guide, and it would swallow the Live link click.
|
|
662
|
+
await handleProfileSelectorIfPresent(page);
|
|
663
|
+
// We wait for the link to become VISIBLE rather than merely present, for the same reason the Channels tab wait does: the header renders before it is
|
|
664
|
+
// interactive, and clicking it early dispatches an event the application ignores. The click goes through the real pointer chain, so the page receives the
|
|
665
|
+
// pointer's arrival (the move, the press, the release) and the user activation a trusted click grants. Hulu's live page reveals its guide chrome on pointer
|
|
666
|
+
// activity, and a DOM click carries none of that: the route lands and the guide never renders (measured 2026-09-13). The helper hit-tests the point before
|
|
667
|
+
// it dispatches, falling back to the in-page click only when another element covers the link.
|
|
668
|
+
await page.waitForSelector(HULU_LIVE_NAV_SELECTOR, { timeout: CONFIG.streaming.navigationTimeout, visible: true });
|
|
669
|
+
/* The route is awaited on the navigation signal the application's own history push raises: Chrome reports the main frame's new URL over the protocol and
|
|
670
|
+
* Puppeteer raises its frame-navigated event on it, so the wait needs nothing from inside the page - a condition polled from within the document is never
|
|
671
|
+
* evaluated in a document Chrome is not painting, and neither the discovery window nor a tune's tab is always one it is (measured 2026-09-13). The frame
|
|
672
|
+
* wait rather than the navigation wait, because the navigation wait also requires the frame's lifecycle events and Hulu's documents never fire the load
|
|
673
|
+
* event, while one of the hub's child frames never reports DOMContentLoaded either. The wait is armed before the click so a route that lands first is never
|
|
674
|
+
* missed, and the route names its own timeout: the wait's wording says nothing about which wait lapsed, and the capture-fault classifier on this failure
|
|
675
|
+
* path matches the wording of a lapsed wait, which a page-level wait must never supply.
|
|
676
|
+
*/
|
|
677
|
+
try {
|
|
678
|
+
await Promise.all([
|
|
679
|
+
page.waitForFrame((frame) => (frame === page.mainFrame()) && (new URL(frame.url()).pathname === HULU_LIVE_PATH), { timeout: CONFIG.streaming.navigationTimeout }),
|
|
680
|
+
clickLiveLink(page)
|
|
681
|
+
]);
|
|
682
|
+
}
|
|
683
|
+
catch (error) {
|
|
684
|
+
if (error && (error.name === "TimeoutError")) {
|
|
685
|
+
throw new Error("Hulu's home hub did not route to the live guide within " + String(CONFIG.streaming.navigationTimeout) + "ms.", { cause: error });
|
|
686
|
+
}
|
|
687
|
+
throw error;
|
|
688
|
+
}
|
|
689
|
+
}
|
|
690
|
+
/**
|
|
691
|
+
* The one way into the live guide, used by discovery and by every tune. It tries the direct URL first and judges it on the document's own status, which is the
|
|
692
|
+
* definitive signal and arrives in a second or two where a missing Channels tab would cost the whole video timeout. A failed status falls through to the hub
|
|
693
|
+
* route inside the same attempt, so the tune that discovered the failure still tunes, at a cost of about two seconds. A tune that already knows the direct load
|
|
694
|
+
* is failing skips it and goes straight to the hub, spending nothing on an attempt that has just been seen to fail.
|
|
695
|
+
*
|
|
696
|
+
* Discovery asks for the re-test, which is what returns the direct route the moment Hulu fixes their side: every precache walk tries the direct URL regardless of
|
|
697
|
+
* what the last one found.
|
|
698
|
+
* @param page - The Puppeteer page object.
|
|
699
|
+
* @param url - The guide URL to enter.
|
|
700
|
+
* @param options - Whether to try the direct load even when the last attempt failed, which is discovery's re-test.
|
|
701
|
+
*/
|
|
702
|
+
async function enterHuluGuide(page, url, options = {}) {
|
|
703
|
+
if (options.retestDirect || !directGuideEntryBroken) {
|
|
704
|
+
const response = await loadDocument(page, url, HULU_DOCUMENT_LOAD);
|
|
705
|
+
/* A tolerated navigation timeout says nothing about Hulu's edge - the request may well have been answered and only some background call left the page short
|
|
706
|
+
* of idle - so the memo is left as it stands and the page is handed back as it loaded, exactly as every other site's timeout is.
|
|
707
|
+
*/
|
|
708
|
+
if (!response) {
|
|
709
|
+
return;
|
|
710
|
+
}
|
|
711
|
+
if (response.ok()) {
|
|
712
|
+
recordDirectGuideEntry(null);
|
|
713
|
+
return;
|
|
714
|
+
}
|
|
715
|
+
recordDirectGuideEntry(response.status());
|
|
716
|
+
}
|
|
717
|
+
await enterHuluGuideThroughHub(page);
|
|
718
|
+
}
|
|
600
719
|
/**
|
|
601
720
|
* Guide grid strategy: finds a channel in a virtualized, alphabetically sorted channel grid by scrolling the page to the target row using binary search, then
|
|
602
721
|
* clicking the on-now program cell to open the playback overlay. This strategy works for sites like Hulu Live TV where the channel guide is rendered as a
|
|
@@ -632,12 +751,13 @@ async function guideGridStrategy(page, profile) {
|
|
|
632
751
|
await handleProfileSelectorIfPresent(page);
|
|
633
752
|
// Ensure the guide is open and on the correct tab. We wait for the tab button to become VISIBLE (not just present in the DOM) because the guide overlay may exist
|
|
634
753
|
// in the DOM structure while still hidden during page initialization or animation. Clicking a hidden button dispatches a DOM event but has no visual effect - the
|
|
635
|
-
// guide remains hidden and the virtualizer never populates rows.
|
|
636
|
-
//
|
|
754
|
+
// guide remains hidden and the virtualizer never populates rows. The click is dispatched as a real pointer chain at the tab's own coordinates, which is what
|
|
755
|
+
// React's handlers on Hulu's application answer to, and the helper hit-tests the point first, so a spinner or an overlay covering the tab is reached by the
|
|
756
|
+
// in-page click instead.
|
|
637
757
|
if (listSelector) {
|
|
638
758
|
try {
|
|
639
759
|
await page.waitForSelector(listSelector, { timeout: CONFIG.streaming.videoTimeout, visible: true });
|
|
640
|
-
await page
|
|
760
|
+
await clickSelectorByCoordinate(page, listSelector);
|
|
641
761
|
// Brief delay for the tab switch animation and virtualizer initialization.
|
|
642
762
|
await delay(300);
|
|
643
763
|
}
|
|
@@ -662,7 +782,7 @@ async function guideGridStrategy(page, profile) {
|
|
|
662
782
|
LOG.debug("tuning:hulu", "Guide rows not visible after initial wait. Retrying tab click for %s.", listSelector);
|
|
663
783
|
try {
|
|
664
784
|
// eslint-disable-next-line no-await-in-loop
|
|
665
|
-
await page
|
|
785
|
+
await clickSelectorByCoordinate(page, listSelector);
|
|
666
786
|
// eslint-disable-next-line no-await-in-loop
|
|
667
787
|
await delay(500);
|
|
668
788
|
}
|
|
@@ -929,7 +1049,7 @@ async function resolveHuluDirectUrl(channelSelector, page) {
|
|
|
929
1049
|
// Look up the currently-airing EAB for the target channel (if UUID and programs are known). On warm cache (both UUID and EAB available), the interceptor has
|
|
930
1050
|
// both at install time and swaps immediately. On cold cache (no UUID), we return null below so the guide grid runs - the Channels tab click triggers full API
|
|
931
1051
|
// expansion.
|
|
932
|
-
const cachedEab = (cachedEntry?.programs) ? findCurrentEabFromPrograms(cachedEntry.programs) : null;
|
|
1052
|
+
const cachedEab = (cachedEntry?.programs) ? findCurrentEabFromPrograms(cachedEntry.programs, systemClock.now()) : null;
|
|
933
1053
|
const isWarmCache = Boolean(cachedUuid && cachedEab);
|
|
934
1054
|
if (isWarmCache) {
|
|
935
1055
|
LOG.debug("tuning:hulu", "resolveHuluDirectUrl: warm cache for %s (uuid=%s, eab=%s).", channelSelector, cachedUuid, cachedEab);
|
|
@@ -959,7 +1079,7 @@ async function resolveHuluDirectUrl(channelSelector, page) {
|
|
|
959
1079
|
seenEntries.add(entry);
|
|
960
1080
|
allCachedUuids.push(entry.uuid);
|
|
961
1081
|
if (entry.programs) {
|
|
962
|
-
const currentEab = findCurrentEabFromPrograms(entry.programs);
|
|
1082
|
+
const currentEab = findCurrentEabFromPrograms(entry.programs, systemClock.now());
|
|
963
1083
|
if (currentEab) {
|
|
964
1084
|
allCurrentEabs.push(currentEab);
|
|
965
1085
|
}
|
|
@@ -1358,10 +1478,10 @@ function invalidateHuluDirectUrl(channelSelector) {
|
|
|
1358
1478
|
}
|
|
1359
1479
|
/**
|
|
1360
1480
|
* Discovers all channels from Hulu Live TV by clicking the Channels tab to trigger full API expansion and performing a complete linear scan through the
|
|
1361
|
-
* virtualized guide grid. This function
|
|
1362
|
-
* inference logic as the tuning strategy. Affiliates get the network name as their selector; non-affiliates get their
|
|
1363
|
-
* entries with affiliate metadata for subsequent getCachedChannels derivation.
|
|
1364
|
-
* @param page - The Puppeteer page object; this function
|
|
1481
|
+
* virtualized guide grid. This function enters the live guide itself, re-testing the direct load on every walk. Detects local affiliates using the same
|
|
1482
|
+
* CALL_SIGN_PATTERN and position-based inference logic as the tuning strategy. Affiliates get the network name as their selector; non-affiliates get their
|
|
1483
|
+
* display name. Enriches unified cache entries with affiliate metadata for subsequent getCachedChannels derivation.
|
|
1484
|
+
* @param page - The Puppeteer page object; this function enters the Hulu live guide on it.
|
|
1365
1485
|
* @returns Array of discovered channels with affiliate detection and selector mapping.
|
|
1366
1486
|
*/
|
|
1367
1487
|
async function discoverHuluChannels(page) {
|
|
@@ -1375,7 +1495,7 @@ async function discoverHuluChannels(page) {
|
|
|
1375
1495
|
// setupDetailsResponseInterception function used by the tuning path ensures a single code path for all API response processing.
|
|
1376
1496
|
setupDetailsResponseInterception(page);
|
|
1377
1497
|
try {
|
|
1378
|
-
await page
|
|
1498
|
+
await enterHuluGuide(page, HULU_LIVE_URL, { retestDirect: true });
|
|
1379
1499
|
}
|
|
1380
1500
|
catch {
|
|
1381
1501
|
return [];
|
|
@@ -1383,11 +1503,13 @@ async function discoverHuluChannels(page) {
|
|
|
1383
1503
|
// Clear the "Who's Watching?" profile-selector modal before any guide interaction (same logic guideGridStrategy uses on the tuning path).
|
|
1384
1504
|
await handleProfileSelectorIfPresent(page);
|
|
1385
1505
|
// Click the Channels tab to reveal the channel list and trigger full API expansion. Matches the tuning path's retry logic - if guide rows don't appear after
|
|
1386
|
-
// the first tab click, retry once with a longer delay in case the first click fired during a transitional state before the guide was fully interactive.
|
|
1506
|
+
// the first tab click, retry once with a longer delay in case the first click fired during a transitional state before the guide was fully interactive. The
|
|
1507
|
+
// click is the same real pointer chain the tuning path dispatches, at the tab's own coordinates and hit-tested before it lands, with the in-page click
|
|
1508
|
+
// reaching the tab when something covers it.
|
|
1387
1509
|
const listSelector = "#CHANNELS";
|
|
1388
1510
|
try {
|
|
1389
1511
|
await page.waitForSelector(listSelector, { timeout: CONFIG.streaming.videoTimeout, visible: true });
|
|
1390
|
-
await page
|
|
1512
|
+
await clickSelectorByCoordinate(page, listSelector);
|
|
1391
1513
|
await delay(300);
|
|
1392
1514
|
}
|
|
1393
1515
|
catch {
|
|
@@ -1407,7 +1529,7 @@ async function discoverHuluChannels(page) {
|
|
|
1407
1529
|
if (guideAttempt === 0) {
|
|
1408
1530
|
try {
|
|
1409
1531
|
// eslint-disable-next-line no-await-in-loop
|
|
1410
|
-
await page
|
|
1532
|
+
await clickSelectorByCoordinate(page, listSelector);
|
|
1411
1533
|
// eslint-disable-next-line no-await-in-loop
|
|
1412
1534
|
await delay(500);
|
|
1413
1535
|
}
|
|
@@ -1500,9 +1622,9 @@ export const huluProvider = {
|
|
|
1500
1622
|
// calls the JavaScript fullscreen API the watch page's player exposes, and fullscreenSelector clicks the player's own maximize control, whose aria-label Hulu
|
|
1501
1623
|
// writes in uppercase...the attribute match carries the "i" flag so it reads case-insensitively. The click does more than repeat what the API call asks for: it
|
|
1502
1624
|
// also takes the player out of its mini-player layout, whose sizing logic would otherwise overwrite the width the capture styling sets. Requires
|
|
1503
|
-
// selectReadyVideo because the page may have multiple video elements (ads, previews, main content).
|
|
1504
|
-
// initialization
|
|
1505
|
-
//
|
|
1625
|
+
// selectReadyVideo because the page may have multiple video elements (ads, previews, main content). Every Hulu document load goes through the module's own
|
|
1626
|
+
// guide entry above, which waits for network idle because the SPA's heavy asynchronous initialization often prevents the load event from firing within the
|
|
1627
|
+
// navigation timeout, and tolerates that timeout so execution continues to channel selection even when background requests are still pending.
|
|
1506
1628
|
profile: {
|
|
1507
1629
|
category: "multiChannel",
|
|
1508
1630
|
channelSelection: { listSelector: "#CHANNELS", playSelector: "[data-testid=\"generic-tile-thumbnail\"]", strategy: "guideGrid" },
|
|
@@ -1512,7 +1634,7 @@ export const huluProvider = {
|
|
|
1512
1634
|
selectReadyVideo: true,
|
|
1513
1635
|
summary: "Hulu Live TV (guide grid, needs selector)",
|
|
1514
1636
|
useRequestFullscreen: true,
|
|
1515
|
-
waitForNetworkIdle:
|
|
1637
|
+
waitForNetworkIdle: HULU_DOCUMENT_LOAD.waitForNetworkIdle
|
|
1516
1638
|
},
|
|
1517
1639
|
profileName: "huluLive",
|
|
1518
1640
|
slug: "hulu",
|
|
@@ -1520,6 +1642,7 @@ export const huluProvider = {
|
|
|
1520
1642
|
clearCache: clearHuluCache,
|
|
1521
1643
|
execute: guideGridStrategy,
|
|
1522
1644
|
invalidateDirectUrl: invalidateHuluDirectUrl,
|
|
1645
|
+
navigate: enterHuluGuide,
|
|
1523
1646
|
resolveDirectUrl: resolveHuluDirectUrl
|
|
1524
1647
|
},
|
|
1525
1648
|
strategyName: "guideGrid"
|
|
@@ -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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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { LOG, chromeFetch, delay, formatError } from "../../utils/index.js";
|
|
1
|
+
import { LOG, chromeFetch, delay, formatError, pollUntil, startTimer } from "../../utils/index.js";
|
|
2
2
|
import { logAvailableChannels, normalizeChannelName } from "./shared.js";
|
|
3
3
|
import { CONFIG } from "../../config/index.js";
|
|
4
4
|
import { createProviderChannelCache } from "./cache.js";
|
|
@@ -392,30 +392,25 @@ async function slingGridStrategy(page, profile) {
|
|
|
392
392
|
catch {
|
|
393
393
|
return { guideUnavailable: true, reason: "Sling TV guide grid did not load.", success: false };
|
|
394
394
|
}
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
}
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
LOG.debug("tuning:sling", "Cache frontier \"%s\" passed target \"%s\". Channel not in Sling lineup.", frontier, normalizedName);
|
|
410
|
-
break;
|
|
411
|
-
}
|
|
412
|
-
// eslint-disable-next-line no-await-in-loop
|
|
413
|
-
await delay(FRONTIER_POLL_INTERVAL);
|
|
395
|
+
/* API fast path with frontier-based polling, stated through the project's poll policy. The channel cache populates progressively as paginated grid API responses
|
|
396
|
+
* arrive in alphabetical order during page load. Rather than checking the cache once (missing late-alphabet channels whose API page hasn't arrived yet), poll
|
|
397
|
+
* until any of the following conditions is met: the target channel's GUID appears in the cache, the cache frontier (alphabetically latest entry) passes the
|
|
398
|
+
* target's position (confirming the channel is not in the lineup), or the ceiling elapses. This ensures the cache is fully populated for all subsequent tunes -
|
|
399
|
+
* a one-time cost that eliminates binary search for the rest of the session.
|
|
400
|
+
*/
|
|
401
|
+
const elapsed = startTimer();
|
|
402
|
+
const frontierPoll = await pollUntil({ cadenceMs: FRONTIER_POLL_INTERVAL, ceilingMs: FRONTIER_MAX_WAIT,
|
|
403
|
+
read: async () => ({ found: findChannelGuid(normalizedName) !== null, frontier: getCacheFrontier() }),
|
|
404
|
+
until: (state) => state.found || ((state.frontier !== null) && (state.frontier > normalizedName)) });
|
|
405
|
+
// Report a frontier that passed the target's alphabetical position: the API page covering the target's range has already been processed, so the channel is not
|
|
406
|
+
// in the lineup and no further polling would have helped.
|
|
407
|
+
if (!frontierPoll.value.found && (frontierPoll.value.frontier !== null) && (frontierPoll.value.frontier > normalizedName)) {
|
|
408
|
+
LOG.debug("tuning:sling", "Cache frontier \"%s\" passed target \"%s\". Channel not in Sling lineup.", frontierPoll.value.frontier, normalizedName);
|
|
414
409
|
}
|
|
415
410
|
// After polling, attempt the full resolve pipeline: GUID lookup -> asset_id fetch -> player URL construction.
|
|
416
411
|
const playerUrl = await resolvePlayerUrl(normalizedName).catch(() => null);
|
|
417
412
|
if (playerUrl) {
|
|
418
|
-
LOG.debug("tuning:sling", "Sling API fast path for %s (%sms): %s.", channelName,
|
|
413
|
+
LOG.debug("tuning:sling", "Sling API fast path for %s (%sms): %s.", channelName, elapsed(), playerUrl);
|
|
419
414
|
try {
|
|
420
415
|
await page.goto(playerUrl, { timeout: CONFIG.streaming.navigationTimeout, waitUntil: "domcontentloaded" });
|
|
421
416
|
return { success: true };
|
|
@@ -424,7 +419,7 @@ async function slingGridStrategy(page, profile) {
|
|
|
424
419
|
return { reason: "Sling TV API fast path navigation failed: " + formatError(error) + ".", success: false };
|
|
425
420
|
}
|
|
426
421
|
}
|
|
427
|
-
LOG.debug("tuning:sling", "Sling binary search fallback for %s after %sms polling (channel cache: %s, base URL: %s).", channelName,
|
|
422
|
+
LOG.debug("tuning:sling", "Sling binary search fallback for %s after %sms polling (channel cache: %s, base URL: %s).", channelName, elapsed(), slingCache.map.size, slingPlaybackInfoBase ? "yes" : "no");
|
|
428
423
|
// Phase 2: Read grid metadata. The .guide-cell element is the scroll host for the virtualized channel list. We measure the row height dynamically from a rendered
|
|
429
424
|
// row element and read the time header offset from the first row's top position within the scroll container.
|
|
430
425
|
const gridMeta = await page.evaluate(() => {
|