mirror of
https://github.com/ksyasuda/SubMiner.git
synced 2026-05-25 12:55:18 -07:00
81b941fe8c
- 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
54 lines
1.3 KiB
Lua
54 lines
1.3 KiB
Lua
local M = {}
|
|
|
|
function M.new()
|
|
return {
|
|
overlay_running = false,
|
|
texthooker_running = false,
|
|
overlay_process = nil,
|
|
binary_available = false,
|
|
binary_path = nil,
|
|
detected_backend = nil,
|
|
hover_highlight = {
|
|
revision = -1,
|
|
payload = nil,
|
|
saved_sub_visibility = nil,
|
|
saved_secondary_sub_visibility = nil,
|
|
overlay_active = false,
|
|
cached_ass = nil,
|
|
clear_timer = nil,
|
|
last_hover_update_ts = 0,
|
|
},
|
|
aniskip = {
|
|
mal_id = nil,
|
|
title = nil,
|
|
episode = nil,
|
|
intro_start = nil,
|
|
intro_end = nil,
|
|
payload = nil,
|
|
payload_source = nil,
|
|
found = false,
|
|
prompt_shown = false,
|
|
},
|
|
auto_play_ready_gate_armed = false,
|
|
auto_play_ready_should_resume_playback = false,
|
|
auto_play_ready_timeout = nil,
|
|
auto_play_ready_osd_timer = nil,
|
|
suppress_ready_overlay_restore = false,
|
|
force_ready_overlay_restore = false,
|
|
visible_overlay_requested = nil,
|
|
last_visible_overlay_toggle_time = nil,
|
|
current_media_identity = nil,
|
|
current_media_title = nil,
|
|
pending_reload_media_identity = nil,
|
|
pending_reload_media_title = nil,
|
|
pending_reload_reason = nil,
|
|
auto_start_retry_generation = 0,
|
|
session_binding_generation = 0,
|
|
session_binding_names = {},
|
|
session_numeric_binding_names = {},
|
|
session_numeric_selection = nil,
|
|
}
|
|
end
|
|
|
|
return M
|