Format code with Prettier (8 modified files from H1 decomposition)
Aligns with CC2 enforcement: ESLint + Prettier + noImplicitAny now enforced. Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,58 @@
|
||||
/**
|
||||
* Central home for the main-process timeouts, buffer sizes, and store caps that
|
||||
* were previously scattered as bare literals across the spawn/probe/index/store
|
||||
* modules (L10). Collecting them here makes the operational envelope reviewable
|
||||
* in one place and stops the same "how long / how big" decision drifting between
|
||||
* modules. Values that are already single-sourced in the shared contract
|
||||
* (e.g. HISTORY_MAX_ENTRIES) stay there; this file is for the main-only ones.
|
||||
*/
|
||||
|
||||
// --- Child-process timeouts (ms) --------------------------------------------
|
||||
|
||||
/** `<binary> -version` probes (yt-dlp, ffmpeg, ffprobe) — a quick liveness call. */
|
||||
export const VERSION_TIMEOUT_MS = 15_000
|
||||
/** yt-dlp self-update run — can pull a fresh binary, so a touch longer. */
|
||||
export const YTDLP_UPDATE_TIMEOUT_MS = 60_000
|
||||
/** Best-effort metadata --print alongside a download (title/uploader/duration). */
|
||||
export const META_PROBE_TIMEOUT_MS = 30_000
|
||||
/** Full format/metadata probe (`-J`) for the download bar. */
|
||||
export const PROBE_TIMEOUT_MS = 60_000
|
||||
/** Channel/playlist indexing walk — a big channel legitimately takes minutes. */
|
||||
export const INDEX_TIMEOUT_MS = 180_000
|
||||
/** RSS feed fetch for a watched source's new-item check. */
|
||||
export const FEED_FETCH_TIMEOUT_MS = 15_000
|
||||
|
||||
/**
|
||||
* Idle watchdog for a running download: if a spawned yt-dlp emits no stdout or
|
||||
* stderr for this long, treat it as wedged and kill it so the concurrency slot
|
||||
* frees (B1). Generous on purpose so a long, output-less post-processing step
|
||||
* (e.g. a large ffmpeg merge) isn't mistaken for a stall.
|
||||
*/
|
||||
export const STALL_TIMEOUT_MS = 5 * 60_000
|
||||
|
||||
// --- execFile maxBuffer sizes (bytes) ---------------------------------------
|
||||
// yt-dlp JSON for a big channel/format list is large; cap generously so a valid
|
||||
// response is never truncated (which would look like a parse failure).
|
||||
|
||||
/** Metadata --print output (three short fields). */
|
||||
export const META_MAX_BUFFER = 4 * 1024 * 1024
|
||||
/** Single-video `-J` probe JSON. */
|
||||
export const PROBE_MAX_BUFFER = 64 * 1024 * 1024
|
||||
/** Whole-channel index JSON. */
|
||||
export const INDEX_MAX_BUFFER = 256 * 1024 * 1024
|
||||
|
||||
// --- Misc ------------------------------------------------------------------
|
||||
|
||||
/** How much of a failed download's stderr to retain for the error message. */
|
||||
export const STDERR_TAIL_BYTES = 4000
|
||||
|
||||
// --- JSON-store row caps ----------------------------------------------------
|
||||
// Each hand-rolled JSON store trims to its cap on write so a store file can't
|
||||
// grow without bound.
|
||||
|
||||
/** Diagnostics error log (errorlog.json). */
|
||||
export const ERRORLOG_MAX_ENTRIES = 200
|
||||
/** Saved custom-command templates (templates.json). */
|
||||
export const TEMPLATES_MAX = 100
|
||||
/** Indexed media items across all sources (media-items.json). */
|
||||
export const MEDIA_ITEMS_MAX = 20_000
|
||||
Reference in New Issue
Block a user