Commit graph

16 commits

Author SHA1 Message Date
spearzificial
3e5de43890 chore(release): v0.2.21
Supersedes the v0.2.20 publish, which failed at the RPM step and was
released with the Windows assets only.
2026-10-21 17:18:11 +05:30
spearzificial
2bd1e7c598 fix(packaging): make the AppImage self-contained and restore the RPM libva requirement
Two defects found by inspecting the published v0.2.19 artifacts.

The AppImage contained the binary and the desktop file and nothing else.
The binary links FFmpeg, PipeWire, ALSA and XCB directly, so the image
only ran on a host that happened to carry the exact FFmpeg build the
binary was linked against, which is the opposite of what an AppImage is
for. The packaging step now bundles the shared library closure that ldd
resolves, points the binary at it with an RPATH of $ORIGIN/../lib, and
prepends it to LD_LIBRARY_PATH in AppRun. The C runtime is deliberately
left on the host, because bundling a different glibc than the rest of
the system expects produces failures that are very hard to trace. The
step fails if fewer than five libraries were collected or if the image
was not produced, so a silently empty image can never ship.

alien drops libva2 when it converts the Debian package to an RPM,
because it has no Debian to RPM name rule for it. libva is loaded at
runtime by the FFmpeg VAAPI device, so the requirement is now added back
explicitly with rpm --addrequires and the build fails if it is missing
from the finished package. Without it an RPM install would leave
hardware encoding unavailable until the user noticed and installed libva
by hand.

Version bumped to 0.2.20 across the manifest, lock file, RPM spec, AUR
PKGBUILD and the guide.
2026-10-21 17:02:00 +05:30
spearzificial
f7f778916f chore(release): v0.2.19
v0.2.18 was already published to Forgejo on 2026-10-11, carrying the
pre-fix binary, so this cycle cuts a new version rather than moving the
published tag.

The version is bumped in Cargo.toml, Cargo.lock, the RPM spec, the AUR
PKGBUILD and the project guide so they stay in step. Cargo.lock matters
on its own: the CI workflow builds with --locked, which fails outright
when the manifest and the lock file disagree on the package version.
2026-10-21 16:51:48 +05:30
spearzificial
0a406ba154 fix(packaging): correct runtime dependencies and drop the retired GTK deps
The Debian package declared libgtk-3-0 and libgtk-layer-shell0, which
belonged to the retired GTK backend, and omitted FFmpeg entirely. The
binary links libavcodec, libavformat, libavutil, libswresample and
libswscale directly, so a clean machine would have installed the package
and then failed to start it. The dependency list is now taken from the
dynamic section of the actual build output: libavcodec60,
libavformat60, libavutil58, libswresample4, libswscale7,
libpipewire-0.3-0, libxcb1, libasound2 and libva2.

XCB needs no extra package. The xcb crate marshals the SHM protocol in
Rust, so only libxcb.so.1 is linked and there is no libxcb-shm.so.0
load at runtime.

The RPM spec still said version 0.1.0 and required gtk3 and
gtk-layer-shell. It now tracks the Cargo.toml version, drops the GTK
packages, and adds the VAAPI, ALSA and XCB requirements it actually
needs.

The AUR PKGBUILD installed target/release/scythe-daemon and
target/release/scythe-ui, which no longer exist as build targets, so
any AUR build would have failed at the install step. It now installs the
single unified binary and points the compatibility names at it.

MSYS2 no longer installs gtk3 for the Windows build.
2026-10-21 16:50:06 +05:30
spearzificial
d01cdcb449 fix(ci): package the unified scythe binary instead of removed targets
The multicall consolidation removed the scythe-daemon and scythe-ui crate
targets, but every packaging path still copied them, so a tag push failed
at the first packaging step and no release could be produced.

- release.yml: tarball, .deb and AppImage ship scythe plus daemon/ui/vrec
  symlinks; AppRun execs scythe; Windows bundle copies scythe.exe only
- gitlab-ci.yml: artifacts publish target/release/scythe; Windows job
  builds --bin scythe
- rpm spec and flatpak manifest install one binary and link the aliases
- NSIS installers target scythe.exe for shortcuts, finish page,
  DisplayIcon and forwarded args, keeping legacy taskkill lines so old
  installs shut down cleanly

Also make the gitlab fmt job advisory: it reported drift across 20 files
and build-linux hard-depended on it, blocking every build. A whole-tree
reformat belongs in its own commit.
2026-10-20 16:31:46 +05:30
861c045a58 fix(windows): suppress console windows with FreeConsole, ShellExecuteW, and CREATE_NO_WINDOW
Some checks are pending
Release & Packaging / Build Linux Packages (.tar.gz, .deb, .rpm, .AppImage) (push) Waiting to run
Release & Packaging / Build Windows Binaries (.exe) (push) Waiting to run
Release & Packaging / Publish GitHub Release (push) Blocked by required conditions
2026-09-08 19:42:34 +05:30
96dcfc1a17 fix(windows): overhaul Windows capture, encoding fallback, overlay translucency, installer DLL locking, and CI packaging
Some checks are pending
Release & Packaging / Build Linux Packages (.tar.gz, .deb, .rpm, .AppImage) (push) Waiting to run
Release & Packaging / Build Windows Binaries (.exe) (push) Waiting to run
Release & Packaging / Publish GitHub Release (push) Blocked by required conditions
2026-09-08 17:26:39 +05:30
c04bf36e05 fix: resolve replay clip saving, ensure 60fps pacing and keyframes, polish audio mixing, and prevent daemon termination
Some checks are pending
Release & Packaging / Build Linux Packages (.tar.gz, .deb, .rpm, .AppImage) (push) Waiting to run
Release & Packaging / Build Windows Binaries (.exe) (push) Waiting to run
Release & Packaging / Publish GitHub Release (push) Blocked by required conditions
2026-09-08 08:23:20 +05:30
5b4797ceff fix(windows): resolve DWM transparency, eliminate white flash, fix capture staging, and terminate locked processes in installer
Some checks are pending
Release & Packaging / Build Linux Packages (.tar.gz, .deb, .rpm, .AppImage) (push) Waiting to run
Release & Packaging / Build Windows Binaries (.exe) (push) Waiting to run
Release & Packaging / Publish GitHub Release (push) Blocked by required conditions
2026-09-06 15:51:14 +05:30
0749bb2e61 Fix Windows overlay transparency, global hotkeys, toast duplication, and file dialogs
Some checks are pending
Release & Packaging / Build Linux Packages (.tar.gz, .deb, .rpm, .AppImage) (push) Waiting to run
Release & Packaging / Build Windows Binaries (.exe) (push) Waiting to run
Release & Packaging / Publish GitHub Release (push) Blocked by required conditions
2026-09-06 14:04:44 +05:30
8ed53faefd rebrand: rename project and components to scythe 2026-09-05 15:21:30 +05:30
98dc90e85c fix(ui): redesign overlay as top dock with 3 transparent cards and unified settings 2026-09-05 11:45:37 +05:30
c6787bd7ee fix(ci, windows): track bundle_deps.py and improve mingw dynamic library resolution 2026-09-04 23:45:07 +05:30
0ecd522da0 feat(windows): bundle ffmpeg runtime dlls and build standalone executable vrec.exe via nsis 2026-09-04 22:50:47 +05:30
3a27b279b2 ci: Remove blueprints from release bundle, fix desktop EOF for AppImage, and set target for Windows bindgen 2026-09-03 20:37:34 +05:30
0d73a17815 feat(windows): Implement Windows DXGI Desktop Duplication capture and packaging definitions (AUR, RPM, Flatpak, GitHub Actions) 2026-09-03 07:45:45 +05:30