mirror of
https://github.com/ksyasuda/SubMiner.git
synced 2026-02-27 18:22:41 -08:00
fix(mpv): gate socket logs by debug level
- Gate MPV socket reconnect-attempt, close, and error logs behind SUBMINER_LOG_LEVEL=debug.\n- Preserve MPV reconnect behavior and success-path logging unaffected.\n- Update TASK-33 metadata/status with implementation summary.
This commit is contained in:
@@ -1,9 +1,10 @@
|
||||
---
|
||||
id: TASK-33
|
||||
title: Restrict mpv socket connection logs to debug mode in Electron
|
||||
status: To Do
|
||||
status: Done
|
||||
assignee: []
|
||||
created_date: '2026-02-13 19:39'
|
||||
updated_date: '2026-02-16 03:05'
|
||||
labels:
|
||||
- electron
|
||||
- logging
|
||||
@@ -30,6 +31,12 @@ In normal operation, Electron should not spam logs while waiting for mpv socket
|
||||
- [ ] #6 If connection fails and retries continue, keep a debug-only or final-error log policy consistent with existing logging severity conventions.
|
||||
<!-- AC:END -->
|
||||
|
||||
## Final Summary
|
||||
|
||||
<!-- SECTION:FINAL_SUMMARY:BEGIN -->
|
||||
Implemented debug-gated MPV socket noise suppression in normal mode while preserving reconnect behavior. Added an internal check for SUBMINER_LOG_LEVEL==='debug' and wrapped socket reconnect-attempt, close, and error logs so regular startup/reconnect loops no longer emit per-interval messages unless debug logging is enabled. Kept existing connection-success flow unchanged. Validation: `pnpm run build`, `node --test dist/core/services/mpv-service.test.js`.
|
||||
<!-- SECTION:FINAL_SUMMARY:END -->
|
||||
|
||||
## Definition of Done
|
||||
<!-- DOD:BEGIN -->
|
||||
- [ ] #1 No connection-attempt/connect-wait logs are produced in non-debug mode.
|
||||
|
||||
@@ -19,6 +19,10 @@ import {
|
||||
} from "./mpv-transport";
|
||||
import { resolveCurrentAudioStreamIndex } from "./mpv-state";
|
||||
|
||||
const isDebugLoggingEnabled = (): boolean => {
|
||||
return (process.env.SUBMINER_LOG_LEVEL || "").toLowerCase() === "debug";
|
||||
};
|
||||
|
||||
export {
|
||||
MPV_REQUEST_ID_SECONDARY_SUB_VISIBILITY,
|
||||
} from "./mpv-protocol";
|
||||
@@ -129,11 +133,15 @@ export class MpvIpcClient implements MpvClient {
|
||||
this.processBuffer();
|
||||
},
|
||||
onError: (err: Error) => {
|
||||
if (isDebugLoggingEnabled()) {
|
||||
console.error("MPV socket error:", err.message);
|
||||
}
|
||||
this.failPendingRequests();
|
||||
},
|
||||
onClose: () => {
|
||||
if (isDebugLoggingEnabled()) {
|
||||
console.log("MPV socket closed");
|
||||
}
|
||||
this.connected = false;
|
||||
this.connecting = false;
|
||||
this.socket = null;
|
||||
@@ -194,9 +202,11 @@ export class MpvIpcClient implements MpvClient {
|
||||
getReconnectTimer: () => this.deps.getReconnectTimer(),
|
||||
setReconnectTimer: (timer) => this.deps.setReconnectTimer(timer),
|
||||
onReconnectAttempt: (attempt, delay) => {
|
||||
if (isDebugLoggingEnabled()) {
|
||||
console.log(
|
||||
`Attempting to reconnect to MPV (attempt ${attempt}, delay ${delay}ms)...`,
|
||||
);
|
||||
}
|
||||
},
|
||||
connect: () => {
|
||||
this.connect();
|
||||
|
||||
Reference in New Issue
Block a user