Commit Graph
20 Commits
Author SHA1 Message Date
Sucukdeluxe a472f5dac9 fix(windows): restore taskbar identity and shared downloads 2026-08-12 03:10:23 +02:00
Sucukdeluxe be5d60a0ca fix(cutter): protect recovery and verify hardware encoders 2026-08-12 03:00:39 +02:00
Sucukdeluxe 86920b5410 fix(downloads): share throttle budget globally 2026-08-12 03:00:36 +02:00
Sucukdeluxe c44314ea2c feat(downloads): apply bandwidth and schedule policy 2026-08-12 02:43:06 +02:00
Sucukdeluxe 66e84508c8 ci: add Windows quality and packaging gates
Teach ESLint the classic renderer and mixed CommonJS harness runtimes while retaining actionable rules. Add deterministic credential, lockfile, release-manifest, and lint contracts plus equivalent GitHub and Gitea Windows pipelines. Gate clean installs, focused offline smoke coverage, builds, packaged launches, and silent installer verification without enabling authenticated network tests.
2026-08-12 02:32:07 +02:00
Sucukdeluxe e5114b814f feat(cutter): add crash-safe project recovery and export profiles
Persist source-bound cutter projects atomically and expose recovery, discard, save, and open actions through the secured IPC bridge. Add explicit quality, balanced, fast, and archive export pipelines with rotation, audio-track selection, hardware encoder probing, and software fallback. Align main, preload, renderer, UI styles, and focused coverage; remove the reported main-process lint errors without changing unrelated work.
2026-08-12 02:29:47 +02:00
Sucukdeluxe b65d73b236 feat(policy): add download schedule decisions
Provide a pure persisted policy contract for optional app-side throughput limits and local download windows. Cover overnight timing, local Date DST behavior, invalid values, and manual window overrides without creating Streamlink arguments.
2026-08-12 02:24:38 +02:00
Sucukdeluxe 9c17269a54 feat(accessibility): harden chat and keyboard interactions
Stream capability-authorized chat reads with cancellation, virtualize viewer rendering, centralize modal focus management, and add keyboard-accessible queue and VOD menus. Expose command palette combobox state and keep the document language synchronized with the selected locale.
2026-08-12 01:42:42 +02:00
Sucukdeluxe aa06d486be fix(tools): recover staged first installs asynchronously
Promote a verified staged first installation after interruption and clear stale first-install journals. Stream archive and managed executable hashes, make status recovery non-blocking, and await the propagated tool and IPC status contracts.
2026-08-12 01:23:15 +02:00
Sucukdeluxe 60b5aa8ca9 fix(tools): recover interrupted managed installs
Persist atomic promotion state beside each managed tool, restore usable backups after interrupted renames, and retain precise recovery failures. Verify installed executable hashes from the staged manifest record and make cleanup diagnostics unable to strand repair single-flight state.
2026-08-12 01:14:17 +02:00
Sucukdeluxe d32f42746d fix(tools): verify pinned archives before atomic install
Pin Streamlink and FFmpeg archives to verified manifests, stage replacements before promotion, and expose managed tool status with repair and reset controls. Keep updater checks exclusive until their underlying operation settles and restore default electron-builder certificate environment support.
2026-08-12 00:59:45 +02:00
Sucukdeluxe 421da7be77 fix(persistence): serialize autosave generations before queue effects
Track settings input generations so an older asynchronous secret save cannot mark a newer value durable. Commit queue snapshots before cancellation, cleanup, or pause effects so SQLite failures leave runtime processes and files unchanged.
2026-08-12 00:38:49 +02:00
Sucukdeluxe 6f02e9aa3a fix(persistence): preserve authoritative state on write failures
Keep SQLite authoritative after completed migration even when legacy JSON is later invalid, reject non-object config documents before any migration state is written, and guard async secret masking by input generation. Persist renderer-facing config and queue mutations before updating memory so SQLite errors reject IPC calls and retain the last durable queue snapshot.
2026-08-12 00:21:55 +02:00
Sucukdeluxe 47be523b41 feat(security): encrypt secrets and centralize app state
Store Twitch and Discord secrets as versioned safeStorage ciphertext behind explicit trusted IPC. Migrate legacy JSON transactionally into authoritative SQLite config and ordered queue repositories with rollback-safe markers and sanitized backups. Redact config exports and update renderer and release-harness contracts for secret-free config responses.
2026-08-11 23:44:20 +02:00
Sucukdeluxe 6147c9b812 fix(security): harden privileged renderer boundaries
Reject renderer-owned queue internals before persistence and bind privileged handlers to trusted renderer events. Extend cutter session capabilities without weakening owner, purpose, path identity, or expiry checks. Migrate release harness contracts to opaque capabilities and add an invisible Node gate.
2026-08-11 23:12:11 +02:00
Sucukdeluxe a79af3f3fe fix(security): gate privileged file IPC with capabilities 2026-08-11 22:51:47 +02:00
Sucukdeluxe aa53fcf7e8 release: publish Twitch VOD Manager 1.0.5 2026-08-11 21:06:37 +02:00
Sucukdeluxe b3c2a8b9fd release: publish Twitch VOD Manager 1.0.3
Polish navigation, settings, streamer and queue workflows; add safe pause and partial-file lifecycle handling; apply the product identity across Windows surfaces; and replace the public README with a complete English product guide and isolated screenshot.
2026-08-10 19:25:08 +02:00
Sucukdeluxe d599593966 release: prepare Twitch VOD Manager 1.0.2
Redesign the seven-area desktop workspace with responsive navigation, searchable settings, localized controls, and accessible update states.

Harden Electron release coverage with fully isolated user data, download paths, offline fixtures, concurrency checks, and public-release manifest validation.
2026-08-10 12:29:56 +02:00
Sucukdeluxe aed40de4bd release: veröffentliche Twitch VOD Manager 1.0.1
Startet die öffentliche Versionslinie mit einer bereinigten Ein-Commit-Historie, stellt den Updater auf GitHub Releases um, entfernt interne Release-Ziele und beschränkt den gepackten Anwendungssatz auf notwendige Laufzeitdateien. Enthält aktualisierte produktive Abhängigkeiten ohne bekannte npm-Audit-Funde sowie die geprüfte öffentliche Quell-Positivliste.
2026-08-05 21:38:06 +02:00