feat(youtube): add YouTube browser window and Whisper subtitle source (#273)

This commit is contained in:
2026-09-28 20:35:47 -07:00
committed by GitHub
parent c68b73c8c1
commit 07b32626a6
101 changed files with 2269 additions and 726 deletions
+1
View File
@@ -15,6 +15,7 @@ const REQUIRED_APP_FILES = [
'dist/preload-syncui.js',
'dist/preload-stats.js',
'dist/preload-jellyfin-setup.js',
'dist/preload-youtube-browser.js',
'dist/fonts/MPLUS1[wght].ttf',
'stats/dist/index.html',
'vendor/texthooker-ui/docs/index.html',
+37
View File
@@ -2476,4 +2476,41 @@ do
)
end
do
local recorded, err = run_plugin_scenario({
process_list = "",
defer_timeouts = true,
option_overrides = {
binary_path = binary_path,
auto_start = "yes",
auto_start_visible_overlay = "yes",
auto_start_pause_until_ready = "yes",
socket_path = "/tmp/subminer-socket",
},
input_ipc_server = "/tmp/subminer-socket",
path = "https://www.youtube.com/watch?v=abcdefghijk",
media_title = "Whisper video",
files = {
[binary_path] = true,
},
})
assert_true(recorded ~= nil, "plugin failed to load for autoplay hold scenario: " .. tostring(err))
fire_event(recorded, "file-loaded")
assert_true(
count_property_set(recorded.property_sets, "pause", true) == 1,
"pause-until-ready should pause playback on load"
)
recorded.script_messages["subminer-autoplay-hold"]()
fire_pending_timeouts(recorded)
assert_true(
count_property_set(recorded.property_sets, "pause", false) == 0,
"a held gate should not resume playback when its timeout would have fired"
)
recorded.script_messages["subminer-autoplay-ready"]()
assert_true(
count_property_set(recorded.property_sets, "pause", false) == 1,
"the ready signal should still release a held gate"
)
end
print("plugin start gate regression tests: OK")