mirror of
https://github.com/ksyasuda/SubMiner.git
synced 2026-05-26 00:55:16 -07:00
fix(jellyfin): fix overlay toggle sync, redirect reload, and AppImage bi
- Sync visible-overlay state back to plugin via script messages to avoid toggle/hide drift - Collapse duplicate toggle events within 250ms to prevent hide-then-show on single keypress - Preserve manual hide across Jellyfin path-changing redirects even when media-title drops - Rearm managed subtitle defaults on path-changing redirects - Route toggleVisibleOverlay session binding through plugin toggle instead of app-side IPC - Show Linux/Hyprland overlay passively (showInactive) to avoid stealing mpv keyboard focus - Fix AppImage binary resolution to prefer $APPIMAGE env over mounted inner binary - Add stats window layer management so delete/update dialogs appear above stats window - Fix Jellyfin remote progress sync during Linux websocket reconnect windows
This commit is contained in:
@@ -23,6 +23,7 @@ local recorded = {
|
||||
async_calls = {},
|
||||
mpv_commands = {},
|
||||
osd = {},
|
||||
overlay_toggles = 0,
|
||||
}
|
||||
|
||||
local mp = {}
|
||||
@@ -68,6 +69,14 @@ local ctx = {
|
||||
return {
|
||||
numericSelectionTimeoutMs = 3000,
|
||||
bindings = {
|
||||
{
|
||||
key = {
|
||||
code = "KeyO",
|
||||
modifiers = { "alt", "shift" },
|
||||
},
|
||||
actionType = "session-action",
|
||||
actionId = "toggleVisibleOverlay",
|
||||
},
|
||||
{
|
||||
key = {
|
||||
code = "KeyS",
|
||||
@@ -253,6 +262,9 @@ local ctx = {
|
||||
run_binary_command_async = function(args)
|
||||
recorded.async_calls[#recorded.async_calls + 1] = args
|
||||
end,
|
||||
toggle_overlay = function()
|
||||
recorded.overlay_toggles = recorded.overlay_toggles + 1
|
||||
end,
|
||||
},
|
||||
environment = {
|
||||
resolve_session_bindings_artifact_path = function()
|
||||
@@ -318,6 +330,11 @@ local expected_cli_bindings = {
|
||||
{ keys = "w", flag = "--mark-watched" },
|
||||
}
|
||||
|
||||
local visible_overlay_toggle = find_binding("Alt+O")
|
||||
assert_true(visible_overlay_toggle ~= nil, "visible overlay session binding should register")
|
||||
visible_overlay_toggle.fn()
|
||||
assert_true(recorded.overlay_toggles == 1, "visible overlay session binding should use plugin toggle")
|
||||
|
||||
for _, expected in ipairs(expected_cli_bindings) do
|
||||
local binding = find_binding(expected.keys)
|
||||
assert_true(binding ~= nil, "default session action should register " .. expected.keys)
|
||||
|
||||
Reference in New Issue
Block a user