add app control server for launcher-to-app attachment

- Launcher detects a running app via control socket and attaches without spawning a new process
- Own-lifecycle app launches now pass --background --managed-playback; borrowed apps skip --background
- Separate plain subtitle websocket (tokens: []) from annotation websocket
- Default pauseVideoOnHover to true; update docs and config.example.jsonc
- Setup: remove plugin readiness card, add Open SubMiner Settings button
This commit is contained in:
2026-05-21 01:32:58 -07:00
parent 47f92129af
commit 355d7d95b2
58 changed files with 1618 additions and 205 deletions
+5
View File
@@ -115,6 +115,7 @@ export interface CliCommandServiceDeps {
interface MpvClientLike {
setSocketPath: (socketPath: string) => void;
connect: () => void;
reconnect?: () => void;
}
interface TexthookerServiceLike {
@@ -235,6 +236,10 @@ export function createCliCommandDepsRuntime(
connectMpvClient: () => {
const client = options.mpv.getClient();
if (!client) return;
if (client.reconnect) {
client.reconnect();
return;
}
client.connect();
},
isTexthookerRunning: () => options.texthooker.service.isRunning(),