Commit Graph
49 Commits
Author SHA1 Message Date
Sucukdeluxe 3584556114 feat: copy queue URLs from single-line detail links
Windows CI / verify (push) Canceled after 0s
2026-09-06 13:35:11 +02:00
Sucukdeluxe 95f15ac834 fix: keep queue titles stable when details expand
Windows CI / verify (push) Canceled after 0s
2026-09-06 13:31:48 +02:00
Sucukdeluxe cb85e08eec style: swap date and status in queue card footer
Windows CI / verify (push) Canceled after 0s
2026-09-06 13:17:20 +02:00
Sucukdeluxe 6b41767a71 fix: extract managed media tools reliably in long Windows paths
Windows CI / verify (push) Canceled after 0s
2026-09-06 12:56:20 +02:00
Sucukdeluxe 0c01668e55 release: prepare version 1.0.20 and stabilize queue UI fixtures
Windows CI / verify (push) Canceled after 0s
2026-09-06 12:51:22 +02:00
Sucukdeluxe 9fec291b45 fix: respond immediately to rapid queue detail toggles
Windows CI / verify (push) Canceled after 0s
2026-09-06 12:45:02 +02:00
Sucukdeluxe 98c3c01fd3 feat: animate queue detail expansion and collapse
Windows CI / verify (push) Canceled after 0s
2026-09-06 12:44:12 +02:00
Sucukdeluxe d935e622d2 feat: improve queue card readability and detail controls
Windows CI / verify (push) Canceled after 0s
2026-09-06 12:41:30 +02:00
Sucukdeluxe 35364ca588 fix(ci): stabilize Electron smoke flakiness at its sources
Windows CI / verify (push) Failing after 4m52s
The workspace cutter drop check waited a fixed 250ms before asserting
the populated cutter controls, but the drop triggers asynchronous IPC
and media probing, so loaded runners regularly lost that race and
failed with a misleading error. The check now polls the exact same UI
conditions with a bounded deadline before asserting. All window
screenshots in the cutter and workspace smokes carry an explicit
generous timeout because large two-times-DPR captures exceeded the
Playwright default under load. The focused Electron smoke and the
cutter media matrix additionally retry exactly once in both CI
workflows, mirroring the established packaging retries for transient
runner turbulence, and the CI contract now enforces those retries
instead of the former single-line steps.
2026-08-14 18:46:35 +02:00
Sucukdeluxe 25703a264a chore(release): pin the public release contract to 1.0.19 2026-08-14 18:38:20 +02:00
Sucukdeluxe 5c1ddf26ca fix(ci): wait for asynchronous NSIS uninstaller surface cleanup
Windows CI / verify (push) Failing after 3m46s
The installer smoke asserted a clean registry and shortcut surface
immediately after the silent uninstall returned and the installation
directory disappeared. NSIS uninstallers run detached through a
temporary copy, so shortcut and registry removal completes after the
invoked process exits, and on current runner images the immediate check
raced that cleanup and failed with leftover HKCU keys and shortcuts.
The smoke now polls the exact same surface assertions until a bounded
deadline, keeping a genuinely dirty uninstall failing, with contract
coverage for the tolerated asynchronous cleanup and the persistent
failure case.
2026-08-14 15:30:30 +02:00
Sucukdeluxe 5f88897c75 fix(ci): accept the lowercase RUNNER_OS reported by Gitea act runners
Windows CI / verify (push) Failing after 4m30s
The live managed-tool smoke and the real installer smoke gated on
RUNNER_OS being exactly Windows. The Gitea act runner reports the value
as lowercase windows, so both gates rejected the approved self-hosted
git.24-music.de runner and the corresponding verify steps could never
run there. The gates now compare RUNNER_OS case-insensitively while
keeping every other identity requirement unchanged, with contract
coverage for the lowercase Gitea identity.
2026-08-14 15:21:14 +02:00
Sucukdeluxe 9f2a54a8f6 fix(ci): canonicalize 8.3 short paths in publish-lock diagnostics matching
assertLockedTargetFailure compared the rename paths from the product
publish-lock diagnostic against the expected output file with
path.resolve only. On runners whose temporary directory surfaces as a
Windows 8.3 short path the smoke passes a short-path output file while
the product logs canonical long paths, so a correct atomic publish lock
diagnostic was rejected and the cutter media matrix failed. sameResolvedPath
now canonicalizes both sides through the existing resolveCanonicalPath
helper with a resolve fallback, covered by a ShortPath contract test.
2026-08-14 15:03:44 +02:00
Sucukdeluxe 6547e6dbbc fix(ci): canonicalize 8.3 short paths in cutter matrix ownership checks
Windows CI / verify (push) Failing after 1m26s
assertPathInside compared managed-tool paths with path.resolve only, so
on runners whose temporary directory surfaces as a Windows 8.3 short
path (RUNNER~1) the canonical long executable paths appeared to live
outside the owned root and the cutter matrix provisioning contract
failed. Resolve both sides through fs.realpathSync.native, walking up
through not-yet-existing segments so planned directories keep working,
and cover the contract with a real ShortPath regression test plus
mixed-existence canonicalization cases.
2026-08-14 13:06:52 +02:00
Sucukdeluxe 0f845f0735 chore(release): finalize 1.0.18 notes and public file inventory
Windows CI / verify (push) Has been cancelled
Document the tool availability fallback, the mid-transfer download
failure handling, the managed tools status hint and the unified
auto-install error messages in the 1.0.18 changelog, move the release
date to 2026-08-14 and add the new src/tools.test.ts suite to the public
release file inventory.
2026-08-14 12:49:48 +02:00
Sucukdeluxe 9e8a3a0f4d Fix Windows release verification portability
Windows CI / verify (push) Failing after 2m35s
Canonicalize shortcut targets across Windows short and long path forms while preserving exact target validation. Keep Gitea 1.22 push verification parser-compatible and harden CI contracts against skipped or weakened live gates.
2026-08-13 23:45:53 +02:00
Sucukdeluxe 9f1b052afd Release Twitch VOD Manager 1.0.18
Harden update, system-check, queue, cutter, streamer and shutdown state transitions.

Add multi-user installer recovery, secret-safe config migration, provider fallback handling, managed-tool validation and real media export coverage.

Refresh the English public documentation, release notes and 1.0.18 product screenshot.
2026-08-13 22:59:15 +02:00
Sucukdeluxe f37142401f Replace public streamer test handles
Windows CI / verify (push) Successful in 2m52s
Use clearly synthetic streamer fixtures in the workspace Electron smoke so the public source release contains no real account handles while preserving display-case and navigation-motion coverage.
2026-08-13 11:55:45 +02:00
Sucukdeluxe c66e9c9ab1 Fix remaining UI state and shutdown edge cases
Keep the loaded cutter layout stable across supported window sizes, preserve recovered encoder choices during capability discovery, and reject unsupported video selections without changing the active project.

Honor the Windows system theme, fully localize runtime metrics, invalidate imported System Check state safely, and bound child-process shutdown waits when close events never arrive.

Extend focused and Electron smoke coverage and prepare the v1.0.17 public release metadata.
2026-08-13 11:24:48 +02:00
Sucukdeluxe 2ee10a98dd Fix System Check state across language changes
Windows CI / verify (push) Successful in 3m6s
2026-08-13 06:10:36 +02:00
Sucukdeluxe 35079a0753 Exclude compiled tests from release package
Windows CI / verify (push) Successful in 2m50s
Keep generated test modules and their fixture data out of app.asar, and enforce the packaging exclusion in the public release contract.
2026-08-13 04:47:28 +02:00
Sucukdeluxe c0d45ab268 Polish update and settings workspace UI
Keep download progress inside the updater popover, slow changelog transitions, and improve dark-theme checkbox contrast. Expand diagnostics, prevent cleanup option clipping, improve navigation readability, and cover the affected states in Electron regression tests. Prepare version 1.0.15 release metadata.
2026-08-13 04:41:42 +02:00
Sucukdeluxe f4df47c89f ci: provision Electron before focused smoke tests
Windows CI / verify (push) Successful in 3m23s
Retry Electron binary provisioning before Windows smoke tests and retain bounded retries for package and installer builds. Bump release contracts to 1.0.14.
2026-08-12 22:00:39 +02:00
Sucukdeluxe 17b982016f ci: retry transient Windows installer packaging
Windows CI / verify (push) Successful in 3m48s
Extend the bounded Electron download retry to the installer build, then bump the release contracts to 1.0.13.
2026-08-12 21:55:07 +02:00
Sucukdeluxe 1a1c37720e ci: retry transient Windows packaging downloads
Windows CI / verify (push) Successful in 3m45s
Retry the directory package once when Electron download transport is interrupted, keeping the Windows CI step bounded. Bump the release contracts to 1.0.12.
2026-08-12 21:48:04 +02:00
Sucukdeluxe 275d252f25 test(ci): isolate Electron secure storage coverage
Windows CI / verify (push) Failing after 3m41s
Mock Electron in the Node-only secure-storage unit test so its expected unavailable-path assertion never triggers Electron's binary bootstrap. Bump the patch release contracts to 1.0.11 after the 1.0.10 tag CI failure.
2026-08-12 21:40:39 +02:00
Sucukdeluxe aa28a0b870 fix(release): harden updater status and cutter layout
Windows CI / verify (push) Failing after 3m37s
Ignore malformed update notifications that do not carry a version, preventing unusable release prompts in installed builds.

Keep the loaded cutter workspace free of the source selector and give cutter export selects an explicit non-repeating indicator after workspace styling.

Add regression coverage, bump the patch release to 1.0.10, and update public installation documentation.
2026-08-12 21:30:08 +02:00
Sucukdeluxe 5113089aba fix(managed-tools): wait for checksum handles before promotion
Windows CI / verify (push) Successful in 3m18s
Delay managed-tool installation promotion until checksum read streams have emitted close, preventing intermittent Windows rename failures caused by open file handles.

Add a deterministic end-before-close regression test and prepare the 1.0.9 patch release across package metadata, UI version text, README, changelog, and release contracts.
2026-08-12 15:18:57 +02:00
Sucukdeluxe 2cd8d97a20 fix: stabilize Windows CI on Node 24
Windows CI / verify (push) Failing after 42s
2026-08-12 13:19:51 +02:00
Sucukdeluxe 49033f9ff2 release: publish 1.0.7 Windows shell fixes
Windows CI / verify (push) Failing after 8s
Stabilize Start menu and desktop shortcut migration with persistent versioned icon resources, stale-registration recovery, and explicit Windows shell notifications. Keep development, packaged, and shortcut identities aligned, and add regression coverage for orphaned per-user installs, reduced-motion changelog transitions, and update-popover pointer transit.
2026-08-12 12:55:46 +02:00
Sucukdeluxe 5bc58a0d85 test(installer): wait for Windows cleanup completion
Windows CI / verify (push) Failing after 21s
2026-08-12 03:27:29 +02:00
Sucukdeluxe 0aebc701d8 test(packaging): retry isolated launch cleanup 2026-08-12 03:23:53 +02:00
Sucukdeluxe fe57607790 test(cutter): assert the safe replacement label 2026-08-12 03:19:40 +02:00
Sucukdeluxe 30ce93b4c9 test(release): align workspace fixtures with media contracts 2026-08-12 03:16:13 +02:00
Sucukdeluxe 3ae398cfc8 chore(release): prepare v1.0.6 2026-08-12 03:11:51 +02:00
Sucukdeluxe a472f5dac9 fix(windows): restore taskbar identity and shared downloads 2026-08-12 03:10:23 +02:00
Sucukdeluxe 40e4e630cf chore(release): include download policy sources 2026-08-12 02:44:40 +02:00
Sucukdeluxe 661d7d9858 fix(release): preserve Windows signing defaults 2026-08-12 02:37:39 +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 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 aa53fcf7e8 release: publish Twitch VOD Manager 1.0.5 2026-08-11 21:06:37 +02:00
Sucukdeluxe 74ebcd895c release: publish Twitch VOD Manager 1.0.4
Add smooth VOD bulk-action dock entrance and exit motion, including on Windows systems with reduced animations enabled. Refresh Windows shortcut icons through persistent versioned resources, preserve pinned shortcut compatibility across upgrades, and clean the icon cache on full uninstall. Update the public documentation and release metadata for version 1.0.4.
2026-08-11 01:03:44 +02:00
Sucukdeluxe e601c3f3d5 docs: show xQc in the product overview
Replace the generic README fixture with current public xQc profile and VOD data while keeping the screenshot capture isolated from local application data.
2026-08-10 19:41:36 +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 3f0c075859 fix: harden the Electron 43 release runtime
Upgrade Electron, electron-builder, and electron-updater to patched versions, align the supported Node.js toolchain, and preserve secure file drops through the context-isolated webUtils bridge.

Cover the Electron 43 file-path migration with a real temporary-file drag-and-drop regression test and retain zero-vulnerability lockfile resolution.
2026-08-10 13:01:21 +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 dacd66fe1c feat: redesign the desktop workspace
Add a compact top navigation, contextual sidebars, responsive workspaces, accessible theme cards, and a persistent updater control. Preserve all existing renderer IDs and actions while adding an isolated Electron UI contract across the supported desktop sizes.
2026-08-10 05:20:53 +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