About this project

Zinnia is a graphical front end for 7-Zip archive handling, built with Tauri and distributed for Windows, macOS and Linux. The README presents it as a desktop archiver driven through a native GUI rather than the command line, with packaging and installer work aimed at making archive operations reachable from the operating system itself. Platform support stated in the README: macOS 26 or later, with a universal build covering Intel and Apple silicon machines able to run that version; Windows 10 version 2004 (build 19041) or later on x64 or ARM64; and Linux x64 on Ubuntu 24.04+, Debian 13+ or Fedora 43+ (or a compatible distribution with the required WebKitGTK runtime). Public Linux releases ship x64 AppImage, DEB, RPM and sideloaded Flatpak bundles, while ARM64 AppImage/DEB/RPM are published only when explicitly built for a release and Flatpak remains x64. A notable focus is operating system integration. Packaged builds register common archive file types. On Windows, NSIS builds add per-user Explorer verbs for "Open with Zinnia", "Extract with Zinnia" and "Compress with Zinnia" as a classic fallback, including the path through Explorer's "Show more options". Signed Windows NSIS builds additionally register a Windows 11 modern context menu through a sparse identity MSIX plus a zinnia_shell.dll, giving a Zinnia submenu and a top-level Extract entry on archives; once modern registration succeeds the classic verbs are removed to avoid stacking, and they remain the fallback if package registration fails. The README notes Zinnia stays a normal per-user NSIS Win32 installation and that the MSIX is not a Store/AppX app package but only grants package identity so Explorer can load the shell DLL. On Linux, deb, rpm and Flatpak bundles include desktop Open, Extract and Compress actions. On macOS, users can pick Zinnia through Finder's Open With/Get Info default-app flow, and archive launches are routed to a quick extract window. Packaged builds also expose Finder Sync context-menu items and Finder Services for "Extract with Zinnia" and "Compress with Zinnia"; Finder Sync only monitors Desktop, Documents, Downloads, Movies, Music, Pictures and currently mounted volumes, with Finder Services suggested for files elsewhere. Development instructions are conventional for a Tauri project: npm install, npm run tauri:dev, and cargo doc against src-tauri/Cargo.toml. Direct Cargo commands work without a separate preparation step because the Tauri build script refreshes ignored sidecar binaries from tracked assets before the native build runs. Build scripts are named per platform: build:win, build:mac:universal followed by build:mac:zip, build:linux (or build:linux:x64), build:linux:arm64 for native ARM64 environments, and flatpak:bundle. Release signing is available through a GPG script. The README also documents the update and release process in some detail: the updater is configured in src-tauri/tauri.conf.json; CI runs tests and checks on Linux, Windows and macOS but never builds release binaries, publishes releases or consumes release signing secrets. Signed releases are deliberately explicit, with platform-specific release scripts staging updater manifests, artifacts, checksum files and detached signatures in a draft GitHub release for the same version. Beta continuation scripts auto-sync a VM's beta manifests onto the latest stable release feed, including while a tag is still a draft, because beta clients poll the live feed; a separate sync script exists for recovery. Verification steps are provided for drafts and published releases, checking the expected target matrix, version and updater artifact signatures and checksums. Guidance is included on handling GitHub's temporary untagged draft identifiers, on resuming an existing release preparation session bound to a specific commit, lockfiles, platform, architecture and toolchain, and on version propagation scripts that copy the package version into native manifests, changelog download URLs and AppStream metadata. The README closes by warning against pushing a release tag before every platform artifact is present and its updater signature and checksum verified. Additional project documentation is referenced through ARCHITECTURE.md, CONTRIBUTING.md and SECURITY.md, along with Windows shell and QA context-menu notes in the repository.